]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
15 months agoschwabrak -- простой issue tracker
Sergey Matveev [Thu, 11 Jan 2024 12:26:56 +0000 (15:26 +0300)]
schwabrak -- простой issue tracker

http://www.git.stargrave.org/?p=schwabrak.git;a=blob;f=README
https://github.com/driusan/PoormanIssueTracker
Чем заняться после новогодних каникул? Работой. Но для этого надо
завести задачу. А это значит идти в броузер и пользоваться чем-то,
что не будет доступно в offline, что нельзя просто так склонировать
локально. Само собой я всю профессиональную жизнь работал за разными
issue tracker-ами: Trac (моим любимым был, администрировал его),
Redmine, да вот собственно и всё. Где-то был проприетарный закрытый не
работающий без JavaScript YouTrack -- но от него, благо, удалось
держаться подальше. ivi, слышал, переходил на Jira, и там коллега писал
TUI инструменты к нему.

А есть ли чего попроще? Ну чтобы пять минут потратить и иметь простую
штуку, которую хотя бы клонировать локально бы было легко. Trac вроде бы
мог с SQLite3 БД жить например, но... он на Python, что сейчас уже
неприемлемо для меня выглядит. Redmine довольно здоровое полноценный
такой Ruby+СУБД сервер. Против Ruby я меньше против чего имею, хотя я
очень давно с ним и не сталкивался. Но точно помню что поднимать Redmine
это не два клика.

Fossil попробовал -- очень понравилась штука, особенно после того, как я
с Tcl всё же уже поимел знакомства положительного. Один бинарь, один
файл SQLite3 и в нём и issue/bug tracker полностью имеется, работающий
без JavaScript. Но Tcl запросто будет других отталкивать так же, как
меня Python.

А можно ли ещё как попроще? Что такое issue/bug tracker? По сути же это
просто какие-то текстовые задачки, к которым нехитрая метаинформация
прикрепляется, где ещё можно зачастую добавлять комментарии с файлами.
Не, ещё 100500 других фич можно понапридумывать конечно же, ибо даже в
Fossil имеется ещё и кроме встроенной Wiki -- чат, что уж точно
совершенное излишество опциональное.

Одной из крайностей issue tracker-а является просто текстовый файл, куда
записываются все задачи и их состояния. Его можно/нужно коммитить в DVCS
и вот появляется возможность простого удобного клонирования и
возможности обновления в offline-е асинхронно. Но автоматизировать
какие-либо действия с ним уже проблематично. Ибо уже нужно делать его
машиночитаемым, превращать в более строгий формат. Как-то на работе
начальник пробовал использовать Org-mode закоммиченный файл, но только
он, с Emacs-ом, мог с ним работать как-то более сложно, чем просто
смотреть и редактировать.

Можно вообще было бы коммитить SQL-dump базы данных со всеми этими
задачами. SQL же в общем-то никто не запрещает использовать без
дополнительного инструментария. SELECT-ить задачи по статусу, датам и
всё такое прочее. Но выглядит не то чтобы очень уж удобно.

А что если один файл с кучей pure-plain-text-only задач разбить на
поддиректории (по директории на задачу?), внутри которых будут текстовые
файлы? По сути у каждой задачи, есть как минимум два поля на практике:
описание и итог/решение/чем закончилась задача. Плюс метаинформация в
виде enumeration значений: по сути просто прикреплённые чётко заданные
метки/тэги. Туда же можно приложить и любые дополнительные файлы, хоть
бинарные. А если это всё положить в Git, то автоматом появляется история
всех изменений связанных с задачей, просто делая "git log -p dir". Там
же можно точно так же хранить комментарии, где вместе с коммитом
автоматом будет добавляться метаинформация кто и когда его добавил.

В suckless рассылке когда-то было обсуждение suckless трэкеров, но кроме
просто текстового файла для очень простых случаев (у меня тоже в каждом
личном проекте по TODO файлу лежит, как правило не добавленному в
репозиторий), они так ни до чего и не дошли. Многим нравилась идея
взаимодействия с bug трэкером через почту, где номер баги в теме письма
идентифицирует задачу, а дальше все сообщения для баги просто хранятся в
одном mbox/maildir файле. Так устроена работа в Debian. mbox-ы можно
скачать и локально, просто натравив MUA, смотреть всё общение в рамках
задачи. Но для этого нужен вменяемый MUA, плюс это не то чтобы легко
автоматизировать можно (работать из командной строки с MIME сообщениями
то ещё удовольствие) и оно всё же именно про bug tracking, когда
анонимные люди могут взаимодействовать, а не чётко заданные разработчики
у которых есть взаимосвязи между задачами, сроки, всякие там возможно
строящиеся диаграммы Ганта и тому подобное. Всё же bug tracker и issue
tracker ощутимо отличаются. И для bug tracker я бы тоже наверное смотрел
в сторону почтовых сообщений и каких-то hook-ов на стороне принимающего
сервера. Возможно debbugs вполне себе не так сложен для администрирования.
Но это всё для bug tracking, а для issue tracking излишне.

Git выглядит как сразу готовая распределённая СУБД где "git log -p"
покажет всю историю изменений связанную с задачей. После всего этого я
нашёл PoormanIssueTracker предложение, даже с презентацией онного на
какой-то конференции. Где все идеи полностью схожи и с тем до чего я
дошёл.

Ну а для упрощения работы с этой простой иерархией задач написал
несколько zsh-скриптов (почему zsh? потому что в нём проще работать не
заботясь об экранировании и подобных штуках, хотелось по быстрому
написать что-то работающее) в schwabrak репозитории. Попытаюсь
поработать в таком духе. Никаких там генераторов отчётов, сводных таблиц
или чего-то подобного -- когда понадобятся, то за пару часов можно всё
что угодно будет написать. Если же zsh нет, то всё настолько тривиально,
что можно и просто руками возиться с файлами. Ведь всё это по сути
просто договорённость об именовании нескольких файлов и директорий,
ничего более. Но зато с этим куда проще проводить автоматизацию и вообще
машинно обрабатывать всё. Всё описано в README.

В отличии от PoormanIssueTracker у меня есть "поддержка" иерархических
проектов, а не просто одного большого списка задач. Конечно, название
проекта может просто входить в часть названия. У меня это часть
поддиректории. Задачи могут зависеть от других. Всякие статусы,
приоритеты, assignment-ы и подобное -- считаю что просто может являться
частью enumeration-ов, которые можно сгруппировать по части названия
("status:open", "status:done", "severity:high", "assigned:stargrave"
(всё равно список людей на которые можно повесить задачу -- относительно
небольшое множество), и т.д.). Комментарии добавляются коммитом меняющим
"comment" файл, поэтому их все можно проглядеть просто сделав "git log"
на него, увидев и даты, и авторов, и добавленные/изменённые связанные
файлы. В ivi например всё рецензирование кода делалось через комментарии
к задаче, никаких отдельных Gerrit или Phabricator. Пробовали, но не
понравилось. С Gerrit я дело имел годами, и так и остался при своём
мнении что не нужен он, комментарии с рецензированием кода более чем
достаточны. Так же как и Gitlab. Просто надо иметь утилиту для удобного
комментирования кода (как я когда-то написал CodeComm и GerrVim). Так
что и тема с рецензированием/review тоже закрывается.

Откуда такое имя? Искал как будет по немецки bug, жук, таракан
(Schwabe). Добавлял "trac", "trak". В итоге и вышел этот "швабрак",
где ещё и "швабра" и "брак".

15 months agoУрок про кирпичики криптографии в Дмитрове
Sergey Matveev [Wed, 10 Jan 2024 14:23:39 +0000 (17:23 +0300)]
Урок про кирпичики криптографии в Дмитрове

В прошлом посте упомянул, что были люди обзывающие Base64 шифрованием. А
было это ещё в 2013-2014-ом, где я с одним знакомым провели факультативные
уроки по теме криптографии десятитиклассникам в одной школе Дмитрова.
Знакомый больше рассказывал про некоторый инструментарий криптографический,
упоминал про засветившихся тогда Сноуденов и Ассанжов. А я про кирпичики
криптографии рассказывал, написал на Python программку визуализирующую
колоду игральных карт на каждой итерации алгоритма Пасьянс
(http://www.cypherpunks.ru/Solitaire.html), чтобы было видно как всё
перемешивается несложным образом даже без ЭВМ. Показывали как выглядит
письмо в Gmail web-интерфейсе зашифрованное при помощи GnuPG, где
как-раз сплошной Base64 и виден.

Для учеников это всё было во внеурочное время и на добровольной основе.
Абсолютно никто из девочек не оставался -- только пацаны были
заинтересованы. И как вот относится к женщинам на равных после этого,
если оно и сами вовсю демонстрируют что совершенно не на равных смотрят
на мир и имеют другие интересы?

И очень запомнилось то, что уже тогда (10+ лет назад!) из 20+ человек
только ровно у одного вообще был email адрес как таковой. Смартфонами
люди уже вовсю пользовались, но ни у кого из учеников не было почтового
ящика (хотя на следующий год им уже в институт отправляться). Всё
общение только через ВКонтакте. Только у этого одного парня с email-ом
был ещё и Facebook. Этот факт был удивителен не только мне.

15 months agoMD5 до сих пор используется у юристов
Sergey Matveev [Wed, 10 Jan 2024 14:03:04 +0000 (17:03 +0300)]
MD5 до сих пор используется у юристов

https://habr.com/ru/companies/ruvds/articles/785444/
https://web.archive.org/web/20081208024210/https://www.forensicmag.com/articles.asp?pid=238
Да что там юристы... даже на работе иногда от кого-нибудь можно в
разговоре услышать "сравни там например md5". Если когда-то, когда
MD5 уже был поломан, но ещё не было BLAKE2/BLAKE3, то его ещё всё
равно применяли из-за скорости, то сейчас то уж давным давно есть
куда более быстрые и безопасные криптографические хэши. Почему до
сих пор в головах людей всё ещё остаётся сам факт памяти об MD5?
Ни в Git, ни в BitTorrent его нет. Просто упоминаний о нём сложно
найти в современном ПО, а в головах людей всё ещё имеется.

Но в статье, а точнее у этих юристов, я совершенно не понимаю фразы:
    да, MD5 поломан в случае шифрования
Какого ещё шифрования? MD5 вообще никоим образом к шифрованию не
относится. В статье Льюиса аналогичный бред из диалога:
    There are multiple uses for hash algorithms. One is cryptography
    (encryption), another is identification, and another is
    authentication.
Я думал что юристы это люди очень придирчивые к терминам и чёткости их
применения. А тут непонятным образом мешаются и authentication и
encryption и cryptography. Вообще не могу понять что у них там в головах
о хэшах. Пугает что по сути они и не используют криптографические
хэш-функции.

Помню что на допросе в ОБЭП (c59c0cb1a2c232978e75e2e81c519dd975e8f6ea) я
употребил "шифрование" и меня сразу спросили что я имею в виду под этим.
"Обеспечение конфиденциальности передаваемых данных" -- "ok, теперь
понятно". Видимо кардинально разное подразумевают под "шифрованием" люди.
Кто прячется по подвалам -- тоже шифруется. И Base64-кодирование обзывали
шифрованием.

15 months agoПрошедшие каникулы
Sergey Matveev [Tue, 9 Jan 2024 05:20:33 +0000 (08:20 +0300)]
Прошедшие каникулы

За полторы недели новогодних праздников я в Vim не открыл не только ни
одного файла с исходным кодом, но даже ни одного конфигурационного.
Только заметки, .texi домашней страницы, .rec с URL закладками и
множество почтовых сообщений. О работе вообще не думал. Давно я так не
отвлекался на такое время. Концерты, встречи с друзьями и родственниками,
настольные и компьютерные игры, книги и музыка. Вчера даже фильм умудрился
посмотреть: расширенную версию "Омерзительной восьмёрки", где несколько
сцен добавлено.

15 months agoПрочитал журнал Ornament о Квентине Тарантино
Sergey Matveev [Mon, 8 Jan 2024 19:16:27 +0000 (22:16 +0300)]
Прочитал журнал Ornament о Квентине Тарантино

Подарили такой movie mag на Новый Год. Масса историй и любопытных фактах
как о самом Тарантино, так и, конечно же, о всех его фильмах. Крайне
любопытно почитать. Я то ведь точно его поклонником являюсь, хоть и не
каждого фильма.

15 months agoРождество с настоящим black metal
Sergey Matveev [Mon, 8 Jan 2024 18:57:18 +0000 (21:57 +0300)]
Рождество с настоящим black metal

Вчера же было рождество. Как его отметить? Ну конечно же концертом black
metal, язычество там, наверное анти-христианство, сатанизм, чёрт его знает.
Клуб Peak Sound находится в подвале. Похоже, не то чтобы отапливаемом,
но более тёплом чем улица. Влажность от дыхания десятков людей давала о
себе знать: на ледяных стенах и потолке быстро конденсировалась и
регулярно капала. Забавно.

Уйма black-а в последнее время на концертах -- к настоящему такому
агрессивному трушному быстрому отношения не имеет. Тот же Хрен
(5311dda3980638549ee6d7501e140d8dcd64fada) или Изморозь. А тут
нормальные все разукрашенные злобные парни, всё как надо.

Начинали Nazgul из Дмитрова. Ничего так, понравилось. Продолжил
Neargoth, тоже был хорош. Волчьи Трупы из Смоленска уже значительно
больше понравились -- клёво пилили на гитаре.

А главные, ради кого все и собрались, доселе мне неизвестные, Vedmak...
мощнейший крутейший убойнейший black из Ижевска! После такого концерта,
где в полуметре от тебя басист, где всё тесно, конденсат от нашего
дыхания капает, мощный отличный звук, пара десятков ценителей добротной
музыки -- понимаешь что это стоит десятков каких-нибудь там heavy metal
Ёлок (ed379bf5da6e95028cf1ab5c3c8324edff7cc95a) в огромных помещениях. У
Ведьмака и свои песни атасны, плюс исполнили каверы на Satyricon,
Immortal и Slayer (хоть он и вообще не в тему), даже с такими же
гитарными проигрышами. Вокалист мне люто понравился, отличный голос!
Причём, как по мне, так он больше подходит для музыки Immortal. Одну
песню на своём родном удмуртском языке исполнили. Крутые у нас всё же
группы есть, настоящий грозный трушный black!

Подобные концерты -- самое пресамое моё любимое времяпрепровождение
(если не встречи с друзьями и родными, конечно же). Где хорошо как никогда!

Ну и конечно же десяток CD-дисков прикупил.

15 months agoСходили в театр на "Счастливый день"
Sergey Matveev [Sun, 7 Jan 2024 10:21:58 +0000 (13:21 +0300)]
Сходили в театр на "Счастливый день"

https://newteatr.ru/
https://newteatr.ru/truppa/artists/kalinichev-mikhail
С родителями сходил на сабжевый спектакль, который даже без антракта.
Лёгкая такая комедия, где приезжает ревизия на не самую благополучную
провинциальную почту.

Мы уже 20+ лет ходим в "Новый драматический театр", ибо и нам удобно до
него добираться (из Королёва едешь по Ярославскому шоссе и сразу после
МКАДа он уже будет по пути), и билеты там частенько даже дешевле 1k₽, и
репертуар разнообразен и интересен. Плюс он небольшой -- если сел в
самом конце зала, то сцена даже нам с мамой, очкарикам, хорошо видна.
Когда люди на работе говорят что в театры невозможно ходить из-за
дороговизны, то постоянно рекламирую сабжевый театр, коих наверное и не
один по Москве разбросано. Как с концертами: сотни небольших и дешёвых
мест, где удовольствия получишь не меньше (а на концертах и зачастую
больше) чем на здоровых дорогих стадионах и Больших Театрах.

Отдельно нам всем нравится ещё и, считай, главный актёр сабжевого театра
Михаил Калиничев. Самый запоминающийся спектакль в моей жизни был "12
разгневанных мужчин", где Калиничев был в главной роли. Как же круто он
играл! Ну и тогда ещё было первое знакомство с "12 мужчин"-ами, по
которым и уйму фильмов же ещё сняли. И ведь это было 20+ лет назад. То
есть тогда этот актёр был ещё 20-30 летним пацаном, а сейчас уже дядька
здоровый, на которого мы вот уже не одно десятилетие ходим.

15 months agoПеребои с электричеством в СВАО Москвы
Sergey Matveev [Fri, 5 Jan 2024 16:40:34 +0000 (19:40 +0300)]
Перебои с электричеством в СВАО Москвы

https://lenta.ru/news/2024/01/05/energosnabzhenie-domov-na-severo-vostoke-moskvy-polnostyu-vosstanovili/
Как-раз в это же время моя VPS для отправки почты перестала быть
доступной. То бишь, их ДЦ где-то там и располагается. Только в обед
всё вернулось в строй.

15 months agoПрошёл Unreal
Sergey Matveev [Fri, 5 Jan 2024 15:43:51 +0000 (18:43 +0300)]
Прошёл Unreal

https://en.wikipedia.org/wiki/Unreal_(1998_video_game)
А то про неё уйму людей говорят и сравнивают с Quake 2. Многие считают
её лучше чем Quake. А я ведь так и не играл полноценно в неё ни разу.
Есть время исправить сие!

Хорошая игра, интересные уровни, сбалансированное вооружение. Отличная
графика, впечатляющие колоссальнейшие пространства. Я надеялся что она
меня втянет и я её полюблю. Но нет... уж извините, но для меня Quake 2
(с которым часто и сравнивают их) всё же на голову выше. В нём меньше
мест где можно запутаться. Мне интереснее его уровни. Интереснее монстры
в нём. Он конечно попримитивнее -- никаких там дружелюбных монстров нет,
но для меня он куда более захватывающая игра.

15 months agoПобывал в караоке
Sergey Matveev [Wed, 3 Jan 2024 22:45:27 +0000 (01:45 +0300)]
Побывал в караоке

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

Была одна песенка от Lindemann, а вот кучу других, которые, по моему,
можно было бы вполне в караоке попеть -- просто нет в принципе, даже
просто в YouTube не выдавалось вообще ничего на хитовейший Praise Abort
и почти всех песенок с первого их альбома (Ladyboy, Cunt, Golden Shower,
и т.д.). Цензура, видимо, или делёж авторских прав и подобного.

Ну и конечно же я нашёл багу, возможно серьёзную. Но текст караоке для
"Links 2-3-4" упорно считал что они поют "links zwei, drei, vier", хотя
там отчётливо с 2001-го года слышно что там не "zwei", а "zwo". Ошибка в
тексте не так ужасна, даже пофиг на отсутствие умляутов, но вот оценка
баллов происходит же просто анализом перепада в голосе. И "цвай" явно
больше "перепадов" содержит из-за "ай", по сравнению с "цво". И если
петь правильно, как в оригинале, то это может не совпасть с ожиданиями
караоке и обломать с дополнительными очками.

15 months agoПоиграл в Таверну "Красный дракон"
Sergey Matveev [Wed, 3 Jan 2024 22:41:40 +0000 (01:41 +0300)]
Поиграл в Таверну "Красный дракон"

https://hobbygames.ru/taverna-krasnij-drakon-category
Подарили мне на день рождения сабжевую настольную игру. Вот наконец-то
нашлись люди и время чтобы поиграть в неё. С друзьями в один день, с
родителями прям перед новогодним обращением Путина сыграли. Очень
понравилась. И интересна, и рандома много, и порог вхождения очень
небольшой. У меня несколько коробок с ней, но пока играли просто в один
набор, без использования сторонних колод, без дополнительных механик,
что ещё должно интереснее сделать игру.

15 months agoСходил с папой на ёлку
Sergey Matveev [Mon, 1 Jan 2024 23:26:20 +0000 (02:26 +0300)]
Сходил с папой на ёлку

В детстве меня водили на новогоднюю ёлку. Сейчас же идём на неё сами.
На главную metal ёлку страны, аж 18-ую по счёту. Как же ещё лучше можно
провести 1-ое января?

Были: Mavr Band (очевидно, где на гитаре Сергей Маврин), Чёрный Обелиск,
Чёрный Кофе, Catharsis и Мастер. Я был не Чёрном Кофе, но с остальными
не пересекался. В общем, плюс-минус везде heavy metal.

Мощнее всех жгли Catharsis, выделяющиеся тем, что куда моложе всех
остальных групп. Много взаимодействовали с залом. Под них народ начал
и волоснёй вертеть.

Мне пожалуй, как и папе, понравились больше Чёрный Обелиск. Хотя эмоций
от Catharsis было больше. Но в целом весь подобный метал -- совершенно
не моё конечно. Но было здорово, громко, много народу, много позитива,
стоило того!

И прикупил 8 дисков, некоторые из которых двойные.

15 months agoКачество Firefox для Windows пользователей
Sergey Matveev [Mon, 1 Jan 2024 08:19:47 +0000 (11:19 +0300)]
Качество Firefox для Windows пользователей

https://habr.com/ru/news/784306/
Был тут у родителей. На их компьютере Windows 7. А а на ней Firefox
когда-то просто с web-сайта установленный. Он работал, но прямо при мне
в один из перезапусков написал что обновляется. После этого стал
выдавать ошибку что, мол, не может запуститься из-за несовпадения
минимальных версий. Короче, ту версию Windows он уже не поддерживает.

Так вот какого хера то ты обновлялся тогда, если ты вообще откажешься
работать впоследствии? Проверка на версию ОС у тебя есть, но при
обновлении её сложно было добавить? Или же это классический ублюдский
потребительский подход когда "или не работает, или обновляй свой
ПК/ОС/whatever"?

Зашёл через Internet Explorer на их сайт для поиска архива со старыми
версиями. Или не нашёл, клацая по ссылкам на их сайте, или нашёл, но мне
IE что-то говорил про ошибки TLS какие-то и из-за этого по некоторым
ссылкам перейти не мог. В общем, штатно обычный пользователь уже ничего
не может сделать. Для меня то Firefox мёртв уже давным давным давно
из-за абсолютно свинского отношения к пользователям, к безопасности, к
приватности, вообще просто говно это стало лютое, но тут в очередной раз
ещё показал своё отвратное наплевательское качество.

16 months agoВмногером
Sergey Matveev [Sat, 30 Dec 2023 19:51:04 +0000 (22:51 +0300)]
Вмногером

https://tat-ti.livejournal.com/1247751.html
Увидел тут в блоге слово "вмногером" (по аналогии с "вдвоём", "втроём").
Как же оно мне понравилось, надо запомнить!

16 months agoУстройство машин для пинбола
Sergey Matveev [Fri, 29 Dec 2023 18:11:58 +0000 (21:11 +0300)]
Устройство машин для пинбола

https://www.youtube.com/watch?v=ue-1JoJQaEg
https://www.youtube.com/watch?v=E3p_Cv32tEo
Впечатляет насколько много механик реализовано в этих машинах
чисто на аналоговых электромеханических переключателях. То что
на ЭВМ делается очередным if/then/else, то тут требует добавления
целых дополнительных цепей. Интересно, сколько уходит человекочасов
на разработку подобного?

16 months agoПознакомился с xxHash, XXH3
Sergey Matveev [Thu, 28 Dec 2023 19:13:52 +0000 (22:13 +0300)]
Познакомился с xxHash, XXH3

https://en.wikipedia.org/wiki/Cyclic_redundancy_check
https://en.wikipedia.org/wiki/List_of_checksum_algorithms
https://fastcompression.blogspot.com/2019/03/presenting-xxh3.html
https://fastcompression.blogspot.com/2019/01/opaque-types-and-static-allocation.html
https://fastcompression.blogspot.com/2019/01/the-type-system_19.html
Понадобилась тут быстрая, простая, приемлемая для (относительно) не
быстрых процессоров, функция проверки целостности данных.
Криптографические хэши и медленные и избыточные для этой задачи. CRC32 в
принципе мог бы быть достаточен. Но он, строго говоря, не является
контрольной суммой, судя по Wikipedia, ибо например перестановка местами
блоков не сыграет роли. Fletcher, который по умолчанию используется в
ZFS, жутко быстрый, является контрольной суммой, но в крайних случаях
(когда сплошные нули или единицы) ведёт себя плохо.

Я помнил что Zstandard использует какой-то быстрый хэш, про который я
оказывается в этом году вспоминал: bd11d713558b26f0c5da3f61b67a252ac6b13698.
Автор LZ4 (а также Zstandard) написал его, ибо был не удовлетворён тем,
что бутылочным горлышком при сжатии данных может оказаться именно хэш,
контрольная сумма. xxHash быстрее CRC32 (без аппаратного ускорения). А
позже он сделал XXH3 -- ещё более быстрый, более надёжный вариант с
512-бит состоянием, из которого можно 64 или 128 бит хэш получить. И
XXH3, в отличии от xxHash-64, хорошо работает и на 32-бит системах. Плюс
проходит все тесты SMHasher как хэш-функция.

Посмотрел на его исходный код. Один из лучших Си кодов которые я только
видел. Не то чтобы я тут большой спец и имею опыт, но по сравнению с
OpenSSL, являющимся просто дерьмодемоном каким-то, этот верх идеала. А
также копался в GNU GMP, GnuTLS -- крайне не нравилось что там очень
упарываются по define-ам, и чёрт поймёшь что конкретно за код будет
компилироваться.

В xxHash автор упарывается по выжиманию производительности и дружбой с
компиляторами. Может показаться что там много define-ами обмазано, но
нет -- они по сути что-то типа как вместо autoconf используются для
определения что у нас за компилятор и какие специфичные для него можно
передать атрибуты и подсказки. А если слишком старый компилятор, то
просто опускать какие-нибудь "static inline". Это всё только в начале,
дальше не мешает. В некоторых циклах даёт подсказки компиляторам, явно
описывая что вот тут GNU GCC себя плохо ведёт, а Clang рвёт его как
Тузик грелку по производительности, и всё в таком духе. Аккуратная
работа с преобразованием типов cast/alias данных, мой Clang -Weverything
ни на что не ругается, что не часто встретишь.

Много заморачивается с выравниванием данных корректным и strict
aliasing-ом. В блоге про это у него несколько статей есть. И да, он
реально делается struct с единственным unsigned char * полем для
хранения сериализованного представления хэша (то что он называет shell
type-ом). Но это всё не мешает. Дробит код на много маленьких аккуратных
static inline функций даже в одну строчку, очень здорово увеличивая
читабельность. В коде можно define-ами выбирать: поменьше размер
бинарника (меньше оптимизаций), или побольше скорость (больше
оптимизаций, больше кода).

И всё это дружелюбно к тому, чтобы встроить xxHash/XXH3 в программу
просто делая include <xxhash.h>, и делать inline. Очень понравился
проект!

16 months agoOutlook/Hotmail более не блокируют почту у парня
Sergey Matveev [Thu, 28 Dec 2023 09:17:18 +0000 (12:17 +0300)]
Outlook/Hotmail более не блокируют почту у парня

https://taoshu.in/net/outlook-delist.html
При этом он с ними связывался, но не получал ответа. А дальше просто в
очередной попытке увидел что почта начала ходить. Ну раз не было ответа,
то это всё равно свинское отношение. Плюс не факт что его разблокировали
из-за обращений, а не просто из-за случайных решений роботов.

Моя почта как-то не проходила, потом стала проходить, потом снова не
проходила. И у меня ничего не менялось при этом. Я связывался с Outlook
админами, но мне тоже ничего не отвечали.

Был единственный человек который мне писал с Hotmail-а. С одного
запасного ящика я ему писал что, чувак, в любой момент снова почту
перестанут принимать без объяснения причин. Но он упорно слал всё с
hotmail, общение вынуждено было закончится, ибо отправлять ответ,
совершенно не зная дойдёт ли до него или нет (а время то на ответ я же
уже потратил) -- плохой вариант.

Но автор статьи верно заметил, что email это единственная успешная
(используемая широко на практике) федеративная система общения. Каждый
может поднять свой почтовый сервер, конечно же понимая что сейчас
Microsoft, Google, Yandex (из тех что мне известны на практике) активно
вредят всему этому и в лучшем случае в спам засунут все ваши сообщения,
либо молча (с успешным кодом возврата) не доставят ничего. XMPP на
практике (089bf4d15b98749dc24ee1bb149c53e080e86837) уже упирается в
любовь людей форсировать TLS и при этом требовать общих якорей доверия.

16 months agoБезграмотные мобильные интерфейсы
Sergey Matveev [Thu, 28 Dec 2023 08:08:29 +0000 (11:08 +0300)]
Безграмотные мобильные интерфейсы

https://habr.com/ru/articles/783640/
Смартфон я в руки пару раз в год на пару минут у родителей беру. И тоже
каждый раз думаю: у людей сейчас конфигурация и геометрия конечностей
изменилась? Просто из уважения к себе я просто не могу, даже если бы
было полностью свободное ПО без слежки, пытаться использовать всё это
говнище неюзабельное, насмешку над людьми созданную садистами.

16 months agoМаленький бурундочок и Herr Mannelig
Sergey Matveev [Wed, 27 Dec 2023 22:04:10 +0000 (01:04 +0300)]
Маленький бурундочок и Herr Mannelig

https://www.youtube.com/watch?v=e9ow6Ac9kQ0
https://www.youtube.com/watch?v=lr5gJlKnUdU
На концерте (76d5bc396b9e22362dcf762641f88a59c8112500) Green Crow две
песенки чего-то тут вспомнились. Одна это кавер на Herr Mannelig-а
(1941cd81d45f0193f3c37562cd8bbc980c029849), а другая про маленького
бурундучка. На концерте очень здоровский был колоссальный диссонанс
между грубым гроулящим голосом вокалиста и детским голосочком вокалистки.
Забавная, конечно, группа.

16 months agoЛенты с mbuffer-ом
Sergey Matveev [Wed, 27 Dec 2023 21:14:09 +0000 (00:14 +0300)]
Ленты с mbuffer-ом

В новом своём сервере я ещё ни разу не работал с ленточным накопителем.
SAS HBA то стоит, часть дисков через него работает, но сам стример не
пробовал. Всё тип-топ, без проблем, но так как в сервере 128GB RAM, то
решил попробовать писать с большой буферизацией в память. Прежде я
частенько отдельно промежуточный tar архив неспешно создавал, чтобы,
линейно его читая, писать на ленты. Ибо если небольших файлов/директорий
много, то из-за диски могли не успевать подавать это всё с достаточной
скоростью. А сейчас да хоть сотню гигабайт можно буферизовать неспешно и
только после этого начинать запись. Например Total DOS Collection
(4d19c66cf2a24f6d1875bb90b2caa70577141875) требует этого (либо
промежуточного архива). Есть сборники которые я на лету пропускаю через
Zstandard сжатие и с десятками гигабайт mbuffer-ом опустошений почти не
случается.

16 months agoДевушкин сон
Sergey Matveev [Wed, 27 Dec 2023 20:40:29 +0000 (23:40 +0300)]
Девушкин сон

https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%B2%D1%83%D1%88%D0%BA%D0%B8%D0%BD_%D1%81%D0%BE%D0%BD
https://www.youtube.com/watch?v=hRs-zglxTH0
https://www.youtube.com/watch?v=dXWT4DBcde0
https://www.youtube.com/watch?v=TldrHw3XdZ8
На folk-концерте (76d5bc396b9e22362dcf762641f88a59c8112500) я приобрёл
несколько black metal дисков (ну а что ж ещё на фольке то приобретать?)
(d3d5d7b99e2d76fcedd39cbd643d8b80d7cff2f55311dda3980638549ee6d7501e140d8dcd64fada)
А раз на folk приобретаешь black, то не можешь не спросить продавца про
Moon Far Away (о чём же ещё спрашивать, когда берёшь black metal?) и
взять и пару дисков конкретной попсы ("этереал, дрим-поп, трип-хоп"). Но
продавец -- молодец: я реально альбом "Инопланетянка" прям с
удовольствием от и до прослушал. А затем и "Быстрые сны", где музыка
чуть помрачнее уже будет. Этот Девушкин сон знает как своим голосом и
манерой пения усладить мои центры удовольствия!

В общем то и прежде попсовые исполнительницы типа
Madonna (04bb9ca77c13e423390b3f4f08446395850af0af),
Lenka (4f6820ae046dfddb71e1d26ca524efe90390ca2c) или
Dolores O'Riordan (c12ebe6f969ec3234915ef95a2becfe85697e64d, хотя это
уже рок) мне нравились. Но я ведь ставил в хороших наушниках и других
попсовых исполнительниц, типа той же вызывающей землетрясения
(8411bbc7a1068a87f826e70648ae3c8d92692460) Тейлор Свифт, ставшей
человеком (в США) года недавно, или Адель, или Бейонсе или нашей
Гагариной и других звёзд. Чтобы понять: может мне просто женский вокал
нравится, чисто как сексуальное влечение? А фиг! Вот ничего не вызывают
все эти исполнительницы у меня, ничем не трогают, ничего не задевают.
Многие то наоборот подбешивают.

Мельница мне очень нравится (хотя это уже не про попсу) -- а почти всем
окружающим меня она прямо противоположные чувства вызывает. Nina Hagen
(e03ae603e9a41b89cb0357249191dae1344cd95f) крута своей лютой панковской
энергетикой и владением голоса. Но это уже не про попсу. Да даже среди
типа оперного пения вот от чего то тащишься, типа Therion-овского Son of
the Sun (f9d5ae66c2a5300c83811b746aaab5c48b2c908e), но больше у них нет
ни одного трэка с таким вокалом! Ну а волшебства как у вокалистки Moon
Far Away вообще нигде больше не встречал.

16 months agoГод прошедший
Sergey Matveev [Wed, 27 Dec 2023 20:21:04 +0000 (23:21 +0300)]
Год прошедший

Традиционно резюмирую чего у меня в этом году происходило. Не густо.

* Дома обновил изживший своё сервер. Между компьютерами сделал 10GbE
  сеть. С бесплатных IPv6 туннельных брокеров переехал на /48 VPS-ку
* Получше стал разбираться в firewall, маршрутизации, AQM, играясь со
  всеми этим на протяжении всего года. Заменил IPsec WireGuard-ом везде
* В начале годе немного поигрался с Tcl, но дальше дело затихло. Хотя в
  целом желание его поосваивать удовлетворилось
* Начал вовсю использовать age и ssh-keygen где прежде был GnuPG.
  Когда-то я не то чтобы одобрительно относился к этому, но поменял
  отношение, ещё до разлада между OpenPGP и LibrePGP. Простота превыше!
* Не мало стал слушать фольклорной музыки, как нашей, так и скандинавской
* В личных проектах ничего кроме поддержки толком не делал. NNCP совсем
  забросил -- как-то прям вот нет желания продолжать с ним возиться,
  впадлу, лень, не интересно. Мои задачи выполняет и мне хватает,
  работает -- не трожь
* На работе по объёму кода больше всего писал на Си, причём всё более и
  более сложные программки под Unix, что радует. Затем Go, что не может
  не радовать. И только в первой половине года немного на Python
  пришлось пописать -- радует что к нему почти не притрагиваюсь уже, ибо
  воротит от этого языка, его экосистемы и всего что с ним происходит.
  Даже в отпуске не побывал
* Всё больше участвовал в ряде проектов как научный консультант. Даже на
  LaTeX+TikZ документы уже начал писать. С одной стороны удручает, что
  обращаются ко мне не как к программисту -- не показатель ли это
  увядания моего профессионализма? С другой -- все эти документы
  делались явно не для галочки и оно задействовало весь багаж опыта и
  знаний
* В прошлом году непродолжительные отношения с одной девушкой
  закончились, но благо расстались без ругани. Любовные шуры-муры у меня
  впервые за 10+ лет случились. Но за этот год я понял что точно не хочу
  в них ввязываться вновь. Все эти непонимания друг друга, раздражения,
  конфликты на пустом месте, разговоры на разных языках, различающаяся
  интерпретация слов и действий... Безусловно, были приятные моменты, но
  отсутствие чувства лёгкости перевешивает. Да и прям просто не хочется
  что-либо кардинально менять в своей жизни, ибо я на проторённой
  дорожке детерминированности, предсказуемости и стабильности в жизни
  (ну пока не призовут во время очередной мобилизации). Женщины выводят
  из равновесия и порождают вопросы на которые не получишь ответа

16 months ago"Эээхх!" в женском вокале
Sergey Matveev [Wed, 27 Dec 2023 13:11:59 +0000 (16:11 +0300)]
"Эээхх!" в женском вокале

https://www.youtube.com/watch?v=mwQxagTSLFE
Всё не забуду момент (4d4817ce5008cdddcd11cb45de2aa91142fe42b7) с
neofolk концерта, где ровно один раз за всё выступление вокалистка
Рабора сделала "ээх"/"уух"/фиг-знает-как-это-назвать. Как на видео
по ссылке где-то на 5:10.

Осознанно не скажу с чем связано, но за эту долю секунды, типа дыхание
перехватило от этого. Запомнилось больше то, что впереди меня был мужик
выглядящий как трушный такой black металлист, и в этот момент он резко
руки вскинул и похлопал. Через секунду опустил, ибо песня то не
заканчивалась и больше никто не хлопает. Но было очень забавно видеть
что не только меня явно тронул этот восклик. Я никак отрегировать не
успел, а он похлопал, пусть и не в тему, пропалился. Как же женщинам
легко на нас повлиять, просто выдохнув нужным образом разок :-)

16 months agoЗнание немецкого при приготовлении пищи
Sergey Matveev [Wed, 27 Dec 2023 13:02:34 +0000 (16:02 +0300)]
Знание немецкого при приготовлении пищи

На прошлой неделе делал пару чизкейков. Пластиковая мерная кружка у меня
польского производства (с доисторических времён), где нет русского языка,
а первые метки на ней на немецком. Годами пользовался, но вот взял, да
спутал Zucker и Wasser (сахар и воду), у которых плотность сильно
отличается. В итоге ощутимо меньше сахара насыпал. Плюс взял другую по
размеру пачку Юбилейного печенья, где три ряда, вместо двух. Я помнил
что надо взять весь "столбец" и добавить к нему один ряд -- в итоге
печенья сильно пересыпал, аж в миксер не уместилось и я сообразил почему
только уже после приготовления. Второй чизкейк уже без ошибок вышел.

16 months agoСмена языка программирования с PHP на Go
Sergey Matveev [Wed, 27 Dec 2023 12:01:08 +0000 (15:01 +0300)]
Смена языка программирования с PHP на Go

https://habr.com/ru/articles/783240/
Автор называет себя сеньором, team lead-ом, "квалификации вполне
достаточно". Решил сменить язык на что-то другое. Выбор был из Python
или Go. Выбор пал на последний, потому что... "наличие {}, а не
отступов", "более новый". Во время поиска работы, HR-ы посчитали автора
вообще стажёром. С чем он не согласен, ведь "ты имеешь навыки работы с
базами и можешь разворачивать и настраивать среды". В комментариях же он
назвал Go "функциональщиной". И по его опыту "нет никакого смыла сидеть
по полгода/году и что-то пытаться изучать и кодить", мол опыт можно
только в команде получить. И он обращается к "lead"-ам чтобы они
задумывались о требованиях в резюме, мол негоже такое отношение к таким
как он. Я прям почти был уверен что автор просто троллингом занимается
неприкрытым. Но, судя по длительной активности в комментариях, похоже
что нет.

По паре предложений очевидно что опыта у него с гулькин нос. Суждения на
уровне именно что стажёра, только начинающего разработчика. И да, видно
что 5-6 лет в команде на PHP вообще ничего не дали ему в
профессиональном плане. Очень много видел что PHP-шников не любят. Я
совершенно спокойно относился к PHP как к инструменту. Но если большая
часть PHP-шников вот как автор -- то тогда понятно откуда корни нелюбви.

Жесть конечно что люди годами умудряются работать на таком низком уровне
понимания своей профессии. Хотя и задач то довольно много, которые не
требуют ничего большего. Но называться опытным сеньором и давать вредные
советы... я прям рад за HR-ов, что смогли распознать "переодетого
PHP-шника" и приземлять его, открыто говоря чего он на самом деле стоит.

А ещё я заметил разницу между опытными и неопытными разработчиками ПО в
резюме: последние любят указывать всякую неважную мелочь. Типа
конкретных библиотек использованных им в Python программах, типа
"datetime" какого-нибудь. Не framework, а именно мелочи. Умение работать
с Git, определёнными task tracker, desktop environment, если память не
изменяет. Для начинающих это и нормально и нужно: чтобы сразу понимать
сколько всему придётся обучать человека и ждать когда он сможет работать
с инструментарием. Для опытного же... и так должно быть очевидно что он
всем этим или умеет пользоваться или уж перейти с git на hg/bzr/whatever
не будет какой-то существенной по времени проблемой. Ну и лично я ещё
замечаю что если человек написал "bash", то с высочайшей долей
вероятности он или не знает никакого shell, или не знает отличия между
POSIX shell, bash или zsh. Опытные как правило вообще не указывают
"bash", или укажут что-то типа "shell scripting", "POSIX shell/bash/..."
намекая на понимание разницы между shell-ами и возможно подчёркивая
умение пользоваться этой разницей (я наверное бы явно указал в
дополнение к POSIX shell ещё и zsh, хотя я в нём новичком себя считаю).
Как понять это резюме понимающего junior или непонимающего senior? Если
он указывает сущие мелочи и при этом бьёт пяткой в грудь что он team
lead, архитектор и прочее -- то тут просто явная несостыковка, говорящая
обо всём. Я просто видел резюме с которыми мы на работе расставались
из-за их низкой квалификации и это palm face читать их резюме после.
Бывает пишут "умею решать сложные задачи" -- и это рождает ещё больше
вопросов, ибо "сложная" задача, мягко говоря, у всех по разному
представляется в голове. В общем, акценты автора резюме много чего
говорят. Плюс ещё наблюдал, что чем больше по размеру резюме, тем менее
опытный человек -- каждую мизерную мелочь в него вписывает.

А вообще сложно конечно это всё :-(. Если бы так легко было понять кто
перед тобой на самом деле и чего он стоит. Я, как минимум, несколько
правил заимел: не брать людей без высшего образования (если конечно речь
не об осознанном найме студента с его обучением), не связываться с теми,
кто не шпрехает по английски (come on, ну куда в ИТ в без него!?).

16 months agoПознакомился с Хреновым "Поле чудес в стране дураков"
Sergey Matveev [Wed, 27 Dec 2023 10:01:31 +0000 (13:01 +0300)]
Познакомился с Хреновым "Поле чудес в стране дураков"

https://www.metal-archives.com/albums/%D0%A5%D1%80%D0%B5%D0%BD/%D0%9F%D0%BE%D0%BB%D0%B5_%D1%87%D1%83%D0%B4%D0%B5%D1%81_%D0%B2_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5_%D0%B4%D1%83%D1%80%D0%B0%D0%BA%D0%BE%D0%B2/736604
От знакомых наслышан был про эту группу, типа как лучшее в black metal
что он слышал российском. На недавнем концерте приобрёл альбом. Блин, ну
по звучанию это конечно black-ом отдаёт, но по сути это такой стёбный
метальчик весёлый, типа Изморози. Хрен-метал, как они его кличут. Но
black разнообразен -- просто для меня он всё же типа Immortal, Ihsahn,
Marduk должен быть.

16 months ago"За гранью времён" Лавкрафта
Sergey Matveev [Wed, 27 Dec 2023 08:51:06 +0000 (11:51 +0300)]
"За гранью времён" Лавкрафта

https://ru.wikipedia.org/wiki/%D0%97%D0%B0_%D0%B3%D1%80%D0%B0%D0%BD%D1%8C%D1%8E_%D0%B2%D1%80%D0%B5%D0%BC%D1%91%D0%BD
Попалось это произведение в сборнике аудиокниг. Неимоверно понравилось
произведение! Лавкрафта я безусловно и прежде любил, но в очередной раз
восторгаюсь тому как он пишет. Уже после прочтения увидел что некоторые
считают эту книгу:

    "самым значительным достижением Лавкрафта в художественной
    литературе", ссылаясь на "её удивительный масштаб и ощущение
    космической бесконечности, а также титанический размах
    повествования". "впечатляющую и внушающую трепет"

16 months agoОписание сути баги в ZFS
Sergey Matveev [Tue, 26 Dec 2023 12:53:42 +0000 (15:53 +0300)]
Описание сути баги в ZFS

https://despairlabs.com/blog/posts/2023-12-25-openzfs-data-corruption-bug/
Описание с картинками поясняющими что за серьёзная бага была в ZFS недавно
(fce114a42d69ac04eb4ece1e5ed5b6f5e9515068).

16 months agoА Мещера ничего так
Sergey Matveev [Tue, 26 Dec 2023 11:09:33 +0000 (14:09 +0300)]
А Мещера ничего так

https://www.metal-archives.com/albums/%D0%9C%D0%B5%D1%89%D0%B5%D1%80%D0%B0/%D0%96%D0%B0%D1%82%D0%B2%D0%B0/1144572
Был на дебютном концерте Мещеры (d514b2e5d735d87fda4999367f4360aec273c82e)
в этом году, но помню что не впечатлился. Приобрёл тут их альбом и он
очень даже ничего так. Женский вокал крайне приятен. Музыка конечно
просто некий симфо-метал, но особенно на фоне прям отлично.

16 months agoСнимок горы на Марсе
Sergey Matveev [Tue, 26 Dec 2023 07:44:06 +0000 (10:44 +0300)]
Снимок горы на Марсе

https://www.securitylab.ru/upload/medialibrary/b27/ze8bi66r40j0gt7erc9k5cu2m999nz9d.png
https://www.securitylab.ru/news/544853.php
Похож на морду медведя.

16 months agoВ очередной раз отпраздновал Йоль
Sergey Matveev [Mon, 25 Dec 2023 10:29:30 +0000 (13:29 +0300)]
В очередной раз отпраздновал Йоль

Как и в прошлом (babd98ef385187672019aa5b89a20bf13425a3d5) году сходил в
тот же клуб, от того же организатора. Два зала, ирландские танцы, всё
как и в прошлом году. Но между перерывами ходил в малый зал, где ни разу
не попал на выступление. Но судя по запаху и количеству людей -- там
особо люди и не колбасились.

Открыли мероприятие Рабор (341b91285d94333cd98c6cf991589e3953616379),
ради которых и пошёл. Как и прежде, отлично сыграли, отличное настроение!

Продолжили Spiritual Seasons. Я был знаком с *каждой* скандинавской или
германской песней! Всё благодаря In Extremo. Кроме северной Европы,
играли много и ирландских песен, в которых я уже не в теме. Очень
понравилась группа, не прочь ещё побывать на них ещё!

Далее зажигали Корни Озёр. Играли хорошо, но уж слишком попсово, мало
фолька. Ничего негативного не скажу, залу нравятся, но не моё, нет
интереса.

Далее вышли Green Crow. Написали что стиль "pub folk". Ну да, так и
есть: что-то на фольк-тематику для пабов. Половина мастросских песенок.
Каверы даже на Herr Mannelig (1941cd81d45f0193f3c37562cd8bbc980c029849)
на русском. Весёлые, озорные, но это чисто на поржать. Всё же не такое я
не собирался.

Заканчивали Лёдъ, которые получили премию как лучшая группа на эту
тематику. Эх, не в восторге. Музыка простовата и незатейлива. Ну да,
инструменты аутентичны, но не более. Вот голос вокалиста очень крут:
местами сильно напоминал Das Letzte Einhorn-а из In Extremo. Но для меня
это всё же выглядело как: взяли попсовую группу, переодели в северные
одеяния, выдачи аутентичные древние инструменты, чуть изменили тексты
под старину. Местами прям попса попсой по своей сути. Но голос вокалиста
по нраву, не без этого.

В общем, только первые две группы мне действительно и понравились.
Которые действительно были настоящим (neo)folk-ом. Но посещение стоило
того!

Ну и прикупил четыре CD-альбома. Пара с darkwave-ом по рекомендации
продавца, пара с black metal.

16 months agoНе в теме сериалов
Sergey Matveev [Sat, 23 Dec 2023 16:10:41 +0000 (19:10 +0300)]
Не в теме сериалов

У меня давно табу на сериалы. Знаю что там отличные сценаристы сейчас,
актёры, ведь доставлять контент благодаря высокоскоростному Интернету
стало тривиально, но принципиально не хочу чтобы с низким КПД
использовали моё время. Делают ведь всё, чтобы удержать меня у экрана.
Последним сериалом для меня был Вавилон-Берлин и Шерлок-Холмс с
Кэмбербэтчем, который я только из большого уважения к мнению друга
посмотрел. Получил удовольствие конечно, но завершения в конце так и не
предвидится.

Особняком стоят сериалы типа "Теории большого взрыва"
(4461fc237445990ecec250c075649b15fbda382a) или там Симпсонов, где каждая
серия и короткая и более-менее независима от остальных. Но и этого я
тоже стараюсь остерегаться и не подсаживаться на их крючок. На флешке
для ТБВ мне хватило места только на два сезона -- вот больше ни одного
не собираюсь смотреть.

На работе вчера с коллегами устроили застолье и настольные игры. Много
обсуждали сериалов, но я вообще ни про один ничего не мог ни сказать, ни
добавить, ибо не в теме. И только когда кто-то упомянул "Зелёного
слоника" (ea6c177863ad872d8d65364622a0a8bce002f29d), то я оказался в
теме. Когда продолжили с него обсуждать Пахома, то я снова в теме. Ведь
так покажется что я только трэш смотрю :-)

16 months agoПосмотрел прохождение Harvester
Sergey Matveev [Thu, 21 Dec 2023 19:10:17 +0000 (22:10 +0300)]
Посмотрел прохождение Harvester

https://en.wikipedia.org/wiki/Harvester_(video_game)
https://www.youtube.com/watch?v=AnSCw3kp3_E
А то в ScummVM всё так и не завозят его поддержку. Куча насилия, крови
(такую расчленёнку я видел только на goregrind альбомах), чёрного юмора,
сексуальных сцен, каннибализма и всего такого. А оказывается, это просто
фабрика по производству серийных убийц. Но типа не понятно что реально, а
что нет, напоминая Downfall (870457cf42b00dd34f6290e0f9e8a4b6e28329e0).
Но концовка тут забавная!

16 months agoКресло "Самурай"
Sergey Matveev [Thu, 21 Dec 2023 10:39:10 +0000 (13:39 +0300)]
Кресло "Самурай"

https://habr.com/ru/companies/maxilect/articles/782212/
Тут упоминают популярность кресла модели Самурай, о которой я тоже
заикался было (077b0a90fb698b68c9a50db1a450b892d9ae72d9). На работе у
меня Ikea кресло матерчатое: до сих пор, 9+ лет на нём нет и намёка на
то, чтобы образовалась дырка на месте где я сижу. Хоть и материя, но
ничего с ней не случается. Самурай же из пластиковой сетки -- говорили
что неубиваемая, но всё это враньё: у меня уже дырка образовалась, хотя
ещё и не насквозь. Всё остальное пока живо. Но придраться к посадке и
удобству не могу -- меня абсолютно во всём удовлетворяет.

16 months agoЧто будет в Debian из-за раскола OpenPGP/LibrePGP?
Sergey Matveev [Thu, 21 Dec 2023 10:05:42 +0000 (13:05 +0300)]
Что будет в Debian из-за раскола OpenPGP/LibrePGP?

https://lists.debian.org/debian-security/2023/12/msg00010.html
Maintainer GnuPG и других связанных штук Debian-а описывает свои мысли
на тему того что творится с OpenPGP, LibrePGP, GnuPG и подобным. Ему
нравится OpenPGP, а не LibrePGP. В GnuPG, видимо, OpenPGP последнего не
будет уже. Делать Debian-патчи добавляющие в него его поддержку -- явно
колоссальная работа. А на GnuPG инфраструктура Debian сильно завязана.
Говорит, что возможно имеет смысл смотреть вообще в сторону X.509
сертификатов и CMS (PKCS#7 когда-то).

Ох, годами приходилось работать с CMS-ами и X.509, а совсем недавно на
Go с его родным encoding/asn1 и GoGOST-ом разбирал PKCS#12, SignedData
CMS и EnvelopedData CMS. Не приходилось сравнивать кто более монструозен:
ASN.1 + CMS или же всё же OpenPGP (хотя у них лишь немногим пересекающиеся
задачи и возможности), но удивлюсь если PGP не минималистичнее. Бегло
только проглядывал его кодирование данных и оно вроде бы проще чем ASN.1.
Ну а тема про проверку цепочек X.509 сертификатов... тянет на научные
работы и никто в мире не делает это всё в полной мере (мы с коллегами не
видели намёков на это).

16 months agoОписание принципов работы STP протокола
Sergey Matveev [Thu, 21 Dec 2023 06:17:59 +0000 (09:17 +0300)]
Описание принципов работы STP протокола

https://nag.ru/material/43122
Читал по диагонали, но вроде бы лучшее (по понятности и достаточной
детализации) описание STP что я видел.

16 months agoИстория создания игры Elite
Sergey Matveev [Wed, 20 Dec 2023 16:42:35 +0000 (19:42 +0300)]
История создания игры Elite

https://www.youtube.com/watch?v=lC4YLMLar5I
Не играл ни на BBC Micro (эмуляторе), ни на ZX Spectrum, а только на ПК.
Но вроде бы там разница не кардинальная. Отличная настоящая трёхмерная
графика, мир и производительность всего этого. В этом ролике рассказывается
про устройство 6502 и как на нём всё это достигалось.

А дальше меня ещё поражала Elite 2: Frontier. Где на i386 уже даже
текстурированная 3D графика (80040089defa18f425461f448b3bf631be945bc1) и
настоящие планеты с космопортами на которых можно садиться. Но action-а
там уже поменьше, ибо сильно ближе к настоящей физике.

16 months agoWolfgang Van Halen ставил Meshuggah на свадьбе
Sergey Matveev [Wed, 20 Dec 2023 16:35:53 +0000 (19:35 +0300)]
Wolfgang Van Halen ставил Meshuggah на свадьбе

https://www.darkside.ru/news/160023/
Вот это трушно -- на свадьбе ставить подобный музон!

16 months agoСовременный детский лагерь
Sergey Matveev [Wed, 20 Dec 2023 15:54:35 +0000 (18:54 +0300)]
Современный детский лагерь

https://habr.com/ru/articles/781828/
Очень давно я от знакомых у которых есть дети я не слышал ничего про
детские лагеря. До этой статьи, спроси меня есть ли они вообще сейчас --
не был бы уверен что они остались как явление. Здорово что имеются и
вполне себе доступные!

По рассказам родителей и вообще их поколения -- в СССР там бывали
регулярно, типа как само собой разумеющееся. Я же был всего один раз в
конце 1990-х. И то, только потому что путёвка в лагерь в Туапсе
досталась с огромной скидкой на космическом предприятии. Судя по
рассказам мамы, которая ненадолго тоже смогла приехать туда в гости --
всё было просто ужасно. Но с моей призмы восприятия -- мне там
понравилось. Само собой из-за того, что это не школа, что мы там в
футбол играли (футбол я всегда любил погонять, всегда был в сборной
команде от школы), во всяких конкурсах участвовали, ну и в море плавали.
Я в целом равнодушен к морю, но всё это ведь было совершенно невиданным
для меня опытом.

Но это были 1990-е и прям то самое время когда курс доллара скакнул,
когда всё ещё после распада СССР было в разваленном состоянии.

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

16 months agoСША и Украина против резолюции о борьбе с нацизмом
Sergey Matveev [Wed, 20 Dec 2023 07:57:13 +0000 (10:57 +0300)]
США и Украина против резолюции о борьбе с нацизмом

https://lenta.ru/news/2023/12/20/genassambleya-oon-prinyala-rezolyutsiyu-rossii-o-borbe-s-natsizmom-i-formami-diskriminatsii-protiv-vystupili-ssha-i-ukraina/
https://lenta.ru/news/2023/12/20/v-ssha-predlozhili-ukraine-brat-primer-s-natsistskoy-germanii/
https://lenta.ru/news/2023/12/20/v-tegerane-vozmutilis-rezolyutsiey-generalnoy-assamblei-oon-protiv-irana/
Как же достали всякие разглагольствования о причинах начала СВО, какие
цели РФ преследует и всё такое прочее. Говорят про какую-то пропаганду,
мол враки и придумывание того что на Украине на самом деле творилось. По
моему всё банально предельно просто, собственно о чём Путин и говорил не раз.

* Геноцид русских был на Украине в течении многих лет? Был. Терроризм,
  бандитизм только по факту использования русского языка был? Был. Это
  подтверждают кто жил и живёт в Донбассе, а также подтверждают те, кто
  родились там и приезжали к родственникам что в Херсон, что в Харьков
  тот же. За русскую речь в общественном месте можно было лишиться. Ну а
  на Донбассе просто методично старались уничтожать всё гражданское
  население. Задолго до СВО
* Воду перекрывали в Крым? Обрубили поставку пресной воды? Не геноцид ли
  это, не попытка ли геноцида? Она самая. Факт? Факт. А вот в зарубежных
  СМИ хрен найдёшь информацию просто о факте этой водной блокады,
  которую в первые же дни СВО уничтожили первым делом
* Пока русских уничтожают, убивают (речь про задолго до начала СВО), то
  кто-либо в "цивилизованном мире" говорил об этом, осуждал? Нет. Только
  тренируют головорезов и поставляют вооружение. Там то давно
  исповедуют, что хороший русский только мёртвый. Как только РФ начала
  защищаться и давать по щам всей это мрази, ибо терпению по попыткам
  мирного дипломатического урегулирования приходит конец -- все
  возбухают, орут, вторжение, и прочую несусветную лицемерную чушь
  несут. Убивать россиян и русских -- можно, а защищаться у них права нет
* Официально Запад и преступная террористическая бандитская воровская
  нацистская организация "Украина" признали, что Минские соглашения были
  только для оттягивания времени, чтобы накачиваться оружием, чтобы
  готовиться к тому, что рано или поздно к ним придёт кара? Признали, не
  скрывают, готовились к войне задолго, сами же развязывали её
* Это враки что ли, что куда ни плюнь, но в том же Азове, даже на
  фотографиях с главарём ("президентом") преступной организации
  ("Украина"), но попадёшь в человека со свастиками фашистскими? Ретушь
  фотографий? Нет, все настоящие. А то, что улицы в честь
  нацистов-коллаборационистов и террористов переименовывают? Ложь, что
  молодёжь вовсю действительно считает Бандеру буквально святым? Это всё
  правда, факты, известные банально через блоги граждан этой страны

США и её послушники в очередной раз хотят уничтожить самую большую и
очень богатую ресурсами страну. Во Второй Мировой они "пришли на помощь"
только когда СССР уже начал разворачивать нацистские армии и идти уже
вглубь Европы, когда уже перехватил инициативу. Запад испугался что ему
мало что от раздела Европы достанется и поэтому только тогда и выдвинул
свои силы, прежде ожидая что Рейх уничтожит таки СССР.

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

Пропаганда то как-раз у них, и жуткая цензура. Про нашумевшую (у них)
Бучу: что это их рук дело банально можно убедиться по тому, что после
выхода наших войск оттуда там побывал мэр и ничегошеньки не заметил, всё
тихо и мирно, а потом внезапно (когда "русских" уже не было) там
появились горы трупов. Я то больше поражён тому, что неужели факты
раскрытия театрализованных представлений о мнимых последствиях атак в
арабских странах ничему не учат, не показывают сколько вранья и
лицемерия бессовестного изливается со стороны Запада? А нам и без СМИ и
пропаганды известно каково жилось русским на Донбассе и в Крыму, как
живут знакомые родственники в Херсоне и Харькове и какое там отношение к
русскоговорящим или тем кто работал в России даже во времена СССР.

И да, я совершенно не понимаю "наших" (хотя какие они наши то?) которые
уезжают в эти западные страны, где открыто говорят и показывают своими
законами то, что россиянин не является человеком, где законы для "всех"
людей не применимы к ним, что их нужно уничтожать? Пропаганда? Отнюдь --
у нас есть знакомые кто задолго СВО переехал в Западную Европу и с чем
им приходится сталкиваться теперь, даже уже не имея российского
гражданства. Многие из перебежчиков и предателей говорят о том, что они
(простые люди, простые граждане) это они, а их правительство это
правительство -- какие-то отдельные обособленные дядьки, развязывающие
войны. И при этом регулярно каждый раз они ещё умудряются замечать
что-то про демократию и её отсутствие в РФ. То есть, их деньгами
(налогами) и будущим распоряжаются какие-то дядьки, с которыми население
их стран не согласно, но у них типа демократия при этом? Лицемерие даже
в быту у этих простых граждан.

Конечно террористическая организация "Украина" против резолюции в ООН,
ведь у неё толком никаких героев не останется в стране. Памятники и
названия всем, кто когда-то проливал кровь защищая её, посносили же.
Даже грустно, насколько убогими же надо быть, чтобы уничтожать память о
каком-нибудь Гагарине, памятники которому есть даже в Гринвиче и
Хьюстоне (даже англосаксы всё же могут признавать такого человека, не
смотря на его происхождение), которого при этом С.П.Королёв, родом из
Житомира, отправлял в космос.

Ну и конечно же Запад точно так же не видит и геноцида со стороны
Израиля, их постоянный терроризм Палестины.

16 months agoMake Ugar Great Again
Sergey Matveev [Sun, 17 Dec 2023 08:34:04 +0000 (11:34 +0300)]
Make Ugar Great Again

Перестаю так редко ходить на концерты, вчера побывал на Make Ugar Great
Again XXIII. Ага, не первый десяток лет проходит данное мероприятие со
всякой грайндой. Не такое колоссальное как Coyote Brutal Fest, где ещё и
различный death metal, но тоже многим известное как торговая марка уже.

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

Впервые побывал в клубе Смена, который совсем рядом с метро оказался.
Средних таких размеров, самое оно. И не слишком маленький, и не слишком
большой. И вообще там два зала. В следующем году Coyote Brutal Fest
будет в нём проходить сразу в обоих. Звук... ну если настроен, то
нормальный, грайнда вполне себе звучит.

Особо про выступающие группы нечего писать. Открыли мероприятие Рак
Анального Отверстия, перед котором народ уже вовсю был заведённый и
сразу же понёсся в слэм и даже wall of death устроили. Затем
Криднекредли из Шатуры, которые чуть ли не на уровне Napalm Death играли
и даже такой же вокал (что редкость) -- они мне пожалуй больше всего
понравились.

Затем просто позорнейшее выступление Менструации Спидозной Свиньи, где
музыканты тупо в ритм не попадали и забывали кто когда должен играть на
фоне записанных барабанов. За такое количество концертов -- хуже
выступления я не слышал. Плюс постоянно матерящийся вокалист. Плюс пара
пацанов всякие непотребства выделывающих, всё же переходящих грань
общественного порядка (видимо, раз играть не умеют, то хоть чем-то
компенсировать?). Вот на такую грайнду никого бы не позвал.

Продолжило всё это Безудержное Разложение из Питера. Очень медленные
темпы и частенько рваные темпы, но играли хорошо. Не моё -- я не могу
даже головой медленно трясти, но это уже дело вкуса. Хороши.

Далее, уже знакомые мне, WhoreTonnel из Шуи. Тоже с записанными
барабанами. Очень мощно качали. Поколбаситься под них конечно дико круто!

Ну и заканчивали монстры slamming brutal death metal-а -- Swamp. Но уже
с другим вокалистом и снова с барабанами под фанеру. Но группа
извинилась за это -- форс-мажор и поэтому ударник не смог выступить.
Мощнейший конечно кач и колбаса. Наверное одна из самых убойных групп в
стране, в чём я ещё и на Coyote Brutal Fest убедился
(5f748f35c01282b2777c087ff56e52353e006eda). Позвали и на бис их.

Преобладающее большинство лет на 15 моложе меня с другом. Но молодцы как
здорово и хорошо отрываются. Рок, метал, грайнда -- никогда не умрут
из-за этого. Три wall of death было. Одного чувака, который прыгнул со
сцены, не просто подхватили, но и вообще вынесли на руках из зала :-)

16 months agoНравится писать privsep/privdrop-oriented программки
Sergey Matveev [Sat, 16 Dec 2023 10:29:14 +0000 (13:29 +0300)]
Нравится писать privsep/privdrop-oriented программки

Переделывал тут одну программу, которая для случайных данных
использовала getrandom() вызов, не мешающий делать Capsicum и
всякий hardening с privilege drop-ом. А теперь она ещё должна
уметь для случайных данных обращаться по EGD-протоколу к внешнему
демону, что уже не дружит с Capsicum так легко и просто. Он заточен на
то, чтобы заранее открыть все нужные сокеты/файлы, настроить права
доступа на них и перейти в режим ограничений. В FreeBSD можно много чего
делать через файлы и не всё так просто и примитивно, но вот уже создавать
новые EGD соединения не выйдет так легко и просто. Плюс появился
собственный PRNG со своим пулом энтропии и хотелось бы чтобы
fork-ающиеся процессы-клиенты имели централизованный PRNG.

Оказалось не так всё сложно. fork-аемся для создания процесса который
отвечает только за PRNG и общение с EGD, заранее имея с ним socketpair
сокет. Перед fork-ом каждого клиента, тоже делаем пару сокетов, один из
которых будет под контролем процесса-клиента, а другой передаём через
Unix-сокет в PRNG-процесс. В итоге появляется двусторонний канал связи
между PRNG-процессом и клиентским. Клиенту уже не нужно общаться с EGD
или чем-то подобным -- он волен спокойно использовать Capsicum и другие
методы hardening.

Не все люди на работе, которые писали под Unix на Си ещё когда я играл
под Windows, знали про возможность передачи файлов/сокетов через
Unix-сокет. Я это делал впервые на практике, но слышал задолго до этого,
ибо например Tmux это использует в себе и поэтому его сокет просто так
удалённо не пробросить.

Вот только отправку control message с передачей сокета я делал просто
скопировав пример из man-а FreeBSD, где полезная нагрузка явно не
передавалась. Сокет/файл передаются, всё ok. Но вот только если это
засунуть в poll(), то он бесконечно зацикливается: постоянно говорит что
из сокета есть что прочитать, но recvmsg() возвращает ноль. Пришлось
хотя бы один байт полезной нагрузки явно передать, для решения проблемы.
Как себя ведёт kqueue тут не пробовал -- задача достаточно проста чтобы
и просто poll()-ом (ради совместимости с GNU/Linux) обходиться.

16 months agoРабор -- За околицей
Sergey Matveev [Thu, 14 Dec 2023 08:50:24 +0000 (11:50 +0300)]
Рабор -- За околицей

https://www.youtube.com/watch?v=cpt5zTouFEM
После neofolk концерта (4d4817ce5008cdddcd11cb45de2aa91142fe42b7), где
выступал сабж, уже который день кручу их альбом последний. Обожаю звучание
их инструментов! Довольно таки плотный звук, никаких электроdistortion-ов
и не надо. Ну и пение хором здоровское. Но на концерте в целом песни были
куда более заводные и вокал ощутимо звонче. Возможно на следующем альбоме
будет ещё круче, ведь на прошлом не было даже вокала. На концерте в честь
Йоля они тоже будут выступать -- пойду уже только ради них.

16 months agoВезло с электричками целый день
Sergey Matveev [Wed, 13 Dec 2023 22:25:43 +0000 (01:25 +0300)]
Везло с электричками целый день

Я только изредка стал ездить на электричках, так как от моего подъезда
есть маршрутка до ВДНХ, что ещё и дешевле будет стоить. Но вчера из-за
снегопадов пропускная способность автомобильных дорог была ощутимо ниже
и маршрутку я не дождался и поехал на электричку. Сегодня же тоже решил
не ждать и сразу на электричку. Ведь что такое электричка? Стабильность,
надёжность, предсказуемость по времени, теплота и уют. Но до Москвы
сегодня ехали аж больше чем на час дольше положенного, более чем в два
раза дольше. То ли снег не успевают убирать, то ли авария какая. Благо
что это после часа пик и поэтому основная масса людей то уже разъехалась.

Но решил и обратно сегодня тоже на электричке, ибо вечером в то время
когда я уезжал -- вовсю пробки, особенно на въезд в город. И в половине
состава не работало отопление, совсем. Так как люди дышат, влажность,
пар, всё это заледеневает на полу в виде незаметного, но скользкого
льда. В итоге всю дорогу с паром изо рта, сплошь катающиеся по полу люди
и шапки на головах. У кого с собой свитера -- подкладывали под попу.
Целый день они себя рекомендуют отнюдь не как комфортный и стабильный
транспорт :-)

16 months agoNeofolk вечеринка в день рождения Замка Грёз
Sergey Matveev [Sun, 10 Dec 2023 09:48:17 +0000 (12:48 +0300)]
Neofolk вечеринка в день рождения Замка Грёз

Чудеснейший вчера был день: neofolk birthday part в честь дня рождения
COD label. Когда я, пару недель назад увидел, что там будут Moon Far Away,
то аж сердце ёкнуло (babd98ef385187672019aa5b89a20bf13425a3d5), ибо обожаю
эту группу.

Открыли концерт Fjara, игравших на настоящих вручную сделанных
инструментах, исполняющих всякий корельский фольклор. Понравились,
красиво всё звучало, интересно.

Продолжили Рабор, тоже игравшие на "настоящих" инструментах, но уже по
русскому фольклору. Всякие хороводные и свадебные песни с разных
регионов России. И много пели хором -- это конечно круто звучит! И
хорошая плотность звука, мощь инструментов -- никаких электрогитар с
distortion-ом или тарелок на барабанах не надо. Очень понравились! Через
пару недель будут выступать на праздновании Йоля -- только ради них уже
можно будет пойти.

Далее были Kirpiklass, название которых я много где встречал. Ну...
совсем не моё. Многие из зала повыходили. Какая-то унылая атмосферная
музыка с ноутбука, иногда грохающий настоящий бубен и редкие удары по
поющей чаше. Ну и вокалистка, которая просто говорила в микрофон всякое
непонятное и временами забавное. То гроулом, то чистым вокалом. Типа
что-то шаманское. Совсем не моё.

Потом пошли те, ради кого я подумывал съездить в Архангельск на их
концерт. Moon Far Away. Очень я беспокоился за качество звука, ибо если
женский вокал будет не очень хорошо слышен или будет звенеть, то всё
потеряно, всё в бестолку. К третьей-четвёртой композиции звукач всё
отлично настроил. Невозможно описать как я заворожён её голосом!
Настоящая сирена, на голос которой без оглядки последуешь! В этот раз я
уже знаком со всеми их альбомами и поэтому все песни знал. Отличный
tracklist у них подобран для концерта! И начальные песни без упора чисто
на женский вокал -- как-раз есть время для настройки звукачом. В общем,
доволен как никогда. В этот раз ещё постоянный видеоряд крутился на
стене за ними, ещё круче создавая атмосферу для их музыки, не похожей ни
на кого из выступавших. К концу они даже свои маски поснимали и я увидел
лицо вокалистки (мужики когда настраивались уже засветились) клёвой.

Заканчивали всё это Шесть Мёртвых Болгар. Тоже совершенно не моя музыка:
почти полностью неспешная электроника, плюс вокалистка что-то народное
(ну наверное) поющая время от времени. Голос и говор приятные. До конца
дослушал, ничего плохого не могу сказать, но не моё. Но находились и те,
кто просто тащился от них.

Moon Far Away это прям всё же какое-то музыкальное чудо для меня! Ещё
раз в этом убедился.

Ну и приобрёл три футболочки и 23 альбома. Среди которых новый от
Krahnholm (2d440a96b081b1740db1c2d1183ab04c3ecec2e0), который вот
зацениваю и уже полюбил его, отлично ребята продолжают своё дело!

16 months agoВарежки vs перчатки
Sergey Matveev [Sun, 10 Dec 2023 08:40:01 +0000 (11:40 +0300)]
Варежки vs перчатки

Очень давно мне мама покупала зимние печатки. И уже при -5 они не особо
то помогают -- всё равно рукам холодно. Несколько лет назад приобрёл
обычные вязанные варежки с двойным слоем. С этого момента даже в -20 не
страшны морозы и рукам тепло. А в -10 приходится даже снимать их, ибо
руки потеют. Отец в перчатках давным давно ходит и я спрашивал
действительно ли у него руки не мёрзнут? Говорит, что нет. Видимо как-то
по другому кровообращение у нас устроено.

16 months agoБаги в файловых системах
Sergey Matveev [Sun, 10 Dec 2023 08:01:38 +0000 (11:01 +0300)]
Баги в файловых системах

https://www.opennet.ru/opennews/art.shtml?num=60261
https://www.debian.org/News/2023/2023120902
https://www.opennet.ru/opennews/art.shtml?num=60167
Тут вот много всяких "линуксоидов" смеялось на тему того, что в
стабильной production über ready ZFS файловой системе появилась
проблема которая может молча привести к потере данных. И при этом
все умудряются повторять как мантру что их простая ext4 является
самой надёжностью. А тут вот Debian откладывает свой релиз из-за
того, что в ext4 порча данных возможна.

Вот только я не раз помню что в ext4 проблемы с потерями данных
уже бывали. И в том же ivi, где активность/нагрузка на ФС кэширующих
серверов была не маленькая -- там реально приходилось просто с нуля
создавать ФС (ext4), ибо она приходила в непонятное полурабочее
неконсистентное состояние. Об этом линуксоиды дружно забывают и
закрывают глаза.

ReiserFS -- первая журналируемая ФС для Linux. Аналогично, даже не
смотря на журнал, всё равно могла стать неконсистентной. Я поэтому уже
давно и говорю, что в мире Linux, среди изобретённых для него ФС -- не
было ни одной железобетонно стабильной и надёжной. ZFS-on-Linux -- тоже
имел проблемы с data corruption как-то. OpenZFS вот имел багу, но...
сколько людей реально на неё напоролось и пострадало? Про "стабильность"
Btrfs уже ходят легенды.

А ещё находятся люди, кто говорит что "вот на ext2" или
"подставить-любую-не-журналируемую" проблем не было (ну или ФС без soft
updates, но это мир BSD). Ага, только после перезапуска внезапного можно
привести в неконсистентное состояние, по сути просто даже потерять всю
ФС. Кто-то говорит про software RAID -- ага, закрывая глаза на write
hole и забывая что он не про надёжность записи, а только про доступность
данных в случае выхода из строя диска.

16 months agoКритика на критику LibrePGP
Sergey Matveev [Fri, 8 Dec 2023 09:52:27 +0000 (12:52 +0300)]
Критика на критику LibrePGP

https://blog.pgpkeys.eu/critique-critique.html
https://www.opennet.ru/opennews/art.shtml?num=60256
https://dev.gnupg.org/T4393
https://keys.openpgp.org/about/faq#older-gnupg
Вчера (94d00933735cfa995e9d5c5d0524ceeb2a6f9c61) услышал про LibrePGP, а
сегодня увидел что появилась критика на его критику. Оказывается, уже
есть несовместимость между ключевыми серверами openpgp.org и GnuPG.

16 months agoПосмотрел "Дикие истории"
Sergey Matveev [Thu, 7 Dec 2023 20:52:11 +0000 (23:52 +0300)]
Посмотрел "Дикие истории"

https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BA%D0%B8%D0%B5_%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8
Офигеннейшая комедия! Комедия ли? Ну в половине историй я ржал до слёз.
Хотя по сути, дикость жутью погоняет и хуже уже не придумать что будет
дальше. Слоган фильма: "В каждом спит зверь. Не буди его" -- отлично
отражает суть всего что в нём творится.

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

16 months agoGobliiins
Sergey Matveev [Thu, 7 Dec 2023 19:18:05 +0000 (22:18 +0300)]
Gobliiins

https://www.youtube.com/watch?v=87P86A9I7yU
https://en.wikipedia.org/wiki/Gobliiins
Небольшая история про игру Gobliiins. Лично я у себя в голове разделяю
чисто point-and-click adventure типа игры от Lucas Arts, Sierra и
подобных от игр где почти весь упор на головоломки, типа Neverhood и вот
Гоблинов. Myst (56982ec4a08505a70085fc9c69be49e50b2093bf) о котором
только недавно упоминал -- это только головоломки, причём нечестные. А
вот Гоблины имеют хоть и не логичные, но вполне себе проходимые, а
главное -- забавные, решения. Согласен с автором ролика, что эта серия
игр (я начинал, как и многие, со второй части, как исторически сложилось)
просто незабываема. А их графика для меня является неким эталоном pixel art-а.

16 months agoLibrePGP
Sergey Matveev [Thu, 7 Dec 2023 09:52:48 +0000 (12:52 +0300)]
LibrePGP

https://lwn.net/SubscriberLink/953797/7222cd75661fb888/
https://lists.gnupg.org/pipermail/librepgp-discuss/2023/000000.html
https://librepgp.org/
Ничего себе -- что-то я не видел новостей о том, что появился LibrePGP:
альтернатива тому что творит OpenPGP (a6ffe596981b1303b31c9f383d0f1d96bfff7a44).

16 months agoРолик про историю Myst
Sergey Matveev [Tue, 5 Dec 2023 20:29:53 +0000 (23:29 +0300)]
Ролик про историю Myst

https://www.youtube.com/watch?v=kG7GlJQ8XEs
https://en.wikipedia.org/wiki/Myst
Бесит его автор. Половину ролика восхваляет эту игру, восторженно
рассказывает о ней. А потом начинает негодовать от того, что люди начали
говорить о том, что Myst вообще не является adventure, отстой игра.
Считает что в этом виноваты id Software (автор даже не поинтересовался
как произносится название этой компании), типа Myst слишком заумная игра,
не для тупых людишек.

А я полностью, на 100% согласен с каждым словом что было в ролике против
Myst. Это не adventure. Это реально просто набор картинок, рядом с
которыми паршивые головоломки. И 7th Guest, в который я играл когда-то,
аналогично. Там нет приключений. И даже головоломки, особенно в Myst --
банально просто не честные, поэтому и чем-то достойным точно не могут
считать. Сложные головоломки это не плохо, лишь бы были честными.
Например известнейшая головоломка из Автостопом по галактике с рыбкой
переводчиком -- не простая, но полностью честная. А когда в ролике про
Myst, сам его же автор, говорит что даже с подсказками и готовыми
прохождениями ни черта не понял откуда он то или иное мог понять -- это
не говорит хорошо про игру. Я смотрел прохождение Myst и аналогично не
понимал откуда та или иная информация о решении могла бы быть известна.
Это неуважение к игроку. Это просто понаговнякали головоломок и не
заинтересованы пройдут ли или нет.

Автор Sanitarium (30fa58c74fac47133a86ed160b8d685445887180) подчеркнул
что Myst это что-то типа ругательства в мире adventure игр. Ибо из-за
журналистов и рекламы, люди считают что он является представителем этого
жанра -- хотя не относится к нему ни сколечко и поэтому нормальные
крутые adventure сложно продать из-за этого.

Почему же Myst так хорошо покупали? Я точно помню по себе в детстве:
действительно, красивая картинка и атмосфера. Ради этого, читал, люди
покупали и VGA и CD-ROM и звуковую карту, просто чтобы лицезреть
красоты. По сути Myst просто эксплуатировал то, чем сейчас активно
занимается mainstream: графон покрасивее. Но ни от одного любителя
adventure игр я никогда не слышал чтобы он хорошо (или вообще хоть
как-то) отзывался от Myst, Riven, 7th Guest и подобных игр. Они жутко
красивы бесспорно, но не более. Кощунственно причислять их к adventure.
Плюс Doom и Quake тупо требовали более мощных компьютеров. Плюс больший
порог входа. А Myst, я предполагаю, как-раз таки из-за слишком активной
рекламы и популяризировался.

16 months agoСходил на "Маяковского"
Sergey Matveev [Sun, 3 Dec 2023 20:18:59 +0000 (23:18 +0300)]
Сходил на "Маяковского"

https://lenkom.ru/shows/65
В день рождения мне подарили билет на музыкальное театральное
представление в Ленкоме. В первые побывал в этом театре. Впервые увидел
не просто спектакль, но и с кучей музыки. Но не мюзикл! Это вообще чуть
ли даже не ближе ли к концерту было, где несколько минутные композиции,
между которыми связующий спектакль.

Музыка и тексты почти все на рэперскую суть, но у меня ни йоты раздражения
(видимо, потому что лексикон должный, ca23bc85781a099a3f61719c1714957ac20c8e6c),
вполне себе здорово. Музыка довольно разнообразна: от мрачных медляков,
до полузаводного и industrial-а со скандированием революционных лозунгов.

Куча танцев, всё в них. Причём я, хоть и занимался хореографией один год
(родители заставили хотя бы год отходить, мол для физического развития в
школе), но индифферентен к танцам в целом. Никогда не хотел пускаться в
пляс, пританцовывать или делать что-то подобное. Трясти башкой,
слеймиться, быть в wall-of-death, просто по кругу в circle pit побегать
-- это пожалуйста, выброс энергии, куча щенячей радости, но это не танцы.
И никогда их и не смотрел и в фильмах частенько слепо проматывал. Ну
кроме сцены из "Криминального чтива" и финального танца в "Мой парень --
псих". А тут в театре насмотрелся вдоволь на вообще неведомые мне танцы
и телодвижения. Да я половину бы даже не смог выдумать как человек может
двигаться. Здорово. Пожалуй мне (!!!) танцы больше даже понравились чем
песни и музыка. Или просто мне нравились танцующие молодые девушки?

Отдельное удовольствие было рассматривать их костюмы. Ух как мне
понравился пиджак чекиста! Уж чего чего, но в одежде, моде, стиле и
подобном я вообще не смыслю, не понимаю и не в теме. Но тут заглядывался.

Круто сделано светопредставление. Куча регулярно перемещающихся
конструкций с разнообразными яркими фонарями. В постоянно присутствующей
дымовой завесе всё это выглядело атасно.

В нескольких сценах даже была настоящая собака. Её правда только на руки
брали, гладили, а дальше отдавали за кулисы.

В общем, очень понравилось!

16 months agoИндикация раскладки на самой клавиатуре
Sergey Matveev [Sat, 2 Dec 2023 12:27:40 +0000 (15:27 +0300)]
Индикация раскладки на самой клавиатуре

https://habr.com/ru/articles/778028/
Под Windows человек хочет чтобы на клавиатуре загоралась лампочка
нужного цвета в зависимости от включённого языка. А на работе у коллег
видел, что под Windows и CapsLock для переключения языка просто так не
включить.

Я почти всю жизнь переключаю язык нажатием CapsLock: одно нажатие,
кнопка под рукой. А индикатор CapsLock и является той самой лампочкой.
А как можно по другому? Учитывая что сам по себе CapsLock возможно ни
разу за день не включится сам по себе. Если же нужно включить функционал
самого CapsLock, то нажимаю Shift+CapsLock.

    setxkbmap -rules xorg -layout us,ru -option grp:caps_toggle,grp_led:caps

Сработает это конечно только если две раскладки есть. Но если надо
что-то по-немецки ввести, то в Vim легко использовать диграфы, которые
не то чтобы часто вводятся.

16 months agoРассказал про TCP и маршрутизацию
Sergey Matveev [Sat, 2 Dec 2023 09:27:56 +0000 (12:27 +0300)]
Рассказал про TCP и маршрутизацию

На работе рассказал про, накопившиеся за последние годы у меня,
поверхностные знания и любопытные факты про TCP: congestion control
(Tahoe, Reno, New Reno, slow stack, fast recovery, fast retransmit);
BRR; DCDCTP; ECN; AQM; CoDel; bufferbloat; расширения типа window
scaling, timestamps, SACK; MSS, PMTUD; TCP Fast Open, MPTCP; HTTP/2,
SPDY, QUIC, muTP.

А также про маршрутизацию в IP сетях: RIP, OSPF, BGP, устройство
Интернета (AS, peering), Babel, BGP в дата-центрах и примеры как это в
домашних условиях (на примере моей сети) может для чего пригождаться,
насколько удобнее и проще жизнь с ними.

16 months agoПосмотрел прохождение "Burnhouse Lane"
Sergey Matveev [Sat, 2 Dec 2023 08:33:40 +0000 (11:33 +0300)]
Посмотрел прохождение "Burnhouse Lane"

https://ru.wikipedia.org/wiki/Burnhouse_Lane
https://www.youtube.com/watch?v=DRiV6Dr0akE
https://www.youtube.com/watch?v=qJuZae8hHRQ
https://www.youtube.com/watch?v=k-HbpgEmAW8
Очередная игра от "Harvester Games" -- создателей Downfall
(870457cf42b00dd34f6290e0f9e8a4b6e28329e0) и Cat Lady
(8e8951c2d1d2537cb3427e09cb58ee32fa361dbd), потрясающих адвенчур.
Lane тоже в стилистике Cat Lady, с похожей графикой. Но не все 100%
мрачной и гнетущей.

С одной стороны игра вроде бы понравилась (глядя со стороны). Но с
другой не нравится очень уж упорное вдалбливание того, что с раком надо
самостоятельно бороться верой в жизнь, что всё будет хорошо и в таком
духе. Есть там весы, на которые предметы ценности нужно положить,
заставляя игрока многократно подчёркивать важность детей и замужества
(главная героиня же женщина). Это конечно важно, но не стоит играм этике
учить вот так вот неприкрыто.

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

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

17 months agoПротесты против удаления неактивных учётных записей
Sergey Matveev [Wed, 29 Nov 2023 16:17:01 +0000 (19:17 +0300)]
Протесты против удаления неактивных учётных записей

https://habr.com/ru/articles/777252/
Я тоже слышал новость о том, что учётки неактивностью в два года будут
удалять на всяких Gmail-ах. Но с ходу не мог придумать примером когда
штатно человек может быть так долго недоступен. А в статье упоминают:
пролежать в коме, быть в тюрьме, длительная командировка, быть в армии.

Но только смысл то протестовать? Клиенты всех этих сервисов являются
продуктом, им никто ничем не обязан, они сами знают где зарегистрировались
и какие риски имеют. Тем более когда это всё бесплатно предоставляется.

17 months agoИстория Amiga
Sergey Matveev [Tue, 28 Nov 2023 20:15:17 +0000 (23:15 +0300)]
История Amiga

https://www.youtube.com/watch?v=PMlHWuKT-8Q
Интервью от самих создателей компании и вообще мира Амиги.
С ней я правда не знаком совершенно в реальной жизни.

17 months agoИстория создания Hunchback 2 игры
Sergey Matveev [Tue, 28 Nov 2023 20:05:27 +0000 (23:05 +0300)]
История создания Hunchback 2 игры

https://www.youtube.com/watch?v=m7fOBLIUdOI
Толком не видел как в 1980-х вообще выглядела игровая индустрия.
А она ведь уже тогда была огромна по объёмам. Ну и интересно всё
это ещё и тем, что и у нас дома же был Спектрум-48.

17 months agoProtestware
Sergey Matveev [Tue, 28 Nov 2023 13:55:55 +0000 (16:55 +0300)]
Protestware

https://habr.com/ru/companies/swordfish_security/articles/776378/
https://github.com/open-source-peace/protestware-list
https://github.com/toxic-repos/toxic-repos
Узнал про новый класс ПО. Даже есть репозитории со списками всяких
программ и организаций поддерживающих бандеровцев и геноцид русских.
Кстати да, Vim там тоже есть, о чём я в курсе и именно поэтому у себя
на него ссылки и убрал уже давно. Но в исходном коде зловреда нет,
проверял. На PlantUML сайте были вообще призывы к экстремизму, но убрали.

17 months agoПосмотрел "Занесло"
Sergey Matveev [Tue, 28 Nov 2023 08:21:15 +0000 (11:21 +0300)]
Посмотрел "Занесло"

https://www.afisha.ru/movie/zaneslo-223980/
Очередной комедийный боевик про то, как всё постоянно идёт не по плану и
заносит всё хуже и хуже всех героев фильма. Люблю такие. Ненапряжно,
ржачно. Занесло тут их всех в Литву, которая показана вся из себя как
Восточная Европа из Евротура (может оно так и есть, не был). А в конце
занесло вообще в РФ, где их бегом гонят на БТР, на чём фильм кончается.

17 months agoБага в FreeBSD с IPv6 NDP не отвечающим на NS
Sergey Matveev [Wed, 22 Nov 2023 17:40:02 +0000 (20:40 +0300)]
Бага в FreeBSD с IPv6 NDP не отвечающим на NS

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233683
http://www.git.stargrave.org/?p=ndproxy.git;a=summary
В f1dc900ba79ee0d1f87977c16bfbf61c574bbcdf занимался запуском ndproxy и
пробрасыванием /48 сети. Закончилось всё тем, что ndproxy работает как
мне надо после изменений, но спустя какое-то время он перестаёт отвечать
на часть NDP neighbor solicitation запросов. printf-ы в dmesg-е показали
что пакет до ndproxy вообще не доходит. Ядро слепо к NS-ам становится.

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

Однако решил посмотреть: а какие именно изменения в API pfil произошли и
нельзя ли ndproxy поменять под них? Оказалось что всего-то надо было:
    -  pha.pa_func = packet;
    +  pha.pa_mbuf_chk = packet;
    +  pha.pa_mem_chk = NULL;
И действительно оно под FreeBSD 14 прекрасно работает. Отправил патч
автору.

17 months agogit reflog это тоже полноценные ссылки на объекты
Sergey Matveev [Wed, 22 Nov 2023 17:32:33 +0000 (20:32 +0300)]
git reflog это тоже полноценные ссылки на объекты

Делал тут rebase одного репозитория, схлопывая кучу коммитов в один. При
этом были удаления огромных файлов. git log --stat показывает что кода
осталось с гулькин нос во всей истории, но .git директория занимает
полсотни мегабайт. git gc --aggressive --prune=now всё равно не очищает
то, на что ничего не ссылается (как мне казалось). Никаких веток, тэгов,
remote-ов -- ничего нет лишнего. git fsck --full --unreachable
--dangling тоже ничего не показывают.

Только после всего этого глаз зацепился за наличие reflog-а, который и
после кучи rebase-ов содержал тьму ссылок. Я почему-то думал, что он
именно как log себя ведёт -- в любой момент объекты на которые он
ссылается могут пропасть. Но только после его подчистки (git reflog
expire --all --expire=now), git gc всё схлопнул до 85 килобайт.

17 months agoГодность redo-sh
Sergey Matveev [Wed, 22 Nov 2023 11:30:29 +0000 (14:30 +0300)]
Годность redo-sh

http://news.dieweltistgarnichtso.net/bin/redo-sh.html
Про redo-sh реализацию redo я знал давно, но не мог у себя запустить,
ибо он работает только либо с GNU, либо с BusyBox. Например даже просто
узнать размер файла (7cdceadae4be75a1cc450f380e01b667ef5ca7d5) нифига не
получится ему.

Но тут запустил его под GNU/Linux-ом с одним из моих проектов с redo.
Я принципиально не использую ничего, кроме redo, redo-ifcreate и
redo-ifchange. Никаких -always или -stamp. Но redo-sh уходит в
бесконечный цикл на сборке некоторых целей. Я всё проверил: может быть
где-то как-то сам от себя кто-то зависит, но нет. Так что какой-то этот
redo-sh не юзабельный.

17 months agoПочтовый сервер на vpsville.ru
Sergey Matveev [Wed, 22 Nov 2023 08:26:04 +0000 (11:26 +0300)]
Почтовый сервер на vpsville.ru

Вчера (f1dc900ba79ee0d1f87977c16bfbf61c574bbcdf) начал использовать
сабжевый VPS. А сегодня мне сказали что PTR для IPv6 адресов они не
прописывают. То бишь, почтовый сервер у них не поднять. Вообще это
пока первая попавшаяся VPS которая этого не может сделать.

17 months agoG.U.T. -- My Only Drug Is Madness
Sergey Matveev [Tue, 21 Nov 2023 19:15:02 +0000 (22:15 +0300)]
G.U.T. -- My Only Drug Is Madness

https://www.discogs.com/release/1309039-GUT-My-Only-Drug-Is-Madness
https://www.metal-archives.com/bands/G.U.T./96927
https://www.youtube.com/watch?v=ovV1o40mUVA
https://www.youtube.com/watch?v=BembNWJ_lwk
https://www.youtube.com/watch?v=ENacQJituFU
https://www.youtube.com/watch?v=X2J5cPzkAeE
https://www.youtube.com/watch?v=5hBPwKpdia0
https://www.youtube.com/watch?v=Op2drtt1H9c
Кроме жуткой возни сегодня (f1dc900ba79ee0d1f87977c16bfbf61c574bbcdf) с
VPS и NDP, не раз прослушал альбом главного из Solefald-а
(77d6fc201a7da5267ba59ce5047ee0f57ec26269). Grace Under Torture. Одни
только названия песенок радуют. Ну и такое танцевальное, забавное.

17 months agoGNU Name System
Sergey Matveev [Tue, 21 Nov 2023 18:54:39 +0000 (21:54 +0300)]
GNU Name System

https://datatracker.ietf.org/doc/html/rfc9498
https://www.gnunet.org/en/
https://www.gnunet.org/en/gns.html
https://bib.gnunet.org/
GNS аж опубликовали в виде полноценной RFC. Вот я среди всех сетей
касающихся анонимизации больше всего проявлял уважения к GNUnet-у.
Прям трушные серьёзные технологии, ни один шифропанк не придерётся.
Но вечная их особенность: тотальный академизм. Готового easy-to-use
решения не было. Собирать разные версии их экосистемы у меня выходило,
всё ok, но это было не тривиально, можно сказать что сложно. Ну тут и
тема вся сложная. На практике поэтому никаких крупных GNUnet сетей не
было.

Потом я как-то увидел презентации про GNS. Ведь с системами имён всё
очень просто описано в: https://en.wikipedia.org/wiki/Zooko%27s_triangle
(треугольнике Зуко). Человеко-запоминаемое, децентрализованное,
безопасное -- выбирайте два из трёх. Если кто-то начинает говорить что
блокчейн что-то там решает в плане децентрализации, то "иди отсюда
мальчик, не мешай". Ребята из GNUnet-а аналогично не считают каким-либо
вариантом все эти proof-of-work схемы, за что тоже получают уважения.
И когда люди предлагают что-то с человеко-запоминаемыми именами, то это
означает или централизацию, или отсутствие "безопасности", ну или фуфло
на блокчейне. А в GNS, насколько помню, предлагают локально иметь
человеко-читаемые алиасы, плюс возможность использования алиасов (как в
UUCP shebang пути) у друзей. Но при этом всё построено конечно же поверх
нечеловекочитаемых хэшей/ключей. Мне это выглядело очень неплохим
компромиссом и попыткой useable сопряжения безопасности и дружелюбности
к человеку. Но деталей уже не вспомню, да и за новостями не слежу по их
теме. Но если кто-то что-то и делает действительно шифропанковское
серьёзное, то это GNUnet, как ведь тоже под эгидой GNU есть и GNU Taler,
являющийся серьёзной (не blockchain) криптовалютой.

Плюс у GNUnet просто колоссальнейшая, ценнейшая и интереснейшая
библиотека материалов. Сколько я зачитывался там всякими книгами и
статьями!

17 months agoНачал использовать VPS с /48 подсетью. Правка ядерного модуля
Sergey Matveev [Tue, 21 Nov 2023 18:46:22 +0000 (21:46 +0300)]
Начал использовать VPS с /48 подсетью. Правка ядерного модуля

У меня такое впечатление, что последние недели я как-будто только сетью
своей домашней и занимаюсь. Но просто совпадение, что то одно, то другое.
Вчера вот перестал работать IP4Market туннельный брокер, уже больше
суток, не первый раз (aaf1553890450f4cf9ad2364d8f5f00341d3ef10). Причём
его сайт и endpoint работают, но IPv6 трафик никакой не проходит. Они
бесплатны, никаких обязательств нет, поэтому их и не поругать. Но сидеть
без огромной части Интернета не вариант.

Больше туннельных брокеров в РФ я не знаю. Из зарубежных только
Hurricane Electric, который по понятным причинам аналогично рискованно
использовать в плане стабильности. А все VPS что я видел: дают только
/64 сети, что жутко неудобно.

Но во время поиска, в каком-то где-то из комментариев увидел упоминание
VPSville.ru, который даёт /48 сети. Сайт без JavaScript не везде
работает, но чисто информацию полистать можно и без него. Они не то что
/48, но даже /32 могут выдать. Конечно не за бесплатно. Reverse DNS явно
говорят что могут выдать. Явно пишут что "чистые" адреса выдают, хотя
подешевле могут и использованные. Среди вариантов установленных ОС есть
и FreeBSD. Выглядело нормально.

Заказал себе самый простой их VPS и /48 подсеть. Знакомый помог с
оплатой через карточку (а то их офис находится где Коммунарка, далеко),
а мне пришлось доставать из под кровати ноутбук для запуска Knoppix, в
котором из коробки есть какой-то Chromium, ибо под surf-ом клавиатура
для RDP плагина их не работала, да и оплата через карточку вряд ли бы
заработала тоже.

Всё завелось через их web-интерфейс, в том числе и заявка на /48. При
создании предлагают пароль для root-а сразу задать, что мне понравилось.
Но потом он в открытом виде отсылается на почту всё равно, что
нивелирует пользу. Могу сравнить с HexCore.ru, на котором у меня сейчас
исходящий почтовый сервер. Среди пакетов есть ровно один: Zabbix клиент.
На HexCore был даже Bash, что лично мне очень не понравилось, конечно
же. На HexCore настройка IPv4 адреса происходила через... DHCP, а IPv6
через SLAAC. Ну come on! Тут же чисто статически настраиваемые адреса. В
HexCore у меня никак не работала загрузка ISO образа, до загрузки и не
доходил. Тут же и загрузка и установка и вообще всё создание с чистого
листа прошли без проблем или неожиданностей. В общем, как VPS, с точки
зрения конфигурации предварительной -- всё хорошо.

Но конечно же, я это и подозревал, читая их документацию: они выдадут
/48 сеть просто на виртуальный Ethernet интерфейс. Если бы я знал
сколько же это добавляет геморроя. Ну вот почему туннельные брокеры
нормально просто маршрутизируют в тебя -- никаких проблем, никакого
геморроя? Что тут то мешает, тем более когда выдаётся /48? Какой смысл в
такой огромной сети если предполагается что вся она не будет
маршрутизироваться?

Из коробки у них идёт древняя FreeBSD 11.0. Да пофиг, ладно. Установил
ndproxy, сделал gif IPv6-over-IPv4 туннель (как и туннельные брокеры
делают), просто статически маршрут прописал до части /48 адресного
пространства используемого у меня через этот интерфейс. И всё
заработало.

А потом перестало. Дёргаешь ndproxy (выгружаешь, загружаешь, меняешь
настройки) -- временами всё начинает работать, а потом снова прекращает.
Смотрел на tcpdump, но с ходу так и не понял в чём дело. Подумал что
возможно древняя ОС и последний ndproxy возможно как-то не штатно
работают вместе или баги имеются.

Решил поновее поставить версию. Нечаянно скачал FreeBSD 14.0, только на
днях вышедшую. Хотел 13.2, чтобы везде всё одинаково было. Но понял это
только когда уже вошёл в новую переустановленную систему. И... ndproxy в
ней просто не собирается вообще из-за смены API и какая-то структура
стала другие поля содержать. В портах ndproxy тоже помечен как не
собирающийся под этой версией. Пошёл закачивать 13.2 уже. Каждый такой
шаг это минимум полчаса времени потраченного, ибо и много данных
передавать и всё очень не шустрое в их VPS (не быстрый CPU).

И всё равно оно то работает, то нет. Очень внимательно пошёл читать не
маленькую документацию по ndproxy, чтобы понять какой куда IP в его
конфигурации надо засовывать. Убедился что точно всё правильно делаю,
без сомнений. Снова пошёл смотреть на tcpdump и стал замечать, что
вообще-то я отвечаю на запросы для хостов которые вообще не в моей сети
находятся. Маршрутизатор один, а вот запрашивает он множество ещё других
адресов. Я притворяюсь что их знаю и через какое-то время после всего
этого -- всё перестаёт работать. Причём даже сама VPS-ка не в состоянии
кого-то PING-ануть.

В ndproxy есть настройка ndproxyconf_exception_ipv6_addresses, в которой
можно игнорировать адреса. Но чем больше я смотрел на tcpdump, тем
больше убеждался что это не парочка каких-то служебных устройств в сети,
а вообще их количество уже на десятки шло. Указать несколько штук в
ndproxy ещё можно бы было, но тут вообще разные сети. ndproxy для такой
задачи вообще не подходит, судя по документации, не предполагающей
подобное.

Косяк ли это провайдера, который шлёт меня не касающиеся NDP? Думаю что
да. Ибо достучаться из своей сети до этих хостов я всё же не могу. Но
и маршрутизатор я своими ответами "сбиваю" на какое-то время.

Пошёл я править сам ndproxy. Он умеет игнорировать адреса по заданному
списку. А мне надо вообще-то прямо противоположное: отвечать только вот
на эти чётко указанные сети. С десяток строчек Си кода поправил и сделал
простое сравнение элементов списка: если первые 48-бит совпадают, то
значит можно. Вижу что перестал отвечать на не свои адреса. Но потом всё
снова перестало работать, и на самой VPS-ке. Увидел что я и перестал на
NDP пакеты link-local адреса отвечать. Усложнил логику проверки адреса:
если это link-local адреса (прям макросы для этого есть в ОС), то
проверить на равенство последние 64-бита. А противном случае: первые 48.
Ещё добавил логирование явное: на что мы ответили, а что
проигнорировали -- в dmesg можно увидеть.

Стало всё сильно лучше: прям многие минуты все хосты работают (ping до
Интернета) через всё это прокидывание. Но... иногда всё равно
отрубается, но сильно реже. Снова tcpdump, рассматривание уже dmesg-а и
вижу что почему-то advertisement о link-local адресе совсем перестаёт
через какое-то время отправляться. Да и запроса о нём нет. Устал уже,
поэтому проблему "решил" cron-ом и явным убиранием/добавлением этого
адреса на интерфейс, чтобы форсированно инициировать посылку unsolicited
advertisement-а.

Бля, вообще это всё к концу уже порядком начало выбешивать. Не, мне
понравилось с первого раза править Си код, который загружается и
работает в ядре, делает что я от него хочу. Но какого хера провайдеры
делают такую подлянку пользователям? Неужели у них это существенно
что-то упрощает в инфраструктуре, чем просто тупо (раз всё равно для
себя они статический адрес для шлюза используют)? Или это специально
увеличивают порог вхождения и геморроя чтобы /48 сеть не могли
использовать с удобством полноценно? Костыли в виде ndproxy уже
написали, но даже они не рассчитаны на такую архитектуру как у этих вот
(или это всё же просто бага их маршрутизатора, который шлёт мне то, что
не должно).

И ведь наверняка из-за подобного многие люди и считают что IPv6 это
сложно, геморрой и ад. А всё потому что делают не по best practices, без
грамотного проектирования сетей. Короче, сами себе создают проблем.

PTR запись ещё не пробовал себе заводить. Видел что это тоже делается
через обращение в техподдержку. Причём было упомянуто, что они не прочь
проверить есть ли у меня права владения доменом. Это очень удивило (в
хорошем смысле): ведь никогда прежде никто этим не интересовался ни из
домашних провайдеров, ни из VPS.

Если с PTR проблем не будет, то тогда окончательно избавляюсь и от
Hurricane Electric, который до сих пор у меня всё ещё остался для
входящей IPv6 почты. Причём реально только для неё: используется
отдельная таблица маршрутизации (884f5eb6a88411f947a0d6c3fecd37c612a51654)
для трафика почтовика.

Во время запроса на создание /48 сети, по электронной почте связывался с
техподдержкой. В конце они попросили меня предоставить какой-нибудь
альтернативный адрес, а то у них что-то там в их системе не работает
из-за плюсиков в адресе (stargrave+vpsville@). Хотя я и логинился и все
остальные действия без проблем выполнял. Эх...

В общем, целый день был убит. Три переустановки (в первый раз установка
обломилась, и я явно нашёл баг в ней). tcpdump, tshark, ещё больше
tcpdump. Правка везде всех конфигов (что в общем-то заняло не более
10мин наверное). Возня с ndproxy, его изменение. Но в конце всё же уже
более надёжная (не как у бесплатных туннельных брокеров) /48 сеть.

VPS-ка что-то типа 350руб/мес стоит, а /48 аж тысяча. Плюс плата за
домашний провайдер и за статический IPv4 адрес. Почти ровно две тысячи в
месяц выходит доступ в полноценный нормальный Интернет.

Закончились ли мои приключения на сегодня? Отнюдь! Ведь нужно же ещё
glue records поправить для DNS серверов. А это ёбаный (да, да, именно
такой уже) reg.ru (14f327a48c97f751dc12e30b993afb2e66171805). Взял за
сегодня проверенный и отработанный Chromium, залогинился у них. Тыкнул
на свои домены... и ничего. Тыкаю на другие вкладки... и ничего. Но
увидел какую-то плашку самого броузера что он там чего-то
назаблокировал. Оказалось, что в Knoppix штатно из коробки стоит uBlock.
Никогда в жизни подобными штуками не пользовался, а тут оказалось что
всё это время он был включён. И я подумал что наверное из-за этого
reg.ru и не работает. Удалил его. Перезапустил броузер. Ура, вкладки
начали открываться! А вот тыкание на сам домен, чтобы мне показали
возможно поменять список DNS серверов -- не работает. Видимо с 90-х у
меня ещё остались какие-то инстинкты Windows пользователей и я решил
перелогиниться и снова перезапустить броузер. И да: меню для правки
доменов появляются. Из drill NS вывода копирую доменное имя первого
сервера, помня что мне должны предложить, видя что этот от же самый
домен (а значит к нему можно сделать glue record), но мне не предлагают.
Методом тыка я понял что точка на конце всё портит. Хотя перед этим я
оставит только "....nsX", ведь в нормальном DNS софте если не указать
точку в конце, то это будет "относительное" имя, а значит
"ns.stargrave.org" станет "ns.stargrave.org.stargrave.org.". Срать
reg.ru хотел на это -- нужно чтобы остался "stargrave.org" в конце и
никак иначе. Предложили в итоге glue record. Если попытаться набрать с
клавиатуры там что-то, то после любого символа всё что-то мигает и фокус
с поля ввода пропадает! Ввёл символ -- а дальше заново нацеливайся
мышкой на поле ввода и тыкай на него. Где там курсор/фокус, куда он
уходит -- понятия не имею. Пиздец. Это просто на нитроглицерине
полнейший un-usability! Поэтому в консоли я полностью формирую полную
строчку для вставки, как Windows пользователь правой кнопкой мышки
копирую в буфер обмена, чтобы в броузере вставить. Shift-Ins или третья
кнопка почему-то на reg.ru не срабатывают, хотя из терминала испокон
веков так вставляли без проблем. Я реально наверное потратил 20-30мин на
всё это дело, которое прежде занимало наверное минуту, из которой
большая часть времени это было бы копирование логина/пароля и IP адресов.

17 months ago8088 vs Z80 vs 6502
Sergey Matveev [Mon, 20 Nov 2023 19:22:27 +0000 (22:22 +0300)]
8088 vs Z80 vs 6502

https://trixter.oldskool.org/2011/06/04/at-a-disadvantage/
https://groups.google.com/g/comp.os.cpm/c/OG4tTERPtto/m/yC5iUh79CQAJ
https://news.ycombinator.com/item?id=38345053
https://retrocomputing.stackexchange.com/questions/5748/comparing-raw-performance-of-the-z80-and-the-6502
5MHz Intel 8088 за тысячи долларов с мегабайтным адресным пространством
был ли быстрее Commodore 64 с 64KB адресами, 1MHz процессором и на
порядок дешевле? Пишут, что запросто:

    Let’s illustrate this with a fun example:  Rotating a byte of memory
    once using ROR (rotate right). We’ll keep it fair by treating the PC
    like it only has a single 64K segment of memory. First, the 6502
    version using ROR:

   Cycle                       Operation
   1     fetch opcode, increment program counter
   2     fetch low byte of address, increment program counter
   3     fetch high byte of address, increment program counter
   4     read from effective address
   5     write value back and do operation
   6     write the new value to the effective address

   6 cycles. Now the 8088 version:
   Cycle                                      Operation
   1     ROR BYTE PTR [1234],1 expands to “D0 0E 34 12” so let’s get to fetching the opcode:
   2     (still fetching…)
   3     (still fetching…)
   4     (still fetching…)
   5     (still fetching…)
   6     (still fetching…)
   7     (still fetching…)
   8     (still fetching…)
   9     Fetch lowbyte of address
   10    (still fetching…)
   11    (still fetching…)
   12    (still fetching…)
   13    Fetch hibyte of address)
   14    (still fetching…)
   15    (still fetching…)
   16    (still fetching…)
   17    Perform operation, which takes 15 cycles + EA calculation (6)
   …     …
   37    Final cycle of calculation, we’re done, yay :-/

Я вот никогда не задумывался кто из них быстрее. Ну типа там 5MHz, а тут
1MHz. Само собой я в курсе про стоимость обращения к памяти, размерности
шин, регистров, RISC/CISC и всё вот это. Просто никогда не задумывался о
том, что в ряде задач такой дорогой и современный новенький ПК (на тот
момент) мог всё равно уступать в ряде вычислительных задач.

17 months agoApple то собирается вовсю поддерживать JPEG XL
Sergey Matveev [Mon, 20 Nov 2023 11:06:01 +0000 (14:06 +0300)]
Apple то собирается вовсю поддерживать JPEG XL

https://www.computerweekly.com/blog/CW-Developer-Network/Cloudinary-The-dramatic-story-of-JPEG-XL-support-so-far
https://cloudinary.com/blog/jpeg-xl-how-it-started-how-its-going
https://forums.theregister.com/forum/all/2023/06/07/apple_safari_jpeg_xl/
https://old.reddit.com/r/firefox/comments/16mgpjf/apple_ios_17_just_brought_jpeg_xl_support_to/
Apple собирается поддерживать JPEG XL во всех своих основных продуктах.
Что снова пугает, как с AV1 (f11e227b03c81a528388ec7cce9d16bff78310a4),
ведь прежде Apple ничего хорошего толком не поддерживала из форматов.

17 months agoКак работает dhclient с DHCP
Sergey Matveev [Mon, 20 Nov 2023 07:24:00 +0000 (10:24 +0300)]
Как работает dhclient с DHCP

https://habr.com/ru/companies/yandex/articles/774462/
Язык подачи, лексикон автора мне люто не нравятся, но особенности работы
с DHCP интересны. И с самого начала я сразу подумал про DHCPv6 и SLAAC:
насколько же там всё проще, ибо link-local сеть сразу имеется. В конце
статьи это тоже отметили.

17 months agoСнова firewall. Поднял collectd. Ошибки на 10GbE витой паре
Sergey Matveev [Sat, 18 Nov 2023 15:11:00 +0000 (18:11 +0300)]
Снова firewall. Поднял collectd. Ошибки на 10GbE витой паре

https://collectd.org/
https://calomel.org/rrdtool.html
После начала применения AQM с FQ-CoDel
(6588786a31b2cbec545beeecf1232338609ff9ce), захотелось на графиках
трафика за длительное время посмотреть меняется ли чего. Так то
невооружённым глазом вижу насколько всё стало отзывчевее -- прям это
реально must-have! А вот BitTorrent трафик в последнее время не забивает
весь канал на выход. Но у меня тут большие пертурбации со всеми этими
торрентами были и возможно дело именно в них -- в особенности их "роя
пиявок" (так и оказалось). Плюс снова люто порефакторил правила своего
firewall-а, ибо я тут вообще конченый идиот (даже после
f8e2e4dfc6870c4dad7e62be9bb02ae9dd73d180).

Сколько раз я видел в man-ах, в документациях, и на ответах на форумах
FreeBSD упоминание того, что пакет штатно проходит два раза firewall?
Тысячу. Но как-то до меня это совершенно не доходило и в голове я по
сути делал one_pass для пакета -- разрешил ему вход, а дальше как-то
считал что с ним покончено, решение принято, он должен уйти. И не всегда
я понимал почему то тут, то там правило не отрабатывает как я ожидаю.
Прозрел. Сделал по сути аналоги цепочек как в iptables:
    $add skipto 02000 ip4 from any to any in
    $add skipto 04000 ip4 from any to any out
    $add skipto 08000 ip6 from any to any in
    $add skipto 10000 ip6 from any to any out
где я уже осознанно понимаю что где пакет вошёл, а где выходит. Когда
логировал пакеты, то обнаружил что один и тот же пакет у меня по два
раза входит в NAT: когда входит по внутренней сети, и когда выходит
наружу, очевидно. Не, всё это работает, просто отнюдь не самым
эффективным образом.

Более того, сколько раз я читал про recv и xmit, in/out правила и
разницу между via и ними? Сколько раз писали что например у loopback
пакетов нет in/recv? Но я всё равно в некоторых правилах решил как можно
точнее типа описывать что я хочу и в итоге многое у меня всё равно не
работало. Когда дошло про все (?) особенности in/out пакетов, то прям
чувство что я на 100% понимаю почему, как, зачем и для чего каждая
строчка (кроме всего что касается queue/shaper) ipfw мне нужна. Плюс
даже строчки с tablearg стал делать:
    $add 10000 queue tablearg ip6 from any to any out xmit "table(ip6out)"

После всего этого, искал кто может собирать всякую статистику и красиво
в RRD-like виде отображать. Ну и чтобы попроще, типа suckless. Вообще и
самому то не сложно написать всё это, но остановился на collectd. А в
качестве интерфейса использую его Perl CGI скрипт, который просто парсит
директорию на файловой системе с иерархией проб и для кучи .rrd файлов
вызывает rrdtool для рендеринга. Но rrdtool, если хочется рендерить,
зависит от Cairo, который вообще тянет за собой очень нехилые по тяжести
зависимости. Иметь такое на сервере не хотелось бы. Но так как смотреть
то это всё буду только я, а rrdtool на моей машине имеет все зависимости
(и так X11 и Cairo есть), то я монтирую директорию с данными collectd по
NFS и локально запускаю web-сервер, который дёргает CGI. На сервере
rrdtool собрал облегчённой версии.

Сервер то у меня godlighty, давно не делал в нём настроек, кроме
copy-paste статических сайтов. Но CGI добавить тривиально, пример даже
не забыл закоммитить.

    godlighty.Hosts[host] = &godlighty.HostCfg{
        Root:    "/tmp",
        Hooks: []godlighty.Hook{
            func(w http.ResponseWriter, r *http.Request) bool {
                rc.RunCGIAndLog(host, w, r, &cgi.Handler{
                    Path: "/usr/local/www/collectd/collection.cgi",
                    Dir:  "/var/empty",
                })
                return true
            },
        },
    }

Заметил что торренты ночью поспокойнее раздаются. Со времён ivi то я
помнил что реально люди спят по ночам, а не смотрят фильмы, поэтому
обновления софта на серверах там проходило в ночь с воскресенья на
понедельник. Но я думал что BitTorrent то уж на ночь, как минимум,
оставляют, а днём наверняка многие отключают чтобы не мешал. Помню и про
зарубежных пользователей, да и про россиян, где чуть ли не на полсуток
может быть разница в часовом поясе -- но волна трафика у меня повторяет
картину которую на MSK-IX или ivi можно видеть.

А ещё обратил внимание, что на 10GbE, который к к моему рабочему
компьютеру идёт по обычной витой паре -- прям постоянно и регулярно
имеются ошибки передачи, даже при трафике в несколько MiB/sec. Не, я с
самого начала на это обратил внимание и ничего тут удивительного конечно
-- ибо это обычный Cat.5. Но по twinax DAC-у ошибок нет вообще, по нулям.

17 months agoЕщё мнение о безопасности Kyber-512
Sergey Matveev [Sat, 18 Nov 2023 14:10:53 +0000 (17:10 +0300)]
Ещё мнение о безопасности Kyber-512

https://keymaterial.net/2023/11/18/kyber512s-security-level/
Ещё одно мнение, как ответ на 4ca82055dbf8366e3693d34ba989f0a3816fe0d2 от DJB.

17 months ago"Восстание" Клайва Баркера
Sergey Matveev [Sat, 18 Nov 2023 08:20:29 +0000 (11:20 +0300)]
"Восстание" Клайва Баркера

https://www.livelib.ru/work/1001221066-vosstanie-klajv-barker
Прочитал этот рассказ и понял откуда бегающие по земле руки в Blood
(0a60b951f1ae358841b0891e5bf8416e0b525672,
fdf43510092845258734616655374f1602b58a56,
6608209ea8cda8b3e8a08cd876e72ccce39f82a9) взялись! Человеческие руки
решили восстать, избавиться от хозяев и душили, убивали и отпиливали
себя, бегая стадами по земле. В книге говорит что это возможно просто
одна из репетиций апокалипсиса -- а вот в Blood он вовсю и происходил!

17 months agoКультовые стратегии 1990-х
Sergey Matveev [Sat, 18 Nov 2023 08:03:37 +0000 (11:03 +0300)]
Культовые стратегии 1990-х

https://www.youtube.com/watch?v=NN4e7gT5_98
Почти во все эти стратегии играл. И кроме M.A.X.
(5648578d297f9e69a6e9b3da5a9e9885abcc8488) и Total Annihilation
уже и не вспомню какие вообще стратегии после 90-х то я и трогал.
Не раз от людей слышал что стратегии, как и point-and-click adventures
вымерли как жанр.

* SimCity -- играл в SimCity 2000. Интересная штука, но не зависал
* Populos -- вот в это не играл, но многое слышал
* Civilization -- да только вчера я в очередной раз запускал FreeCiv
  поиграть пару часиков. FreeCiv это что-то типа Civ2 -- кардинально не
  сильно ушедшая от самой первой части. Даже есть регресс, в виде
  отсутствия возможности отстраивать себе замок
* Duna 2 -- с ней я познакомился после Warcraft 2, поэтому уже ничем не
  впечатлила. Только пару уровней наверное прошёл
* Settlers -- только слышал, но не играл
* Panzer General -- аналогично
* X-COM -- в неё уйму времени играл. Как в Enemy Unknown, так и Terror
  From The Deep. И не раз запускал OpenXCom свободную реализацию без
  каких-либо модификаций. Шедевральна!
* Warcraft -- с первой части познакомился уже после второй. И управление
  там было не шибко удобное. Но в Warcraft 2 обожал играть, много
  времени на него потратил
* Heroes Of Might And Magic -- играл только во вторую часть, даже
  недавно собирал свободный движок (без проблем собралось, всё
  игралось). Знаю что третья считается самой самой, но так и не трогал её
* Command & Conquer -- а вот эта серия игр мне совершенно не зашла. Упор
  не на строительство, а на войнушку. Вот прям совсем не моё
* Age Of Empires -- ради неё (и Fallout 2) я собирал и ставил WineHQ.
  Офигеннейшая стратегия. Причём боготворят то вторую часть, а я только
  в первую играл. Пожалуй, что я скорее в неё ещё раз сыграю чем в
  Warcraft 2. Microsoft тут молодец
* Starcraft -- насколько понимаю, среди всех стратегий именно в эту надо
  в первую очередь сыграть. Но я сколько не пытался её из разных
  источников скопировать и запустить -- всегда не запускалась из-за
  защиты от копирования. В итоге я так и ни разу не запустил. Сейчас это
  не должно быть проблемой под WineHQ, но уже не тянет на RTS

17 months agoЧат поверх SSH
Sergey Matveev [Fri, 17 Nov 2023 09:23:55 +0000 (12:23 +0300)]
Чат поверх SSH

https://medium.com/@shazow/ssh-how-does-it-even-9e43586e4ffc
https://www.tecmint.com/ssh-chat-linux-terminal-chat-client/
https://github.com/shazow/ssh-chat
https://en.wikipedia.org/wiki/Talk_(software)
Подумал тут, что ведь наверняка же кто-то уже должен был написать
простой чат просто поверх SSH? И автор shazow/ssh-key написал статью с
такими же мыслями как и у меня. SSH есть у всех из коробки на любой ОС,
в нём даже постквантовая криптография уже идёт из коробки, используется
TOFU и никаких требований PKI, аутентификация клиента уже сама собой
происходит по публичному ключу.

Когда-то ведь talk/talkd программы были в Unix-ах для этой простой
задачи. Точнее они и сейчас из коробки идут в той же FreeBSD. Но
заставить с ходу всё это работать, учитывая что я сижу в X11 и
терминалах на pts-ах.

17 months agoSession и XMPP
Sergey Matveev [Thu, 16 Nov 2023 17:05:09 +0000 (20:05 +0300)]
Session и XMPP

https://getsession.org/
Кто-то мне предложил пообщаться в Session IM. Вроде бы впервые про него
услышал. Поглядел на его whitepaper. Не федеративная, а распределённая
сеть, но которая использует... blockchain и криптовалюту. Сисоп сервера
участника сети буквально должен заплатить чтобы в ней участвовать. То
есть, она не бесплатна. Если я не могу быть её частью, то значит ни
распределённости, ни федерации тут конечно же для меня не будет.
Бесплатно я, видимо, могу подключиться будучи просто потребителем,
пользователем чьих то ресурсов. Банальное разделение на богатых, кто
рулит сетью и серверами, и тех, кто не собирается платить за IM. Плюс,
насколько понял, даже сами клиенты вынуждены делать proof-of-work для
того, чтобы сохранить свои публичные ключи на серверах сети.

Ладно, даже если про это забыть. То в разделе Download нет ни одной ОС
которая бы у меня была. Судя по GitHub, для desktop у них только нечто
написанное полностью на TypeScript, Очевидно что это нечто совершенно
неюзабельное будет, работающее только в GUI, жрущее ресурсы похлеще
криптовалют.

Задался я тут вопросом: а насколько вообще тяжело поднимать сейчас XMPP
сервер то? Я его давно не держал у себя, давно не поднимал. Очень
нравился Prosody, ибо лёгок, написан на Lua, требует совсем немного
Си-зависимостей (для разумной производительности), имеет кучу фич, очень
легко и просто настраивается. Поднял его с нуля, потратив 90% времени на
то, чтобы понять как заставить Lua искал .so в директории
~/xmpp/local/lib/lua/5.4. В итоге просто в самой Lua (luaconf.h) при
компиляции задал нужный путь. Взял 6855f1c4e5ade25cfd4a97941ce6dab32cedb18a
xmpp-client клиент на Go, всё тип-топ заработало.

Ну и главный вопрос то был: небось же сейчас, при федерации, серверы
будут требовать TLS и чтобы они ему могли доверять? TLS сертификат то я
сделал с самого начала, но XMPP сервер FSF отказался со мной общаться,
ибо не доверяет ему. А jabber.ru не отказался (хотя я и не смотрел,
может быть вообще он не по TLS соединялся).

Поэтому и XMPP как некое универсальное решение для IM-ов, из-за того,
что сисопы требуют чтобы сервер получил разрешение от организаций
США/НАТО на "безопасную" (8fafe32b1788cb579e357c4fad54ec039d600677)
связь. Может быть ещё CA и каких-нибудь других юрисдикций используют, но
навряд ли и... какого чёрта? Вот если один человек для связи с другим
будет регистрироваться (через XMPP клиент) на его сервере, то это хоть
как-то может работать, но тогда смысла в федерации никакого уже нет.

17 months agoПопробовал TCP Fast Open
Sergey Matveev [Thu, 16 Nov 2023 13:03:11 +0000 (16:03 +0300)]
Попробовал TCP Fast Open

о котором узнал в 88ce198f30f60b4201e7ccc142d9942fa8104412.

Глядя на исходный код cURL и GnuTLS, в которых есть его поддержка,
оказалось, что они только для GNU/Linux или macOS. Видимо, когда был
hype на эту тему, то в macOS оно раньше появилось.

Вообще просто так его включить то не сложно: setsockopt(sock,
IPPROTO_TCP, TCP_FASTOPEN, ...). Но посылки данных с первыми SYN-ами
конечно не будет. Для этого надо делать не connect(), а
sendto(sock, ...). Что не всегда тривиально легко сделать. У меня код
подключения (connect()) и создания сокета были совмещены в одной
функции. После которой и всякий Capsicum включался, который sendto и
setsockopt не даст выполнить просто так. В общем, немного порефакторить
пришлось код.

Данные от сервера же могут не пойти с первым SYN+ACK если успеет
сработать таймер на delayed ACK. Но в трафике теперь видно что handshake
сообщение от клиента идёт с первым пакетом, тогда как от не быстрого
сервера приходит SYN+ACK, SYN, но он в это время уже считает
Диффи-Хельмана.

17 months agoТехподдержка провайдера моего
Sergey Matveev [Wed, 15 Nov 2023 11:16:27 +0000 (14:16 +0300)]
Техподдержка провайдера моего

Сегодня я массово захотел в скриптах bootstrap-а одной системы
пообновлять ПО. Скачать новые tarball, прописать их хэши. Только я
сделал rm старых версий, wget, как всё перестало работать. Пропал link
на коммутаторе от провайдера.

И причём вот именно сегодня, прям за пару часов до этого, я подумал что
не стоит ли мне поднять Git сервер на VPS-ке, добавить просто во все мои
репозитории как второй remote, но один общий git.-домен на них всех
иметь, чтобы хоть какая-то отказоустойчивость была в случае потери
домашнего Интернет-канала была.

И совсем недавно ведь заходила речь об Интернет провайдерах и их
техподдержке (262b66f5903b5afd217ee5acf43df0ac6fb8fd86). Но у меня
проблемы возникали только с Ростелекомом. Мой текущий провайдер, не
дожидаясь от меня вопросов уточняющих, сам сообщил (когда я ему позвонил
в техподдержку) что что-то у них странное и несколько коммутаторов,
действительно, вообще перестали отвечать, но не во всём доме. И сбоев
электричества не было, как им ответили в энергокомпании (прежде у нас
все проблемы только из-за электричества возникали).

17 months agoШиповник
Sergey Matveev [Tue, 14 Nov 2023 08:38:21 +0000 (11:38 +0300)]
Шиповник

https://habr.com/ru/companies/kryptonite/news/773640/
Ещё вроде бы не стандартизован окончательно, но похоже что для
постквантовых подписей Шиповник и будет использоваться. Выложили вот
2-BSD реализацию на Си (вот правда почему-то CMake как сборочная система
задействована).

17 months agoДед Мороз со Снегурочкой на дом
Sergey Matveev [Mon, 13 Nov 2023 14:48:50 +0000 (17:48 +0300)]
Дед Мороз со Снегурочкой на дом

https://moslenta.ru/news/city/cena-priglasheniya-13-11-2023.htm
Помню что в детстве, когда ещё был в детском саду, к нам как-то приходил
Дед Мороз со Снегурочкой домой. Уж не знаю что был за день, возможно
выходной, ибо и мама и я были дома. Я тогда наверное и не задумывался
существует ли по-настоящему Дед Мороз или нет. Но до сих пор помню как я
был впечатлён, восторжен, удивлён и ошеломлён увидев как он такой
большой и высокий, с бородой, посохом к нам заходил в гости. Помню что
был глубокий величественный голос, как и полагается.

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

Очень не много моментов я из детства помню, но Деда Мороза не забываю.
Было, так сказать, волшебно. И я точно никогда не задавался вопросом
"настоящий" ли он или нет, ибо без сомнений, конечно же -- да. И никогда
не спрашивал родителей знали ли они про то, что он внезапно вот так вот
просто заглянет к нам в гости (хотя это длилось то минут десять наверное),
ведь по другому и быть не могло.

Нашёл вот и фотографию, где фиг когда-либо увидишь чтобы я был таким
довольным.

17 months agorfc4880bis vs crypto-refresh
Sergey Matveev [Sun, 12 Nov 2023 13:18:42 +0000 (16:18 +0300)]
rfc4880bis vs crypto-refresh

В рассылке GnuPG показывают что всякие крупные дистрибутивы меняют GnuPG
и откатывают его изменения на использование RFC4880bis, который, судя по
словам Коха, вообще-то даже в госучреждениях Германии вполне себе
используется активно. Вижу что в crypto-refresh до сих пор присутствуют
и GCM и EAX режимы. Кох яростно против GCM, а EAX выпилен просто из-за
ненадобности (d7d5650cac3bbb74434b202924e72fec10b82db3).

Мне кажется, что OpenPGP уже стоит стоит начать закапывать. Ибо уже
теперь у нас есть GnuPG как одна из реализаций со своим видением и
своими стандартами, а всякие другие (почему-то только помню что они
написаны на JavaScript и Rust), которые очень хотят всякое дерьмо типа
GCM (в том числе). В общем, отсутствие совместимости или архаичные
стандарты.

17 months agoГитары в Triumphator
Sergey Matveev [Sat, 11 Nov 2023 20:20:38 +0000 (23:20 +0300)]
Гитары в Triumphator

https://www.youtube.com/watch?v=qm1nbDv-2TM
Сразу можно догадаться кто играет на гитаре, особенно когда по вокалу
сразу понимаешь вокалиста Marduk и Funeral Mist. Точно такой же принцип
игры постоянно и в Funeral Mist (f046ef80dbb484b79390b02dfe1bdb6604649159,
1e284de49d82ac68cdaefa87f0d7fe1e4cad810d,
e214fe14c62f7a230300894a462e891d075d17f5).

17 months agoLindemann продолжает жечь
Sergey Matveev [Sat, 11 Nov 2023 17:55:01 +0000 (20:55 +0300)]
Lindemann продолжает жечь

https://en.wikipedia.org/wiki/Zunge_(album)
Тилю в Rammstein уже видимо давно скучно и они не особо шокируют людей,
поэтому как-то он с Peter Tägtgren (834f8979ff975c64cd424ba46eab85e1910802e5,
весьма крутым дядькой) замутил "Lindemann" проект.

Сейчас они уже не особо дружат, как Петер сказал в одном интервью, но
два неплохих альбома выпустили, и крутые концерты давали
(52ab03b596ffd133c7f5c9530606e864ea06d8a1).

Затем он был "Доктором Членом", продавал самотыки, и в видеоклипе пялил
питерских проституток, уже будучи музыкальным проектом "Nu Chui". Далее
был тур с названием "Я ненавижу детей". Многие его перестали уважать, но
я во всём этом не увидел чего-то сильно выходящего за рамки дозволенного
(ну... для артиста).

То что он за уничтожение русских, за нацистов: ну да, с одной стороны --
мразь поганая, с другой -- я продолжаю общаться и с немцами, и
голландцами и в курсе какая цензура, искажение фактов до совсем-наоборот,
и враньё в их СМИ на всю эту тему. Чего-чего, но только не правду им
будут толкать.

Далее на него наехали за якобы сексуальное насилие над ничего не
подозревающей наивной дурочкой фанаткой. Конечно же это оказалось всё
вымыслом и от него отстали.

Ну и вот у него теперь "Till Lindemann" группа, где половина состава это
сексапильные девочки. И недавно вышел их первый альбом. Часть трэков --
так себе. Но часть вполне себе хитовые. Я уже не раз переслушал. Среди
тех, кто пишет тексты песен: black металлист.

А также увидел многое с концерта открывавшего их тур из Лейпцига. Не,
порнографии там конечно не занимать, но это явно было неимоверно круто.
Сохранил себе было несколько ссылок с очень крутейшими моментами, но вот
обнаружил что все их YouTube удалил. Они также продолжают исполнять
песни и из "Lindemann" проекта. Я считаю что он (или кто ему там
помогает со всем этим) -- überпрофессионал своего дела. Мне прям почти
всё нравится: и как он выглядит, и как ведёт себя, и что на экране, и
остальные музыканты и как вообще шоу устроено. Начинать концерт с
медлячка, как они делали в Москве -- когда-то меня сильно удивило и
поразило (какие-нибудь Rolling Stones, на которые ходили родители,
начинали с выстрела пушки) когда-то, но теперь я прям понимаю что это
очень мудро и правильно подготавливать так толпу. Делать паузу на две
секунды в нужном месте в Knebel -- автоматом означает не то что
фейерверк, а взрыв от избытка чувств у присутствующих. В общем даже на
видео со смартфона это всё было и выглядело безумно круто.

А ещё он выпустил видеоклип, который почти сплошными русскими
срежиссирован и сделан ещё в 2019-ом, на одноимённую песню альбома. Ну
то что он там себе гастроскопию делает -- фиг с этим, я грайндкорщик и
насмотрелся на обложках подобного вдоволь. То что ему по живому зашивают
рот и дротики втыкают -- ну ok, с кем не бывает, хотя и здорово что без
анастезии или чего-то подобного. Но вот в окружении тигров находится,
есть кусок который в зубах у онного, быть слизываемым чем-то похожим на
кровь -- вот это меня впечатлило, ибо выглядит страшно. Тигры и
дрессировщики были конечно братья Запашные. В интервью сказали, что
Тилль хотел чтобы они на него набросились, но его отговорили. Но все кто
с ним работал, подтверждают что он абсолютно адекватный, нормальный,
очень дисциплинированный человек, большой профессионал.

17 months agoПовспоминал LaTeX, PGF/TikZ
Sergey Matveev [Sat, 11 Nov 2023 17:09:02 +0000 (20:09 +0300)]
Повспоминал LaTeX, PGF/TikZ

Уже не первую неделю почти не программирую, а пишу всякую документацию к
своей разработке. Чтобы подготавливать печатный вариант -- такое впервые
в моей профессиональной работе. Прежде была только документация в итоге
выходившая хотя бы в виде HTML. На самом деле мне не говорили что нужен
печатный вариант, но если надо навставлять математических выражений, тем
более что-то порисовать, то первое в HTML геморрой, а второе в любом
случае я буду делать какими-то TeX-specific средствами.

Я никогда в жизни не рисовал схемки "от руки", разве что только в ASCII.
ec09a3609c081a53cc97bceecf2a1e98b80da667 b6c8b1922c3ac35ed0138b608115dc7c63e2cece
Только чётко детерминированные и явно расположенные друг относительно
друга элементы в TikZ. Но чтобы взять в руку мышку/трэкболл, расставлять
кружочки/квадратики и между ними указывать стрелочки? На за что!

Вообще LaTeX я время от времени брал в руки, но чтобы какой-нибудь отчёт
для секретариата сдать, просто копируя по шаблону кучу элементов. Не
могу сказать что я освежал знания о нём при этом. А сейчас я пересел на
XeLaTeX (993356e6db7459241dbd8c8312ea69bbb49045f7), с которым все мне
нужные и попадающиеся пакеты совместимы. Недостаток в нём правда есть:
hyperref не показывает какие именно ссылки не определены. Поэтому руками
время от времени запускаю pdfLaTeX только для получения этих ошибок.

Многое упростилось, стало надо меньше костылей. Начал обмазывать текст,
даже в мат-формулах ссылками внутренними для документа. По сути он
становится, как и HTML -- гипертекстовым, куда ни тыкни. Упоминается
HKDF? Тыкаешь: попадаешь на его определение. Какой-то K_{foo} ключ?
Тыкаешь и попадаешь на его определение.

Texinfo меня приучил стараться всё обмазывать ещё и индексами. В итоге
предметный указатель, как и в хорошем Texinfo документе, становится
очень удобен даже для меня, автора документа. Хотя это и превращается в
портянку copy-paste: \index{Foo} \hypertarget{Foo}{} \subsection{Foo}

Очень стараюсь соблюдать корректный вид шрифта/текста: если в тексте
используется название ключа/хэша/whatever, то его вид (курсив ли,
моноширинный ли) должен везде, включая формулы, оставаться стабильным. А
учитывая, что нужно ещё и ссылки делать, то вместо изначально предельно
простых записей становится месиво типа \hyperlink{Foo}{\texttt{Foo}}\Big(\big(

PlantUML оказывается умеет делать вывод в виде TikZ кода, пригодного для
\input-а в TeX. Но... как-то всё не так у него при этом с размерами. Или
буквы нормальные, но сама схема не влезает. Или схема влезает, но буквы
слишком маленькие. Для компактных схем ещё более менее, но у меня таких
почти нет. В итоге продолжаю делать вывод в Encapsulated PostScript.
GraphViz аналогично в EPS умеет. Ни в одном месте не будет растра,
только вектор!

Документация для TikZ у меня таскается в ~/doc/man/tex/ директории уйму
лет. Скачал тут обновлённую версию, которая на 1300+ страниц. Прежде
было раза в 2-2.5 меньше вроде бы. Ещё не смог прочувствовать насколько
ли в нём стало чего удобнее и мощнее -- пока хватало прежних запасов
умений.

Всё это переведено на redo конечно же:
    % cat default.pdf.do
    for i in *.plantuml ; do deps="$i.eps $deps" ; done
    [...]
    redo-ifchange $2.tex $deps
    exec >&2
    tmp=`mktemp -d`
    trap "rm -fr $tmp" HUP PIPE INT QUIT TERM EXIT
    prevAuxHash="dummy"
    while [ "$auxHash" != "$prevAuxHash" ]; do
        prevAuxHash=$auxHash
        xelatex -halt-on-error -output-directory=$tmp $2.tex
        ( cd $tmp ; makeindex $2.idx )
        auxHash=`b3sum < $tmp/$2.aux`
    done
    mv $tmp/$2.pdf $3

Есть таблички, где надо высчитывать "итого"/сумму столбцов. Ну не делать
же мне это руками? Но я потратил дофигище времени чтобы как-то красиво
решить эту проблему. Изначально я хотел чтобы сам TeX это посчитал. Даже
есть пакеты позволяющие вычислить сумму из столбцов, но какие-то они не
гибкие, сложные и шаг-в-сторону-расстрел. Просто эстетически не
понравилось. Есть pgfplotstable, который безумно мощен, крут, в нём даже
можно добавить столбец с суммой, а данные брать из полу-сырого внешнего
файла. Но мне нужен не столбец, а строка. Где-то в Интернете увидел
решение в виде: транспонировать таблицу, добавить столбец,
транспонировать назад. И всё это с экраном TeX кода который я не понимаю
(я в общем-то чисто начинающий user во всём этом *TeX мире). Хорошо,
подумал я: не надо хотеть странного -- в TeX можно импортировать данные,
а вот считать их уже как-то автоматизированно. В файлике с данными есть
сырые данные, и надо как в Excel добавить строчку с суммой. Вариант с
настоящими табличными процессорами (4b4b3dd84fd22ad74d5dbbf90a7024eca665882f,
8b9b7c565c8c1b25f042bbe6b266901819fd5398) слишком монструозен, плюс
появился бы не человекочитаемый формат таблицы. В общем, я считаю что
закончилось это у меня вот таким обсёром:

    % cat default.sum.tex.do
    #!/usr/bin/env perl

    use strict;
    use warnings;

    system "redo-ifchange $ARGV[1].sum";
    open(my $fd, "< $ARGV[1].sum") or die $!;
    my @sums;
    while (<$fd>) {
        print "$_\\\\\n";
        my @cols = split "&";
        for (my $i=0; $i <= $#cols; $i++) {
            my $v = $cols[$i];
            $v =~ s/\s//g;
            next unless $v =~ /^\d+$/;
            $sums[$i] += $v;
        };
    };

    print join " & ", map { (defined $_) ? $_ : "" } @sums;
    print "\\\\\n";

Буквально программкой которая для всех столбцов (где есть только числа)
считает их сумму. Я же этого хотел? И результат то в общем-то вполне
себе: .sum файл содержит буквально TeX код, который даже приятно
выглядит из-за выравнивания (2b5c80afecf0eb12fe394918a17f3ecedbc18779),
и для него добавляется строчка с суммой. И достаточно сделать \input
этого файла, учесть его в зависимостях к документу и redo его
автоматически посчитает, если он изменился.

Но вообще всё это, даже месиво TeX конструкций, мне всё-равно продолжает
нравится и доставлять удовольствие. И нравится что документ вовсю
гипертекстовый. А если распечатать, то хотя бы предметный указатель
автоматически сгенерированный удобно имеется. А если PDF-ку прогонять
(5c2b1203284c41e99a6af455ce9257821d95dd3d) через Ghostscript, exiftool
(для метаинформации) и QPDF, то и размер во много раз у меня сокращается
при этом, хотя вырезания шрифтов не происходит, должен быть PDF/A.

17 months agoTCP Fast Open
Sergey Matveev [Sat, 11 Nov 2023 09:30:43 +0000 (12:30 +0300)]
TCP Fast Open

https://lwn.net/Articles/508865/
https://blog.apnic.net/2021/07/05/tcp-fast-open-not-so-fast/
https://en.wikipedia.org/wiki/TCP_Fast_Open
https://datatracker.ietf.org/doc/html/rfc7413
https://github.com/bradleyfalzon/tcp-fast-open/
Пока читал про всякие AQM, ECN (6588786a31b2cbec545beeecf1232338609ff9ce),
то обратил внимание на TCP Fast Open. Название то слышал, но думал что это
какая-нибудь опция внутри TCP и поэтому не вчитывался. Оказалось что штука
интересная: сервер, при обычном TCP рукопожатии, может отправить клиенту
некую криптографически аутентифицированную cookie, которую клиент позже,
при установке нового соединения, может предъявить вместе с данными, а
сервер ответить тоже данными не дожидаясь третьего пакета рукопожатия от
клиента. Выходит настоящий 0RTT.

FreeBSD, судя по man-ам и ядру это поддерживает. Надо будет поиграться.
Хотя и требуются небольшие изменения в программы. Go вообще ничего про
него не знает, но нашёл какой-то репозиторий, где, явно выставляя опции
для сокета, включают всё это. Если совмещать с TLS 1.3 session
resumption, а то и его early data, то по RTT это становится как QUIC.

    # sysctl net.inet.tcp.fastopen.ccache_list
    net.inet.tcp.fastopen.ccache_list:
    Local IP address     Remote IP address     Port   MSS Disabled Cookie
    127.0.0.1            127.0.0.1            22222 16344       No 19f2ad06c2e26754

Тут не IPv6, потому что тестовая утилитка не понимала его, на коленках
кем-то сделана.

17 months agoВидео с Only Fetish Fest VI
Sergey Matveev [Fri, 10 Nov 2023 08:57:50 +0000 (11:57 +0300)]
Видео с Only Fetish Fest VI

http://www.youtube.com/watch?v=8WYDhAUN_iU
http://www.youtube.com/watch?v=X_ehifM_200
http://www.youtube.com/watch?v=l6N-jjUwHdo
http://www.youtube.com/watch?v=VMfyDuRu_Yk
http://www.youtube.com/watch?v=8DI629U5y1U
http://www.youtube.com/watch?v=wHx2JVsPD0E
Внезапно во время поиска увидел что в отличном качестве профессионально
снятые записи всех групп с OFF6 (b82620abe745fd85916525228597ccb44068ad2a)
имеются. Суперский был денёк!

17 months agoВключил FQ-CoDel. PIE, CAKE...
Sergey Matveev [Thu, 9 Nov 2023 09:26:57 +0000 (12:26 +0300)]
Включил FQ-CoDel. PIE, CAKE...

https://www.youtube.com/watch?v=y5KPryOHwk8
https://www.bufferbloat.net/projects/
https://en.wikipedia.org/wiki/CoDel
https://datatracker.ietf.org/doc/html/rfc7567
https://datatracker.ietf.org/doc/html/rfc8290
https://habr.com/ru/articles/194274/
https://forum.netgate.com/topic/112527/playing-with-fq_codel-in-2-4
https://news.ycombinator.com/item?id=11516372
Traffic shaper я прежде использовал только для ограничения пропускной
способности того или иного трафика. Уже не помню как, но вышел на тему
связанную с AQM -- Active Queue Management. ECN (Explicit Congestion
Notification), который у меня включён, по идее работать должен только
при использовании AQM, ибо именно он должен оповещать о возникающих
задержках. Но AQM и без ECN должен быть полезен.

Увидел много упоминаний положительных о FQ-CoDel (FlowQueue-Controlled
Delay) алгоритме, который относительно недавно был добавлен в FreeBSD.
Пишут что без каких-либо настроек он резко улучшает usability и user
experience в сети при забитых каналах. Подтверждаю: при забитом на выход
BitTorrent-ом канале, ssh до VPS-ки теперь идёт как маслу, не замечаю
разницы между 10GbE соединением с шлюзом и забитым 100Mbps каналом в
Интернет.

Читаешь форумы, где говорят что невообразимая по полезности магия
происходит только включив (FQ-)CoDel -- и действительно визуально оно
ощутимо меняет поведение. iperf3 на 10GbE вроде бы не мешает, не замечаю
ощутимо большего использования CPU.

Хотя, как всегда, не совсем уверен
(f8e2e4dfc6870c4dad7e62be9bb02ae9dd73d180) в корректности настройки
firewall-а, но добавлял count log правила чтобы точно понимать попадает
ли под правило нужный мне трафик или нет.

Но для работы ECN нужна поддержка и от TCP. А у меня BBR
(e454488d86353680fdc8300a1567011572953e27), который не ECN-friendly.
BBRv2 дружелюбен к нему, но его нет в FreeBSD. На BitTorrent машине
временно включил CUBIC и статистика по ECN пошла:

    # netstat -s | grep ECN
        0 packets with ECN CE bit set
        295108 packets with ECN ECT(0) bit set
        177 packets with ECN ECT(1) bit set
        3525 successful ECN handshakes
        8 times ECN reduced the congestion window

Ещё я догадался проверить iperf3 свои 10GbE соединения после этого. И на
BBR с двумя параллельными соединениями он и до 5Gbps не вытягивает. А на
родном FreeBSD стэке (с CUBIC-ом вместо New Reno) спокойно все 10 выдаёт.
Конечно, один алгоритм для 10GbE LAN и загруженного 100Mbps Интернета не
может подойти одинаково хорошо, но пока от BBR откажусь.

IPv4 трафик, который в основном BitTorrent, который и забивает весь
исходящий канал, у меня идёт в gif-туннеле поверх IPv6 динамически
маршрутизируемых пакетов (a1251840ec6cc11b80519ae8a4f519f54c4358b9).
Чтобы ECN биты копировались из IPv4 заголовков в IPv6-ые, то надо сделать:
    ifconfig gif_XXX link1
Но это только для внутренних туннелей годится. gif-ы с Hurricane
Electric и IP4Market (fb6dc9b409ae5051b610950dae0eaf4c70061437) не
поддерживают этой фишки, ибо она не по RFC.

А ещё бывают AQM-ы с красивым названиями типа:
PIE (Proportional Integral controller Enhanced) и
CAKE (Common Applications Kept Enhanced).

Первая ссылка -- видео поясняющее принципы AQM-а. Лектор здорово
подготовился ко всему этому представлению. Даже для RED алгоритма
использовал соответствующий цвет жидкости.

А в комментарии на HackerNews, пишут что в OpenBSD выпилили ECN, всё мол
плохо. Но это 2016-ый год. В его исходниках вижу, что и CoDel есть и ECN
вроде бы обрабатывается в TCP.

17 months ago8GB RAM в MacBook Pro эквивалентно 16GB на PC
Sergey Matveev [Wed, 8 Nov 2023 16:13:30 +0000 (19:13 +0300)]
8GB RAM в MacBook Pro эквивалентно 16GB на PC

https://habr.com/ru/news/772688/
Не, я уже много лет вижу, что Apple считает всех своих пользователей
полнейшими тупыми идиотами, но тут они снова умудряются переплюнуть
себя. И ведь поклонники этой компании упорно верят всем её заявлениям,
как продолжают верить, что клавиатуры с переключателями-бабочками были
удобны и хороши (я просто сам как-то у знакомого пощёлкал на них, когда
они только вышли -- забыть невозможно). А теперь 8 будет эквивалентно 16.

Хотя чуть-чуть адекватности в заявлениях об эквивалентности всё же есть,
если упоминается сжатие данных. Ибо кэш ZFS может хранить сжатые блоки
данных, а это может в разы (5f4f66bffd8992c40adb89b0e30bdcdc33b9ae53)
экономить память, делаясь эквивалентным по производительности с более
тупыми ОС с большим количеством памяти.

17 months agoQWACи и снова про ущербность global-scale PKI
Sergey Matveev [Wed, 8 Nov 2023 08:00:41 +0000 (11:00 +0300)]
QWACи и снова про ущербность global-scale PKI

https://scotthelme.co.uk/what-the-qwac/
https://securityriskahead.eu/
https://security.googleblog.com/2023/11/qualified-certificates-with-qualified.html
https://last-chance-for-eidas.org/
https://sslmate.com/resources/certificate_authority_failures
https://epicenter.works/en/content/eu-digital-identity-reform-the-good-bad-ugly-in-the-eidas-regulation
https://alecmuffett.com/article/108139
https://www.eff.org/deeplinks/2023/11/article-45-will-roll-back-web-security-12-years
https://en.wikipedia.org/wiki/Qualified_website_authentication_certificate
https://en.wikipedia.org/wiki/Extended_Validation_Certificate#Removal_of_special_UI_indicators
https://www.european-signature-dialog.eu/ESD_answer_to_Mozilla_misinformation_campaign.pdf
Европейские регуляторы захотели иметь возможность форсированной
установки государственных CA сертификатов в софт. Чтобы у себя в Европе
принимать, так называемые, квалифицированные сертификаты. Прямо драма
разыгралась: все броузеры написали как это ужасно, что QWAC-и и решения
eIDAS подрывают безопасность в ЕС и всё плохо. Мол они, броузеры,
принимают столько сил и мер по оценкам CA и о заботе о безопасности
пользователей.

По последней ссылке есть ответ из ЕС на эту критику от Mozilla. И как бы
я не не любил всю эту Европу, из штанов выпрыгивающую лишь бы уничтожить
каждого русского и каждого россиянина любыми средствами (вооружение
нацистов, спонсирование и помощь терроризму, бандитизму, воровства
имущества), но не могу не быть солидарен с их доводами. Ибо мои первые
мысли о чтении всего, что касается этих eIDAS и QWAC-ов, полностью
совпадают с ними. Ибо по сути всё сводится к политике и вопросу "с какой
стати исключительно компании США решают кому и как доверять в Европе"?

    But that’s not what eIDAS does — it simply asserts EU digital
    sovereignty so that US big tech companies like Mozilla are not in
    control of all trust decisions in Europe.

Пишут что Mozilla давно является приспешником Google и синхронно делает
те же решения что и они, дабы проталкивать политику и решения этой
корпорации. О какой безопасности они заботятся, когда обе выпилили
визуальное различие между DV и EV сертификатами для домена, делая для
пользователя DV-verified домены такими же хорошими как и остальные? Если
не видно разницы между ними, то зачем вообще EV использовать -- вот и
перестали. А выпил DANE? Я не то чтобы за него, ибо это централизованный
trust anchor DNSSEC-а, но шаг в правильном направлении всё же был.

Я не особо вчитывался в то, как устроены квалифицированные сертификаты
QWAC, но беглым взглядом не вижу кардинальных отличий от онных в РФ. А с
ними дело приходилось иметь регулярно. И уж чего чего, но в них тупо
значительно больше информации и проделанных проверок для выдачи.
Броузеры считают DV-сертификаты приемлемым вариантом, безопасным, но у
QWAC-ов типа меньшая безопасность? Забавно. PDF-ка верно отмечает
лютые технически безграмотные фразы о шифровании (такая риторика
повсеместно используется всюду у не очень грамотных людей, не делая
никаких различий между понятиями шифрования и аутентификации сторон).

Короче сплошная политика, участвующий в этом бизнес, и упорное
стремление США управлять всем и вся, решать вопросы доверия за других.
А Mozilla, Google, Apple это инструменты влияния и управления, очевидно.

17 months agoПоставили точку в споре кошатников и собачников
Sergey Matveev [Wed, 8 Nov 2023 06:51:51 +0000 (09:51 +0300)]
Поставили точку в споре кошатников и собачников

https://infoforme.ru/zhizn/tak-vsyo-taki-koshki-ili-sobaki-uchyonye-vyyasnili-kto-iz-khvostatykh-umnee-08-11-2023.htm
У собак более чем в два раза больше мозгов. То то я их так обожаю!

17 months agoВидео обучения основам стандартного текстового редактора
Sergey Matveev [Tue, 7 Nov 2023 17:34:10 +0000 (20:34 +0300)]
Видео обучения основам стандартного текстового редактора

https://www.youtube.com/watch?v=i8LxTm7071E
https://irreal.org/blog/?p=11756
http://www.verticalsysadmin.com/vi/a_tutorial_introduction_to_the_unix_text_editor.pdf

17 months agoЗаценил Mgła
Sergey Matveev [Tue, 7 Nov 2023 07:18:34 +0000 (10:18 +0300)]
Заценил Mgła

https://en.wikipedia.org/wiki/Mg%C5%82a
https://www.metal-archives.com/bands/Mg%C5%82a/44722
https://www.youtube.com/watch?v=CgdwGubkzsw
С одного из концертов у меня появилось три альбома Мглы. Только сейчас
вот внимательно заценил их и очень понравились. Хотя местами и
попсовато. Считал что это небось наша группа, а оказалась польская. Ну
ничего удивительного -- поляки ещё как умеют делать подобное!

Поисковик выдал ссылку на рецензию на YouTube. И вот да: тоже отмечают
доступность подобного black не для подготовленного человека. Про себя я
тоже думал что это то, что можно и в машине ставить во время долгих
поездок с отцом. Аналогично понравились и постоянные гитарные проигрыши
и особенно вокал.

17 months agosystemd-bsod
Sergey Matveev [Mon, 6 Nov 2023 18:54:14 +0000 (21:54 +0300)]
systemd-bsod

https://habr.com/ru/news/772142/
Давно уже говорил, что с внедрением systemd, ОС превращается в
Windows/macOS. Вот теперь окончательные штрихи доделали, чтобы обычный
пользователь уж вообще не смог бы отличить современный GNU/Linux
дистрибутив от Windows.

17 months agoПочему лежал 16-bits.ru
Sergey Matveev [Sun, 5 Nov 2023 15:43:01 +0000 (18:43 +0300)]
Почему лежал 16-bits.ru

https://www.youtube.com/watch?v=RNpedOk0vDM
Бачило объясняет почему его ресурсы лежали. Всё банально просто. Но до
современных провайдеров не "дозвонишься", ибо ты -- никто, пользователь
WiFi "роутера". С их точки зрения. Если не помогает его перезагрузка, то
жди мастера по настройке. У меня кстати никогда в жизни не было подобных
"роутеров". В общем четыре дня у него ничего не работало, а затем, за
2мин решилось.

У меня самый большой простой в работе был из-за уродов Gandi.net
(c31f6098d68cde8ca765e916fb58e4cb7ce93a69), где когда-то были
зарегистрированы мои домены. Но это был простой в работе DNS, но не
Интернета как такового.

17 months agoПосмотрел "По щучьему велению"
Sergey Matveev [Sun, 5 Nov 2023 15:04:23 +0000 (18:04 +0300)]
Посмотрел "По щучьему велению"

https://ru.wikipedia.org/wiki/%D0%9F%D0%BE_%D1%89%D1%83%D1%87%D1%8C%D0%B5%D0%BC%D1%83_%D0%B2%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8E_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC,_2023)
Недавно вышедший на экраны фильм. Ну... не в восторге, но фильм в целом
нормальный, можно посмотреть. В конце всё же как-то довольно сумбурно
было. Щука очень понравилась!

17 months agoipfw table для интерфейсов
Sergey Matveev [Sun, 5 Nov 2023 09:15:44 +0000 (12:15 +0300)]
ipfw table для интерфейсов

Вот сколько раз я просматривал man ipfw, но только сегодня обратил
внимание на то, что в table можно сувать не только адреса, но и названия
интерфейсов. Прежде у меня были правила типа:

    for iface in igb_lan wg_\* epaira_xxx mlxen_\* ; do
        ipfw add allow ip6 from any to any via $iface
    done

а теперь можно это помещать в одно правило, которое использует table:

    ipfw table ip6allowed create type iface
    ipfw table ip6allowed add igb_lan
    ipfw table ip6allowed add wg_beta
    ipfw table ip6allowed add wg_mail3
    ipfw table ip6allowed add wg_nuke_wan
    ipfw table ip6allowed add wg_nuke_lan
    ipfw table ip6allowed add epaira_xxx
    ipfw table ip6allowed add mlxen_beta
    ipfw table ip6allowed add mlxen_nuke
    ipfw add allow ip6 from any to any via "table(ip6allowed)"

    # ipfw list | grep allowed
    02100 allow ip6 from any to any via table(ip6allowed)

Удобно, приятно для глаза, плюс каждое лишнее правило в firewall это
лишняя нагрузка и задержки.

17 months agoКириллические шрифты
Sergey Matveev [Fri, 3 Nov 2023 10:39:51 +0000 (13:39 +0300)]
Кириллические шрифты

http://post.hppi.troitsk.ru/%7Emike/Latex_TTf_T1/fine_koi.html
https://ru-typography.livejournal.com/443094.html?nojs=1&thread=4211670
https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D1%88%D1%80%D0%B8%D1%84%D1%82%D1%8B_%D0%9F%D0%A2
https://www.cnews.ru/news/top/2021-06-04_rossiyane_sozdali_zamenu
История о том, как всё плохо со шрифтами в постсоветской России. Самое
немыслимое для меня было то, что наши ГОСТы требовали Times New Roman
для документов, которые как бы не очень свободны (а после СВО так вообще
типа нелегальны к использованию). Но в 2010-х этим уже озадачивались в
3d08e9d5391841471581e48d98b1fcb2327c4e54 и появились свободные шрифты
"ПТ", а потом и PT Astra, метрически совместимые с Times New Roman.

Я же в свою очередь попробовал XeLaTeX запустить из TeX Live.
Действительно, подхватывает TrueType-ы из системы и без проблем
использует в документе. Так что, если надо будет использовать PT
какой-нибудь, то возможность есть. TikZ в XeTeX работает, не ломается.

17 months agoНепроходимая комната E1M8 в Doom
Sergey Matveev [Wed, 1 Nov 2023 19:24:31 +0000 (22:24 +0300)]
Непроходимая комната E1M8 в Doom

https://www.youtube.com/watch?v=Urh_botbjRQ

17 months agoДафна Дю Морье "Эрцгерцогиня"
Sergey Matveev [Wed, 1 Nov 2023 16:44:36 +0000 (19:44 +0300)]
Дафна Дю Морье "Эрцгерцогиня"

https://fantlab.ru/work180675
Рассказ о сказочной стране, где все жили и не тужили, были счастливы. А
потом США захотела у них всё прибрать к рукам, ну и путём провокаций,
манипуляций мнениями, враньём и агитациями они настраивают жителей
против друг друга, устраивая ночь длинных ножей и фактически уничтожая
страну. Книга как бы и про выдуманную страну, но методы англосаксов
много десятилетий не меняются и регулярно применяются то тут, то там.