]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
10 months agoКлючи/ссылки в библиографиях
Sergey Matveev [Wed, 12 Jun 2024 19:35:47 +0000 (22:35 +0300)]
Ключи/ссылки в библиографиях

http://blog.cr.yp.to/20240612-bibkeys.html
DJB много мыслей излагает о недостатках ключей не в виде порядковых номеров.

10 months agoПосмотрели "Министерство неджентельменских дел"
Sergey Matveev [Wed, 12 Jun 2024 15:44:49 +0000 (18:44 +0300)]
Посмотрели "Министерство неджентельменских дел"

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

10 months agoftpmirror.gnu.org прилёг
Sergey Matveev [Tue, 11 Jun 2024 14:39:52 +0000 (17:39 +0300)]
ftpmirror.gnu.org прилёг

Возясь с пакетами в BASS, не всегда я подсовываю заранее скачанные
tarball-ы на компьютеры. Ну чтобы заодно и проверить всё ли работает в
нём. И за несколько месяцев я частенько вижу недоступность то одних, то
других ресурсов. Сегодня вот недоступен сабжевый "CDN", с которого все
GNU программы качаются. У некоторых вообще перестали узнаваться домены.
Проверял не только из российских сетей, но и пользовался на ноутбуке для
запуска недоверенного кода зарубежными сервисами определения живности
ресурсов. Некоторые зеркала у SourceForge тоже лежат целый день. Бывает
так, что по IPv4 недоступны, а по IPv6 всё ok. А то и наоборот. Причём
не исключаю, что запросто некоторые случаи из-за кривых рук
администраторов, которые просто забывают про IPv4/IPv6 и их мониторинг
не проверяет форсированно их оба. С каким-то ресурсом так уже было, пока
я не написал письмо его владельцу.

В общем, кэширование и бережное хранение download artefacts -- штука
обязательная. Даже у крупных проектов вполне себе может относительно
продолжительное время что-то не быть доступно.

10 months agoСнова критика статей на Хабре
Sergey Matveev [Sat, 8 Jun 2024 17:58:21 +0000 (20:58 +0300)]
Снова критика статей на Хабре

https://habr.com/ru/articles/820429/
https://habr.com/ru/articles/820403/
Человек хочет описать как удалить нечаянно закоммиченный файл. Вообще
достаточно бы было сказать "man git-filter-branch", где внутри примеров
есть нужный код для удаления файла. Всё, два слова. Кто не знал был бы
благодарен такой команде.

Но нет, пишется статья где куча снимков экрана, да ещё в JPEG, упорно
всё демонстрируя в каких-то GUI и/или Web-интерфейсах. И это попадает в
главную сводку статей на Хабре. Не, уже не в первый раз, но именно
подобные статьи активно "плюсуют" и Хабр просто вынужден давать людям
подобный материал. Печально, печально.

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

Перехожу на другую статью попавшую в Atom, про поднимание своего VPN.
Опять лютое количество снимков экрана с какой-то программой, ссылку на
которую нет вообще. На VPS-ке предлагают установить cURL для того,
чтобы... выполнить curl|sudo bash. После подобных советов не удивляешься
почему же будут считать "VPN"-ы не безопасной для граждан темой.

10 months agoЦивилизация Сида Мейера
Sergey Matveev [Thu, 6 Jun 2024 20:05:15 +0000 (23:05 +0300)]
Цивилизация Сида Мейера

https://www.youtube.com/watch?v=Ut0kNCE943U
Часовой рассказ про историю этой игры. Мне кажется, что на неё я уже
больше потратил времени чем на Fallout 2 когда-то. Не буквально ту самую
DOS версию, а FreeCiv, которая не то чтобы существенно отличается от
первой версии, точнее от чуть более продвинутой второй. В этом видео
хотя бы много показано кадров из gameplay.

10 months agoGathering получают золото за Mandylion
Sergey Matveev [Mon, 3 Jun 2024 18:49:51 +0000 (21:49 +0300)]
Gathering получают золото за Mandylion

https://www.darkside.ru/news/164259/
Спустя почти 30 лет из альбом стал золотым. Появился он у меня довольно
рано, среди первой музыки. Но как-то не впечатлил по началу вовсе. А
спустя уйму лет, снова переслушав, согласен что очень и очень достойный
(ae5a44d1d27b6ac42cbca8eb1a513dd563f780da).

10 months agoСтоит ли использовать include-what-you-use?
Sergey Matveev [Sun, 2 Jun 2024 08:22:55 +0000 (11:22 +0300)]
Стоит ли использовать include-what-you-use?

https://danra.prose.sh/dont_use_iwyu
Автор пишет о том, что не надо использовать сабж, мол много проблем. Вот
ни одной не встречал с ним (49a33c0057d871647886bde81c0bdfa9ed9c65f1).
Но потому что применяю для Си кода. Видимо все указанные проблемы связаны
с безумной ненужной сложностью C++. А я очень доволен работой этой штуки.

10 months agoUltimate Moscow Brutality
Sergey Matveev [Sat, 1 Jun 2024 19:11:25 +0000 (22:11 +0300)]
Ultimate Moscow Brutality

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

Планов куда-то идти не было, ибо работы до фига, прям горит. Но в
заметках был URL до концертов на сегодня. И оказалось что Ultimate
Moscow Brutality 2 начинается аж в 12:30 дня. Решался: или ехать туда
прямо сейчас, сразу же, и не думать о планах на день, как совместить
работу, работать ли, или... ну я не дет-металлист что ли, да и когда я в
последний раз то был на подобном, ведь даже Coyote Brutal Fest пропустил
в этом году. А тут ещё и первый день лета.

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

Отыграли Septory из Санкт-Петербурга -- ну просто slamming brutal death.
Далее Pulsa Di Nura из Севастополя -- интересную музыку играли, не шибко
слэмовую и качовую, но мне такое больше по душе. Далее шли Trigger из
Нижнего Новгорода, с интересными качовыми темами, нигде прежде не
слышымыми мною. Потом Total Despair из Пензы, мне уже знакомые, нечто
похожее на Swamp, тоже slamming brutal death.

По сути, единственными кто был не очень в теме, так это были последующие
Anal Grind. С ними я знаком давно, был на первых концертах, но дальше
уже... вырос что ли? Да и на фотографиях с разных мероприятий видел что
они девицу притаскивают, показывающую сиськи. Ну блин, это Коррозия
Металла что ли? Сегодня тоже были с ней. По сути я вроде впервые видел
что на сцене деваха с оголённым торсом была. Судя по разговорам в зале
после их выступления, они мало кому понравились, комментируя со смехом
что из-за сисек. Но я думаю большая доля правды тут есть: зачем они,
если ты и так способен отлично заводить толпу и веселиться?

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

Далее шли Gravegod, с хорошим качовым death-ом. Ну а потом 7 H.Target,
ради которых я и добавил в закладки URL на концерт. Басиста не было в
этот раз, как и фоновых музыкальных вставок. Барабанщик, гитарист и
вокалист. Но рвали и метали ещё как! Я явно их поклонник, хотя со
временем они всё же меняются. Много от них ждал и они полностью
удовлетворили меня.

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

Ну и приобрёл 13 дисков и пару футболок.

11 months agoЦена VoLTE
Sergey Matveev [Fri, 31 May 2024 08:24:12 +0000 (11:24 +0300)]
Цена VoLTE

Обнаружилась проблема после начала использования нового сотового с VoLTE
(9e9b0a3dd40fc7f049e0a0ca888de42c8b53a72a). Раз в сутки он отправляет
несколько килобайт данных в Интернет. Само собой для меня это чёрный
ящик, понятное дело что небось в Китай/США/whatever сливает что-нибудь.
Была статья на Хабр, где демонстрировалось, что чуть ли не поголовно
всякие кнопочные, если не через Интернет, то через SMS в Китай шлют
данные. Пока я ещё не дошёл до кондиции полного отказа от сотового.

Проблема не в отправке (и так ясно что они упорно следят за нами), а в
том, что Билайн начинает тарифицировать это как выход в Интернет. 7₽/сут
за 10MB. Вот только он начисляет цену не за несколько килобайт реально
отправленных (судя по счётчику внутри телефона), а сразу за эти 10MB. То
есть каждый день с меня снимали по 7₽. 7*30=210. Я такие деньги могу
месяцами тратить на разговоры -- я мало общаюсь по нему. Дороговато.

Если в Nokia выключить "data service", то вырубается 4G и VoLTE. Если
через USSD команды Билайна вырубить доступ в Интернет, то... он не даёт
зарегистрироваться в 4G сети, соответственно тоже прощай VoLTE.

Удалял "connection" профили (APN), где упоминается Билайновский
Интернет. Так и не понял когда они "возрождаются" -- наверное если
SIM-ки менять между аппаратами. Остался "ims" профиль, где явно не
указан APN для Интернета. Для работы VoLTE этого хватает. Попытка
установить Opera Mini (она тут просто в меню есть, не удалить) говорит,
что доступа в Интернет нет, Билайн не присылает SMS что я вышел в
Интернет. Так что похоже, что всё же отключил возможность выхода в
Интернет, без ломания VoLTE. А то платить 200₽, пускай и за потрясающе
хорошую связь, ну как-то жаба душит.

11 months agoКак стажёр не стал ИТ-разрабом. Наш опыт
Sergey Matveev [Fri, 31 May 2024 07:29:58 +0000 (10:29 +0300)]
Как стажёр не стал ИТ-разрабом. Наш опыт

https://habr.com/en/companies/ozontech/articles/817737/
Тема стажировки для меня совершенно новая. В нашей компании никого ниже
junior-разрабов ещё не приходило. А тут так вышло, что я с коллегами с
двумя стажёрами будем вот заниматься. В других отделах тоже появились
стажёры, но им откровенно скучно и наверное задерживаться не будут, судя
по всему.

У нас же появится стажёр который ничего кроме Windows даже не трогал. Но
хочет быть программистом. Вот за всю свою жизнь я никогда не встречал из
(потенциальных) коллег кого-либо, кто не работал в Unix-like системах.
Благо, эту тему с ним будет закрывать другой коллега. Я прям тут даже не
знаю как подступаться к такому человеку и вообще сколько занимает время
погружения в уверенную работу в Unix ОС.

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

Но мы решили дать задачу на написание IM-а. Очень люблю её, ибо ты и
сетевое взаимодействие между клиентом-сервером потрогаешь, и СУБД и
криптографию для защиты протокола и с форматами данных можно поиграться
и чуть поадминистрировать для разворачивания. Возможно коллеги что-то
подправят, но я предложил сделать JSON-RPC over TCP для взаимодействия
клиента и сервера. Потом JSON заменить например на protocol buffers,
чтобы потрогать не-schemaless форматы. Для защиты канала связи сверху
потом прикрутить Noise. Интерфейсом на клиенте для начала может быть
WebUI какой-нибудь: так ещё и HTTP+HTML можно будет потрогать. Ну и
соответственно всё это хотя бы интеграционно тестировать, писать
документацию в каждых коммитах.

Плюс ещё уже приступил к работе другой стажёр, который хочет стать в
идеале devops-ом. А вот для него задачи исключительно я напридумывал. У
нас есть неиспользуемая маленькая стойка со старыми серверами и
коммутатором. Вот организовать в ней IPv6-only сеть, развернуть на всех
машинах с разными ОС (в идеале и одну на FreeBSD бы иметь) BASS
(d6a10bd448599b7fcdb4222e3d03810bd0cebec9) CI систему. До этой сети
предполагается поднять VPN (WireGuard), а то ещё и OSPF/Babel например
приделать, чтобы подключаясь, получать маршруты до машин в этой
изолированной сети. Только одна машина будет иметь доступ в Интернет, на
которой и GoProxy и подобные другие демоны будут. А для BASS нужно будет
как-раз множество daemontools service-ов написать, что-то с zsh на POSIX
shell перевести, кое какие утилиты на Go написать и всё в таком духе. Не
знаю как там пойдёт всё это дело, но надеюсь что перед свободным релизом
BASS-а многое полезное будет написано как-раз. Придётся и в сетях
поковыряться, в VPN, в маршрутизации, в POSIX shell, zsh увидеть (и
сравнить насколько в нём проще), Go потрогать, понять daemontools и тему
про запуск процессов, поднять почтовый сервер (для отправки
уведомлений), писать как минимум уже с дюжину BASS skel-ов, являющиеся
redo-целями.

Пока коллеги решили что лучше ставить Debian. Пока один Debian на master
и одной slave ноде. Ну наверное не помешает человеку начать трогать
systemdOS, а то вдруг в основном ей и придётся заниматься. Но, кроме
FreeBSD, я думаю стоит и GNU/Linux (не systemdOS) какой-нибудь
поставить на другом slave, просто для саморазвития (Alpine, CRUX?
что-нибудь из этого).

Все задачи мы кстати заводим в schwabrak-е
(bd94115b066472316ea03e85d611f732785f8b7c,
42b3d1b739b5f0cef40f349cdc7044a785dc604a). Пока ещё не ясно смогут ли
стажёры это сдюжить. Никто не знает что такое merge vs rebase. То бишь в
Git нулевые знания.

В текстовых редакторах ещё никто из них не работал (всё что не Vi(m) или
Emacs, естественно нельзя воспринимать всерьёз). Но мы решили не
настаивать на их освоении. Просто порекомендовали задуматься об этом.

11 months agoВ Fedora одобряют включение бинарей для macOS
Sergey Matveev [Wed, 29 May 2024 21:21:46 +0000 (00:21 +0300)]
В Fedora одобряют включение бинарей для macOS

https://www.opennet.ru/opennews/art.shtml?num=61270
Бинарные пакеты для проприетарной ОС, теперь допустимы в пакетах Fedora,
где прежде существовало правило о сборке всего из исходников.

11 months agoУбедительные продавщицы
Sergey Matveev [Tue, 28 May 2024 16:58:45 +0000 (19:58 +0300)]
Убедительные продавщицы

Сегодня ходил в салон Tele2 для расторжения договора, ведь VoLTE на нём
нигде так и не запустился (9e9b0a3dd40fc7f049e0a0ca888de42c8b53a72a), в
отличии от Билайна. Продавщица спросила что за аппарат у меня, показал,
начала убеждать в том, что кнопочные это 2G, а Tele2 это 3G как минимум,
поэтому ничего и не заработало. Доводы о том, что он всё это прекрасно
держит -- закончились её фразой что не будет спорить, с тоном что она
всё равно при своём мнении.

Помню как-то я с другом на Митинском радиорынке приобретали переходник с
Motorola C350L порта на USB. Или на COM-порт, уже не помню. Так вот там
продавщица упорно настаивала на том, что USB порт (который в
действительности) это COM-порт. Или наоборот, опять же не помню детали.
Уж не помню, но предложили поспорить. Она даже на деньги. Куда то она
отошла спросить что же у неё в руках за кабель. Вернулась и типа делает
вид, что никто ни о чём не спорил.

Вот упорно женщинам надо доказывать свою правоту, даже там, где они явно
не правы и даже тогда, когда знают об этом.

11 months agoDNSBomb
Sergey Matveev [Mon, 27 May 2024 19:40:12 +0000 (22:40 +0300)]
DNSBomb

https://dnsbomb.net/
https://www.isc.org/blogs/2024-dnsbomb/
Так много атак всяких развелось, что для них постоянно придумывают
запоминающиеся названия и, соответственно, сайты. Ничего плохого,
наоборот здорово считаю.

11 months agoУмаялся подключать VoLTE
Sergey Matveev [Mon, 27 May 2024 19:21:08 +0000 (22:21 +0300)]
Умаялся подключать VoLTE

Новый сотовый (0b9b0c1e70dc4ed50cf4882a6101d4be0d1fe8e7) я специально
брал с поддержкой VoLTE. Ибо явно это правильно что гораздо гораздо
более совершенная и эффективная технология передачи данных используется
и для мизерного голосового трафика.

Сходил в офис Билайна, с вопросом что может идти не так и почему у меня
VoLTE не включается, хотя 4G покрытие есть, SIM-ка современная, в
настройках VoLTE явно включено. Конечно же, мне ничего не ответили, не
знают.

Пошёл в Tele2. С ним никогда не сталкивался, но отзывы хорошие слышал.
Надеялся что у них вроде бы как современная вся экосистема то должна
быть. Сразу сказал что мне нужна SIM-ка (номер) для VoLTE звонков, не
будет ли проблем? Заверили что нет, всё должно быть нормально.

Если Билайн при голосовых звонках делал downgrade до 2G, то Tele2 до 3G
и показывается значочек "HD", намекая на high definition аудиокодек.
Уровень сигнала Tele2 и у меня дома на максимуме и у родителей в
квартире. Уже хорошо, явно лучше чем 2G. Но VoLTE значка нет.

Решил добить вопрос и поехал к отцу, у которого какой-то современный
дорогой всё умеющий смартфон, в котором и Билайн его рабочий и МТС для
Интернета SIM-ки. Хотел посмотреть что будет у меня с МТС картой. У МТС
и сила сигнала была хуже и бросало его между 2/3/4G. Причём мой сотовый
говорит что я в сети, а отец рядом сидит и его сотовый сообщает что не
могу дозвониться, абонента нету.

Но начали проверять все SIM-ки в его смартфоне. На моей Билайн и его --
VoLTE показывается, всё тип топ. Но ни Tele2, ни МТС VoLTE не показывают.
Попробовал даже подключить Интернет к Tele2, ну мало ли без этого
вообще, допустим, IP типа не ходит куда надо. Не помогло. В общем,
разочаровал меня Tele2, заверив что всё тип-топ, но ничего даже в
дорогом смартфоне не заработало. Ладно там Nokia кнопочная уж. Ну а про
SIM-ку МТС вообще никто ничего не помнит, хотя 4G на ней подключается.

Я как бы и удивлён и не очень. Ведь, насколько понимаю, VoLTE штука
полезная и для ОПСОСов, эффективно утилизируя радиоканал. Но никто ничем
не может в офисах помочь и неизвестно почему оно не работает. По факту
только на Билайне у отца и заработало. Но я всё же всё равно склонялся
перейти на Tele2 ради "HD", 3G и везде максимального уровня сигнала.

Пока ехал домой назад, то решил проверить оставил ли я галочки "VoLTE"
после всех этих перетасовок между SIM-ками. И... у меня внезапно "VoLTE"
показалась для моего Билайна. Единственное объяснение что могу дать:
после вставки моей SIM-ки в отцовый смартфон, он дал какую-то нужную
команду, тыкнул что-то куда и как надо и VoLTE на ней "просрался". В
итоге теперь VoLTE у меня работает на Билайне. Больше её нигде не
видели.

Позвонил с ней и папе и маме. Тоже показывается "HD". Совершенно
иной по качеству звук! Появились высокие частоты и гораздо чище слышно
собеседника. Причём с обоих сторон. Прям как-будто нормальный микрофон и
вменяемые гарнитуры используются -- очень хорошо и чисто слышно. И,
действительно, ощутимо быстрее идёт соединение. Ну и исчезла моя главная
проблема домашняя: я могу из любого места спокойно разговаривать. А то в
одной комнате -- одна сота, а в другой -- другая. Между ними связь в 95%
случаях рвалась всегда. Надо было стоять у окон в идеале, никуда не
переходить. LTE же у меня ловит одинаково хорошо на всей площади.

11 months agoСменил сотовый телефон
Sergey Matveev [Sun, 26 May 2024 19:36:48 +0000 (22:36 +0300)]
Сменил сотовый телефон

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

Взял Nokia 110 4G DS. Камера мне не нужна, но уж что было в магазине.
А вот именно 4G с VoLTE я хотел. Ибо это гораздо более эффективная
технология чем древний 2G мною используемый. Везде VoLTE включил, 4G
показывает, но при голосовой связи индикатор показывает 2G соединение.
Как-нибудь схожу в офис Билайна спрашивать в чём может быть дело. У них
на сайте находил список поддерживаемых VoLTE устройств и эта Nokia там
была.

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

11 months agoДень на даче у друга
Sergey Matveev [Sun, 26 May 2024 12:02:29 +0000 (15:02 +0300)]
День на даче у друга

Отличная погода на этих выходных, вчера без намёков на дождь. Баня,
бассейн после неё. В казане готовили плов. Такого вкусного я ещё не ел.
Такой рассыпчатый рис я только в Иране пробовал. Чуть-чуть некоторые
кусочки мяса были прожарены больше чем надо, чуть чуть некоторые даже
пригорели -- но лично мне оно ещё больше таким нравится. Здорово
отдохнул и под вечер меня так разморило, что я без задних ног уснул.

11 months agoc.root-servers.net несколько дней не был синхронизирован
Sergey Matveev [Sun, 26 May 2024 11:27:45 +0000 (14:27 +0300)]
c.root-servers.net несколько дней не был синхронизирован

https://www.opennet.ru/opennews/art.shtml?num=61249
https://lists.dns-oarc.net/mailman/listinfo/dns-operations
https://list.mailop.org/listinfo/mailop
Наблюдал за этим в dns-operations@ почтовой рассылке. Ради подобных штук
и стоит подписываться на подобные.

В mailop@ рассылке много рассказывают о фактах полностью хаотичного
забрасывания почты в Yahoogle (72d10bb8cca4ec33bc69b241e561855e10ba1e46)
сервисах в спам. Вот, в очередной раз, на днях, выяснилось, что моё
письмо попало ему в спам, хотя за ~20 лет ни разу подобного не
происходило во время переписок с ним, как и неделю назад. А у меня из
настроек ничего не менялось за это время. Вроде бы уже никого не
осталось из тех кто живёт на @gmail.com, с кем моя почта не попадала бы
в спам.

Но между тем, шатание Интернета (d6456a9b2f2f0c724a131b400b7b120bb8941f49)
прекратилось. Уже наверное неделю как мой мониторинг ни разу не показал,
что мои VPS становятся еле доступными.

11 months agoПосмотрел "Бананы"
Sergey Matveev [Fri, 24 May 2024 21:41:11 +0000 (00:41 +0300)]
Посмотрел "Бананы"

https://ru.wikipedia.org/wiki/Бананы_(фильм)
Забавная комедия Вуди Аллена. Нравится его юмор, но он точно не каждому
по душе будет. Местами напоминает Монти Пайтоновский, такие вот ассоциации.
Но его "Зелиг" (b58f41859fdc20966f96188ad0f384aa1dd12da3), "Энни Холл"
(13a1a27cde021cfb5c5c38ed0eba57e93e38e4b8,
6c315b88d94f9c3a91441a57a9d012893c3873d2,
f6bb2d17f6cb82baecfa904b3bd80c19e8c5b5fb) и "Манхэттен"
(c3c94aea577efd138f4aac1927b75549b784ff2c) вне конкуренции конечно же.

11 months agoОтзывчивость Vim с set cursorcolumn
Sergey Matveev [Fri, 24 May 2024 09:44:45 +0000 (12:44 +0300)]
Отзывчивость Vim с set cursorcolumn

https://stackoverflow.com/questions/19030290/syntax-highlighting-causes-terrible-lag-in-vim
При редактировании писем и Git log message, у меня Vim частенько
потребляет 100% CPU и невероятно тормозит. Иногда в письмах даже
приходилось делать set syntax=off делать. Грешил всё это время на
людей которые обновляют файлы синтаксической подсветки, где
появляется что-то очень дорогое для расчётов.

Как оказалось, в одном из комментариев на stackoverflow, еле заметном,
кто-то предложил отключить такие фишки как cursorcolumn и cursorline,
которые динамически меняют цвет фона. И, о чудо, отключение cursorcolumn,
действительно убирает полностью все тормоза. Полностью отключать я её не
собираюсь, ибо мне нравится эта фишка, но для редких случаях можно, всё
же не полностью выключая синтаксическую подсветку.

11 months agoКак в итоге то работается с HiDPI монитором?
Sergey Matveev [Thu, 23 May 2024 08:12:04 +0000 (11:12 +0300)]
Как в итоге то работается с HiDPI монитором?

Более двух недель вот работаю с сабжем дома. По сути, единственный
геморрой, который он продолжает создавать, так это то, что GTK2 не
поддерживает scaling. GTK3 это только Zathura (ну и Surf). Qt не
осталось (Mumble заменён на VoRS).

Единственное приложение на GTK2 у меня это FreeCiv. Поэтому, когда я
хочу в неё поиграть -- просто приходится руками xrandr-ом переключиться
на FullHD разрешение и "xset m"-ом уменьшить скорость указателя. Пока я
в неё играю: больше толком ничем и не занимаюсь, поэтому это мелочь.

В остальном, конечно, пришлось в разных скриптах учитывать какой у меня
сейчас выставлен DPI. X-ы я запускаю либо одной командой, либо другой,
выставляющей на ФС флаговый файл "HI", который проверяется в скриптах
запуска графических броузеров (Surf и Links), Tk, самих X-ов для
увеличения скорости указателя и его размера.

То ли железо такое, то ли драйвера, то ли ещё чего, то ли кабели не
очень какие-то, но отключение монитора через DPMS может приводить к
деградации его refresh rate-а после включения (вместо 60 FPS, будут 30,
который заметны даже просто двигая курсором мыши). Поэтому скрипт
блокировки экрана, тоже должен учитывать "HI" флаг и не выключать через
DPMS монитор.

Я не один месяц провёл за "UEFI" драйверами графики, просто проверяя
можно ли жить без проприетарных блобов загружаемых Intel-овым драйвером.
Можно. Хоть и без xrandr и ускорения. На 4K не пробовал всё это, нет
времени. Так что по сути у меня всё же одна проприетарная штука то на
компьютере имеется, но она мизерного размера и за многие годы не
обновляется, не трогается. Ещё без этого блоба не будет звука через
HDMI/DP. Но я и в прошлом то мониторе чисто случайно узнал о наличии в
нём аудиоколонок, только когда какую-то LiveCD GNU/Linux-а загрузил и
был шокирован тем, что откуда то у меня звук приветствия отыгрался. В
этом мониторе колонок нет, но есть 3.5мм разъём аудиовыхода.

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

11 months agoSSH jump host
Sergey Matveev [Thu, 23 May 2024 07:34:01 +0000 (10:34 +0300)]
SSH jump host

К своему стыду, лишь только недавно начал использовать встроенный
функционал работы с SSH jump host-ами. Как я до этого куда-то заходил
(по SSH), если нет прямого доступа, но есть промежуточный SSH хост? ssh
jumphost ssh dst, грубо говоря. Как вызвать scp таким образом? Не
задумывался и делал: tar cf - ... | ssh jumphost ssh dst tar xf - ....

Потом обнаружилось, что если целевые копируемые файлы где-то имеют ещё и
hardlink, то после использования tar-а они "пропадают". Всё штатно,
ничего неожиданного, но поведение scp временами хочется, когда он
перезаписывает файл и не разрушает hardlink-и.

Увидел опцию -J, для указания jump host-а. А также ProxyJump опцию в
конфигурационном файле, которую можно для конкретного хоста прописывать.
Где всё это раньше было, где я раньше был? Насколько же теперь удобнее
стало напрямую указывать нужный мне хост, а использование jump-а самим
SSH-ем прозрачно происходить.

11 months agoПревысившая скорость утка -- сфера деятельности Федерального управления авиации
Sergey Matveev [Wed, 22 May 2024 08:41:32 +0000 (11:41 +0300)]
Превысившая скорость утка -- сфера деятельности Федерального управления авиации

https://lenta.ru/news/2018/04/24/duck/
автоматическая дорожная камера сфотографировала утку, летящую над
дорогой с превышением допустимой скорости.

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

11 months agoСтатья про VoRS
Sergey Matveev [Mon, 20 May 2024 11:34:08 +0000 (14:34 +0300)]
Статья про VoRS

https://habr.com/ru/articles/815635/
Наконец-то на выходных нашлось время для написания статьи про VoRS.

11 months agoGPS и сотовая связь
Sergey Matveev [Sat, 18 May 2024 15:42:23 +0000 (18:42 +0300)]
GPS и сотовая связь

Судя по новостям, недавно была какая-то überсильная магнитная буря. GPS
плохо работали слышал. Где-то видел новость о том, что у фермеров в США
из-за этого были большие проблемы: их техника настолько автономна, что
кучу работы на полях делает полностью без человека, но ориентируется
исключительно по GPS сигналу. И вот проблемы с GPS там приводили к
останову работы, ибо вручную уже нельзя было что-то скорректировать в
работе тех машин.

2G/3G сотовая связь требует относительно хорошей синхронизации времени
на сотах, так как это сплошной TDM. И, очевидно, для простоты они
используют GPS сигнал. А GPS, как известно, очень не сложно глушить.
Северная Корея глушит на границе с Южной, временами создавая проблемы
для самолётов Сеула, заставляя на второй круг из лететь, так как не
работает GPS. Во время военных учений РФ, тоже на границах с
Скандинавскими странами, возникают проблемы с GPS. Ну а во время СВО так
это и так штатная процедура уже во многих местах.

Видимо, всё что тут написано касается и любой другой навигационной
системы, включая ГЛОНАСС. Я стараюсь не использовать "GPS", если речь
реально не конкретно именно про эту систему. Стараюсь "GNSS" например.
Но вот сельскохозяйственная техника в США наверное только GPS имеет.
А соты мобильной сети -- чёрт их знает, лень искать. Поэтому оставляю
как есть.

В 4G (LTE) можно NTP использовать вместо GNSS.

11 months agoНейросетевые переводы
Sergey Matveev [Sat, 18 May 2024 15:36:06 +0000 (18:36 +0300)]
Нейросетевые переводы

Ещё много выпусков linkmeup я не прочитал. Это распознанное
(90e75bc9f0c7f625bad072fcc5e5fb1fa550487e) аудио. Уже привык к тому, что
"НАТО" это на самом деле речь про NAT. А ещё можно увидеть "нацистских
денег не было" -- очевидно, что речь про то, что на Cisco денег не было.
Много забавного может выходить такого рода.

11 months agoBBR vs Reno vs CUBIC на Starlink
Sergey Matveev [Sat, 18 May 2024 15:16:52 +0000 (18:16 +0300)]
BBR vs Reno vs CUBIC на Starlink

https://www.potaroo.net/ispcol/2024-05/starlink-tcp.html
Ещё одна статья (df6ba3e958cf56d72bb23869f22144c07521e4a7 прежде)
про существенную разницу при выборе алгоритма TCP, если канал связи
это низкоорбитальные спутники и относительно высокая скорость передачи.

11 months agoКонцерт Rammstein в Праге
Sergey Matveev [Fri, 17 May 2024 14:20:50 +0000 (17:20 +0300)]
Концерт Rammstein в Праге

https://www.youtube.com/watch?v=F7H2VOVlhDs
Крутейший концерты у них, конечно! Только за подобным шоу и стоит ходить
на большие стадионы. В противном случае, лучше конечно в небольшом клубе
быть.

11 months ago.ru/.рф через Госуслуги
Sergey Matveev [Tue, 14 May 2024 07:47:51 +0000 (10:47 +0300)]
.ru/.рф через Госуслуги

https://habr.com/ru/news/814123/
Похоже что они таки введут обязаловку через Госуслуги. Которые я через
один LiveCD всё же удалил в этом году. Видимо, придётся скоро забыть про
cypherpunks.ru домен, что печально. А ещё больше боюсь того, что, для
своего же удобства, наши регистраторы вообще всё сделают через эту ЕСИА.
Что тогда делать -- не знаю.

11 months agoКак выращивают картофель
Sergey Matveev [Mon, 13 May 2024 15:01:38 +0000 (18:01 +0300)]
Как выращивают картофель

https://habr.com/ru/articles/813955/
С фотографиями и стоимостью каждого шага. Интересно! Вот такие статьи на
Хабре мне нравятся. То там было про шаурму
(41c1911299a38bce85656a1a42cb79f070e38f3f). То про сеть музыкальных
клубов, что мне тоже же интересно, ибо во много десятков же был, тоже
любопытно насколько это всё геморройно и окупается ли насколько.

11 months agoПолярные сияния из-за магнитной бури в разных уголках Земли
Sergey Matveev [Mon, 13 May 2024 14:46:20 +0000 (17:46 +0300)]
Полярные сияния из-за магнитной бури в разных уголках Земли

https://naked-science.ru/community/956530
Никогда в живую не видел их. Но это наверное самые красивые фотографии
мне известные. Такие разноцветные!

11 months agoШадаев остаётся в Минцифре
Sergey Matveev [Mon, 13 May 2024 07:49:59 +0000 (10:49 +0300)]
Шадаев остаётся в Минцифре

https://habr.com/ru/news/813821/
https://linkmeup.ru/podcasts/2400/
В Linkmeup подкасте с Олегом Бартуновым, он рассказывал что на каком-то
из совещаний, где надо было Московскую область перевести с Oracle СУБД,
ему сказали что это невозможно, мол титаническая работа. Он пригрозил
каким-то чёрным списком. И через три месяца всё заработало на PostgreSQL.
Что здорово, конечно же. Лениться у нас все горазды.

Ещё из подкаста узнал о том, что на западе на PostgreSQL смотрят как на
MySQL какой-нибудь -- мол, поделие для web-сайтиков. Типа как это он
может быть вполне серьёзной СУБД, когда вот рядом у нас дорогущие Oracle
и IBM решения то?

11 months agoЗимняя погода
Sergey Matveev [Thu, 9 May 2024 19:21:11 +0000 (22:21 +0300)]
Зимняя погода

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

11 months agoПразднование Дня Победы в Королёве
Sergey Matveev [Thu, 9 May 2024 19:17:52 +0000 (22:17 +0300)]
Празднование Дня Победы в Королёве

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

11 months agoПосмотрел "Сто лет тому вперёд"
Sergey Matveev [Thu, 9 May 2024 19:13:30 +0000 (22:13 +0300)]
Посмотрел "Сто лет тому вперёд"

https://ru.wikipedia.org/wiki/Сто_лет_тому_вперёд_(фильм)
За компанию с родителями в кинотеатр сходил. Ничего так, понравился.
Хотя я наверняка через несколько недель уже и забуду сюжет. Ну,
собственно, как и у многих других фильмов с action-ом и приключениями.

11 months agoDrum check
Sergey Matveev [Tue, 7 May 2024 15:47:40 +0000 (18:47 +0300)]
Drum check

https://www.youtube.com/watch?v=zbPSR7rAdxI
https://www.youtube.com/watch?v=iiWAS8cu2S0
https://www.last.fm/music/Ahumado+Granujo/_/Sandokal
У Morbid Angel на одном из альбомов есть забавный drum check.
А у Ahumado Granujo, с которыми я раньше познакомился, кавер
на него, на альбоме "Splatter Tekk" в трэке Sandokal.

11 months agoПро TunnelVision жгут
Sergey Matveev [Tue, 7 May 2024 12:13:22 +0000 (15:13 +0300)]
Про TunnelVision жгут

https://www.securitylab.ru/news/548033.php
https://www.opennet.ru/opennews/art.shtml?num=61130
https://dxdt.ru/2024/05/07/13000/
https://habr.com/ru/news/812867/
https://www.schneier.com/blog/archives/2024/05/new-attack-on-vpns.html
Полдня в ленте новостей попадаются заголовки об "атаке" TunnelVision.
И вот на одном ресурсе вообще написали "ни один VPN-сервис больше не
является безопасным". Обычно подобным коверканьем смысла занимаются
журналисты, но теперь, видимо, и писаки на сайтах.

Хорошо всё объяснено на dxdt.ru сайте.
* это и не атака, не уязвимость, а штатная функция DHCP
* к VPN, как таковым, оно вообще отношения не имеет
Но нет, напишут же что все "VPN-сервисы более не безопасны".

11 months agoHDR в X.org
Sergey Matveev [Tue, 7 May 2024 08:39:49 +0000 (11:39 +0300)]
HDR в X.org

https://wiki.archlinux.org/title/HDR_monitor_support
Мой новый монитор (447cdfbb145f6597c7df2be1bec8d15a5d36237c) умеет 10bpc
и HDR (+WCG?). HDR, правда, по сути то не настоящий, ибо яркость монитора
всё равно только 300nit. Как, собственно, и поддержка цветов тоже не
настоящие 10бит, а 8bit+FRC. Но это всё мне и не надо.

X.org достаточно запустить с startx -depth 30, чтобы он начал
использовать 10bpc (судя по /var/log/Xorg. mpv, терминал работают без
проблем. А вот Links в графическом режиме -- говорит что не нашёл
supported depths. Действительно, в исходном коде обрабатываются только
вплоть до 24-бит глубины. OpenArena в segfault падает.

А HDR в X.org вообще не планируется добавлять. Даже в Wayland это всё
ещё work-in-progress. А работает ли WCG (когда вне sRGB диапазона надо)
в нём в принципе -- не понял.

11 months agoСанта-Барбара в NixOS
Sergey Matveev [Sun, 5 May 2024 22:03:30 +0000 (01:03 +0300)]
Санта-Барбара в NixOS

https://www.opennet.ru/opennews/art.shtml?num=61122
https://save-nix-together.org/
Судя по тексту, всё началось с того, что спонсором на одной из
конференций была компания выполняющая военные заказы. И лидер проекта,
ничего плохого не увидел в этом. Как бы компьютеры, Интернет, да и чуть
ли не всё на свете -- всегда для военных целей рассматривалось. Но куча
не очень мне понятных людей из NixOS-а воспротивились этому и начали
бухтеть. Короче, судя по беглому чтению, нормальный был мужик, но
понабежали всякие @#$% и всё давай поганить. Не удивительно что среди
моих знакомых почти никого не осталось на Nix-е, ибо задрало его
постоянная эволюция ради эволюции, с поломкой обратной совместимости.
В одном комментарии увидел верное замечание: сначала в современных
программерских проектах пишут code of conduct, а уж только потом код.

11 months agoКоротко о разработке ПО сейчас
Sergey Matveev [Sun, 5 May 2024 17:28:05 +0000 (20:28 +0300)]
Коротко о разработке ПО сейчас

https://dc09.ru/posts/fff/
Как разрабатывается ПО, на примере создания полочки для специй?
Понравилась аналогия и статья. Было бы даже забавно, коли не было бы так
грустно от правды. Недавно знакомый проходил курс по Go и их там, в
простой задаче, очень и очень натаскивали и хотели чтобы всё было
обмазано ООП вот прям по сути как в этой статье. На Go. ООП. На пустом
месте, чтобы было. Прям вот учат насильно этому. Ну это, фабрики строить.

11 months agoПрекращаю использовать DuckDuckGo
Sergey Matveev [Sun, 5 May 2024 07:16:42 +0000 (10:16 +0300)]
Прекращаю использовать DuckDuckGo

С поисковиками огромная беда и проблема: их считанные единицы. А то что
есть: зачастую не работает без загрузки проприетарного ПО. Яндекс давно
не работает без JS и cookie. Google когда как, но на него я уже годами
не захожу, ибо почти всегда он хочет CAPTCHA. Rambler.ru -- не ищет даже
банальные запросы (то бишь, не выдаёт никаких результатов), связанные с
моими сайтами. Как и Bing. Когда-то работал StartPage.com -- теперь
говорит, что я робот и иду нафиг. Yahoo просто ничего не отдаёт: HTTP
запрос при отправке формы поиска умирает по timeout.

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

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

Но тут увидел поиск от Brave. Могу только с DDG сравнить: есть IPv6
адреса, несколько серверов, никакой политики в выдаче. Всё, само собой,
работает под Lynx без проблем. Так что пока на нём. К сожалению, службы
типа каталогов в мире не прижились.

11 months agoTk и HiDPI
Sergey Matveev [Sat, 4 May 2024 16:41:08 +0000 (19:41 +0300)]
Tk и HiDPI

Современный Tk из коробки так себе выглядит на HiDPI -- всё маленькое.
Есть команда "tk scaling", но она не применяется к шрифтам. Не шибко
разбирался как всё лучше организовать, но пока добавил такое в ~/.wishrc:

    font create myDefaultFont -family Go -size 14
    option add *font myDefaultFont
    tk scaling [expr {163 / 72.0}]
    tk_setPalette grey

и использую тот факт, что wish интерпретатор его считывает, если
исходный код подаётся через stdin. У меня Tk приложение по сути то
только одно: tofuproxy, который как-раз вызывает wish с передачей кода
через stdin.

11 months agoОбновил монитор. Теперь HiDPI
Sergey Matveev [Sat, 4 May 2024 14:24:18 +0000 (17:24 +0300)]
Обновил монитор. Теперь HiDPI

https://wiki.archlinux.org/title/HiDPI
На моём прошлом мониторе, дешёвом AOC 27" FullHD, по середине уже стала
появляться полоска выцветшая. Прямо в том месте, где разделительная
яркая белая линия в Vim между окнами проходит. Прям выгорело и намекает
на то, как много я нахожусь в Vim.

Я уже прежде пробовал на работе 4K (d154bb0f1f7d36997a293728311427d549ed7e66)
мониторы. Точнее тут важна речь не про разрешение, а про DPI, точнее HiDPI.
И, действительно, текст реально лучше и приятнее выглядит. Да, во всех этих
наших "линуксах" куча геморроя с DPI≠96 и, судя по Arch Wiki, чуть ли не
для каждого GUI toolkit/framework/DE нужно собственные настройки для
всего этого дела задавать. И там например нет ни слова про Links2, в котором
свой движок рендеринга.

Но так как я всё же почти все время провожу в консоли, то о HiDPI я
подумывал. Ну и взял Samsung S27A800NMI монитор. Хотел бы я 24", но
вообще нигде нет, и толком не выпускают. Этот же 26.9", почти 27".

11 months agoЖизнь BBS сисопа
Sergey Matveev [Sat, 4 May 2024 08:04:47 +0000 (11:04 +0300)]
Жизнь BBS сисопа

https://arstechnica.com/information-technology/2022/12/my-secret-life-as-an-11-year-old-bbs-sysop/
Немножко снимков экрана есть обо всей этой теме, и рассказ какого это
всё было. У меня тоже был распечатанный в ASCII табличке листочек со
списком московских BBS-ок, где я делал пометки об особенностях работы
и всяком подобном. Но с появлением FidoNet-а, на BBS-ки перестал ходить.

11 months agoGoVPN.info домен скоро протухнет
Sergey Matveev [Fri, 3 May 2024 08:49:31 +0000 (11:49 +0300)]
GoVPN.info домен скоро протухнет

Я давно официально забросил GoVPN проект, но домен всё продолжал
оплачивать. Через пару недель он протухнет. Копия сайта есть на
http://www.govpn.cypherpunks.ru/ теперь. Не вижу смысла платить
за него, ибо нет планов возрождать.

11 months agoОбновил уличные наушники
Sergey Matveev [Thu, 2 May 2024 14:06:21 +0000 (17:06 +0300)]
Обновил уличные наушники

Уже говорил (c2f2a088cd088b7d290de4fb40921897c74e8d7e), что я не хочу в
ухо вставлять что-то глубоко -- я хочу вкладыш! А их ничерта нету. Ну
точнее надо поискать. Вот уже вторые за 100₽ износились -- прям провод
ломается, одно ухо перед этим тоже перестаёт почти что-либо воспроизводить.
И сломались они как-раз, когда я ехал в Глобус, слушал аудиокнигу. Нашёл
в нём не вкладыши, но и без резиновых уплотнителей. Выглядят почти как и
все остальные внутриканальные, но всё же просто пластик такой формы и
глубоко не вставляются. Рискнул и взял.

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

11 months agoОбновил аккумулятор во втором ИБП
Sergey Matveev [Thu, 2 May 2024 14:04:40 +0000 (17:04 +0300)]
Обновил аккумулятор во втором ИБП

2+ месяца назад менял уже (26ce9b18e282ced0e15a4eb02348b99ffd659828),
а теперь руки дошли до второго ИБП.

11 months agoПользователей Tor из РФ вдвое меньше
Sergey Matveev [Thu, 2 May 2024 08:24:43 +0000 (11:24 +0300)]
Пользователей Tor из РФ вдвое меньше

https://habr.com/ru/news/811687/
Пишут что "активная аудитория" понауехала и много кто переместился в
Telegram. Первое -- ну понятно, ибо всякие сепаратисты и враги страны.
Второе -- да потому что на всю эту анонимность плевать там многие хотели,
и вся риторика всего проекта о свободе слова, безопасности журналистов и
всему подобному, чушь собачья, используемая для прикрытия.

12 months agoНастройка маршрутизатора требует Интернет
Sergey Matveev [Tue, 30 Apr 2024 19:01:54 +0000 (22:01 +0300)]
Настройка маршрутизатора требует Интернет

https://brainbaking.com/post/2024/04/isp-router-design-mistakes/
В Бельгии провайдеры настолько суровы, что в их маршрутизаторах для
дома, нет возможности локальной настройки. Надо через Интернет зайти на
какой-то их сайт, чтобы через него отослать настройки маршрутизатору. Я
конечно слышал о лютом маразме, но компании не перестают удивлять.

12 months agoГде здесь кнопки?
Sergey Matveev [Sun, 28 Apr 2024 18:19:20 +0000 (21:19 +0300)]
Где здесь кнопки?

https://grumpy.website/media/2024/1522.jpeg
Со стороны вижу как современные web/mobile приложения выглядят и поэтому
я отвратительно отношусь ко всему что касается современных UI. Я не
встречал хороших примеров. Если кто-то считает что оно просто стало
другим: нет, не соглашусь, оно стало неюзабельным дерьмом. Просто
неуважение к самому себе подобное пытаться использовать.

12 months agoМоя должность на работе
Sergey Matveev [Sun, 28 Apr 2024 09:47:36 +0000 (12:47 +0300)]
Моя должность на работе

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

Нас заранее предупреждали о том, что расписание будет изменено. Я
смотрел (просто по случайным ссылкам в поисковике) а какие вообще
бывают должности, чем отличается senior/middle/junior программист
(ибо уж частенько употребляют эти термины) и что ещё вообще бывает.
И это какая-то жесть: везде чуть ли не противоречащая информация
попадается. Или отсутствие деталей. Или... или я вообще толком не
понимаю кем я являюсь.

На днях меня и спросили как я бы хотел чтобы меня обзывали в "штатке". Я
честно ответил что не знаю. "Разнорабочий" -- самое точное слово :-).

Меня смущает то, что я встречал не раз людей которые обзывают себя
громкими словами и в резюме пишут "и senior, и team lead и architect
могу быть", но зная этих людей я понимаю что они на задачи junior-а то
еле годятся, слабо представляя как происходит разработка ПО в целом.

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

Я видел über-программистов, но которые не могут спланировать задачи,
разбить "бизнес"-задачу на части, спроектировать архитектуру, вести
кроме кода и документацию, и тесты, и CI, и отчёты и всё подобное что
сопутствует разработке. Но программировать они умеют здорово. Я же
считаю, что я не только программить умею. И вот если в должностях моя
будет одинакова с ихними -- ну как-то обидно типа что ли.

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

Блин, да куча людей, как оказалось, даже не представляют как вообще
вести командную разработку надо. Куча людей даже не задумывается о том,
чтобы использовать issue tracker. Их коммиты максимально не атомарны и
хаотичны -- делая их просто некими ZFS snapshot-ами рабочей директории.
Хотя код они могут написать, спору нет. Коллега заметил что многие эти
умения или хотя бы понимания зачем это всё нужно -- даются если бы
человек занимался также и участием в разработке свободного ПО. Сильно
согласен с этим, чем дальше, тем больше убеждаюсь.

Мне с ходу предложили например прописать "ведущий системный программист".
Я пошёл искать что же означает "системный программист", ибо мне казалось
это всё же сильнее упор на ОС, на связь с железом. Где-то (случайные
статьи из поисковика) я встречал определения где даже ОС не упоминается,
а просто типа детальные знания каких-нибудь ФС, как устроено то или сё.
Где-то только про ОС. Что считать общесистемным ПО? Компилятор, отладчик?
Похоже что да. Они не для конкретной прикладной задачи, но без них
прикладные не выполнишь. Но почему я не могу придумать чёткого ответа
чем же тут текстовый редактор не будет является общесистемным ПО? Типа
выхлоп редактора уже может быть законченной задачей, а выхлоп
компилятора или возможность запуска программы под ОС -- сами по себе не
несут конечной прикладной пользы? BASS package manager может ли
называться общесистемным ПО? По сути, насколько понимаю -- да. Ведь сам
по себе он только помогает прикладное собрать/установить. Или redo? Если
так, то системные вещи я типа пишу. В сетях как-то разбираюсь, про ФС
детали глубже многих тоже. Но например на ассемблере никогда не писал
ничего. Приходилось читать ассемблерный выхлоп, но не более.

Но ведь на работе я уйму времени трачу и на "консультации". Когда просто
надо рассказать или понять что-то о конкретных технологиях. И
разработкой протоколов занимался -- а это ведь, грубо говоря, просто в
результате HTML/PDF файлик самодостаточный уже.

Эх, сложно что-то со всем этим. И я не вижу чёткого flat списка
возможных "choice"-ов из чего выбирать. С одной стороны упоминаются
"junior" и "senior", с другой стороны слова типа "ведущий" -- я даже не
понимаю можно ли map-ить друг на друга или это два разных мира точек
зрения? Понапридумывают... попробуй разберись что вообще бывает. Ещё же
есть "архитектор", "эксперт", какие-то там аналитики...

12 months agoШатание Интернета по вечерам
Sergey Matveev [Sun, 28 Apr 2024 09:40:30 +0000 (12:40 +0300)]
Шатание Интернета по вечерам

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

12 months agoМиллионы пакетов через VoRS
Sergey Matveev [Sun, 28 Apr 2024 08:33:58 +0000 (11:33 +0300)]
Миллионы пакетов через VoRS

Мой VoIP клиент/сервер (4a521b9d638a8d23487ff6c36ac3be97c8c464b3,
48584050c661df42c76a1026b3aebe16da078b52,
2cccf7ddd72756431263b6c3e96dfd710f2931ee) уже десятки часов успешно
проработал. С момента его создания чуть ли не каждый день проводили
сессии парного программирования/администрирования, и это чуть ли не на
целый день. У меня FreeBSD клиент, сервер VoRS на FreeBSD VPS-ке поднят,
у коллег Ubuntu. Всё работало замечательно. И за одну сессию по
полмиллиона пакетов от меня проходило.

Я беспокоился за то, что Opus же ведь stateful кодек, а у нас бывали
большие потери пакетов. Вот недавно аж по несколько сотен за минуту --
кто-то сильно Интернет шатал. И я думал что мало ли, может там какие
ошибки будут накапливаться или ещё чего подобное или там отсутствие echo
cancellation или вообще хоть какой-либо обработки аудио будет мешать. Но
нет, всё без нареканий с нашей стороны.

В его v2 версии я заменил Poly1305, который и так уже был урезан до
64-бит, на SipHash24. Последний всё же является криптографически сильным
MAC-ом, поэтому на безопасность это не должно негативно влиять. SipHash
заточен под аутентификацию коротких сообщений, которыми 20мс Opus кадры
и являются. И SipHash24 быстрее более чем на порядок, ведь ключ для
Poly1305 генерируется из 512-бит (размер блока ChaCha20, где 256-бит
к тому же отбрасываются за ненадобностью) выхлопа ChaCha20, чтобы после
этого ещё один 512-бит блок сгенерировать уже для шифрования. Дороговато
выглядит.

12 months agoBASS будет свободным
Sergey Matveev [Sun, 28 Apr 2024 08:21:17 +0000 (11:21 +0300)]
BASS будет свободным

В 7e1dbd0539c7ea5c6bd5e8831abeea4796da693e,
3a1f5e5f8e1280737b635fd50e3a30e501963a7f,
d0d24e9b8d061de7f630ef5bf0de3a6bec29fb2b,
89b5da9451fd2295ad59b2d5a75061c11ad2583a я упоминал что написал систему
сборки пакетов и пакетный менеджер. Изначально вообще-то делался CI, но
для него вот проще было написать и свои пакеты. Так вот начальство
одобрило его публикацию как свободное ПО, чему я очень рад, ибо были
сомнения.

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

Но BASS уже вовсю начал использоваться как пакетный менеджер (десятки
пакетов с зависимостями), через который разворачивается одна система.
Для поднятия десятков демонов используются отдельные XXX-service пакеты,
в которых подготовленные daemontools'es supervise run-файлы. То есть
сама программа и её запускался -- независимы, что очень удобно и гибко.

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

Изначально почти всё на Z shell было, а дальше то тут, то там чуть его
повыпиливал и от него ничего и не осталось.

12 months agoGroup в slog
Sergey Matveev [Sun, 28 Apr 2024 08:13:36 +0000 (11:13 +0300)]
Group в slog

Недавно начал активно использовать log/slog.Group в программах. Очень
клёво с ним выходит создавать иерархичные логи. Например есть какой-то
handshake, внутри которого нужно бы и ключи с сертификатами распечатать,
и показать каждый шаг каждого шифрования (входные данные, результат) и
всяких там HKDF и прочего. Нижестоящие функи могут возвращать или список
slog.Attr или slog.Attr созданный через Group, а дальше эти кусочки
логов можно подставлять в другие Attr. Если для простоты по умолчанию
использовать родной JSON handler, то выплёвывается очень детальная и
машиночитаемая JSON-ина. Минимум телодвижений, зато какой
детализированный и удобный результат.

12 months agoДЦ Яндекса к Мянтсяля
Sergey Matveev [Sun, 28 Apr 2024 08:06:10 +0000 (11:06 +0300)]
ДЦ Яндекса к Мянтсяля

https://www.dp.ru/a/2024/02/05/data-centr-jandeksa-v-finljandii
https://www.youtube.com/watch?v=-hE8jkyfqMw
После поддержки нациков всякими западными странами, видел новость о том,
что ДЦ отключили от электричества. А дальше в новостях не встречал что с
ним после то происходило. Так как он отапливал на 70% близлежащий город,
то подключили снова, насколько вижу.

В видео от Яндекса очень хвалятся эффективностью его охлаждения, которое
сложно делать и только Amazon, Facebook и Microsoft в мире подобным ещё
занимаются. Именно вентиляцию/охлаждение мой отец разрабатывал для них,
как и для нескольких других их ДЦ.

12 months agoПро Гагарина из энциклопедии в США
Sergey Matveev [Tue, 23 Apr 2024 20:02:23 +0000 (23:02 +0300)]
Про Гагарина из энциклопедии в США

Советский тоталитарный режим запустил в 1961 году в космос смертника,
которому однако, удалось вернуться назад живым. Ракета была сделана на
основе немецких разработок Вернера фон Брауна, отца американской лунной
программы.

12 months agoEd25519 сертификаты и macOS
Sergey Matveev [Mon, 22 Apr 2024 07:04:49 +0000 (10:04 +0300)]
Ed25519 сертификаты и macOS

https://stackoverflow.com/questions/77717713/how-to-import-ed25519-root-ca-into-keychain-access-macos
Снова из-за VoRS (2cccf7ddd72756431263b6c3e96dfd710f2931ee) мне написали
что мои ed25519 X.509 сертификаты не добавляются в macOS хранилище. Типа
не поддерживаемый формат. Ну так а что они хотели то, ведь проприетарная
ОС, разработчик которой уже как-то засветился на применении Dual_EC_DRBG.
ed25519 алгоритм не требует наличия хорошего PRNG, в отличии от ECDSA.
Если PRNG будет поломан, с backdoor-ом, то ECDSA ключ можно будет "слить".
А с ed25519 такого не выйдет. Поэтому и не включают его поддержку.

12 months agoОтносительный URL в Gemini
Sergey Matveev [Sun, 21 Apr 2024 13:13:59 +0000 (16:13 +0300)]
Относительный URL в Gemini

Спецификация Gemini говорит:

    URL may be absolute or relative. If relative, it should be resolved
    against the URL used in the original request.

вроде бы это интерпретируется однозначно как "берёшь текущий URL,
добавляешь к нему (относительную) ссылку".

Я в Gemini редко бываю, но бывает посещаю время от времени их ресурсы.
Заметил, что у некоторых относительные ссылки не работают. Текущий URL
"host.name/foo", относительная ссылка "bar/baz", и они ожидают
"host.name/bar/baz", а не "host.name/foo/bar/baz".

Решил выяснить кто же всё таки прав, хоть спецификация и не читается
двояко. Так вот первый (reference) клиент для Gemini был написан на
Python. И в нём используется urljoin (dcd9193595c262f96f29e4984ca0304106634fbc),
который вот так вот коряво объединяет ссылки. То есть, некоторые
gem-сайты ожидают bug-compatible поведения как у дурацкого Python
клиента, хоть это и не по спецификации, которую сам же автор клиента и
написал.

12 months agoVoRS под macOS
Sergey Matveev [Fri, 19 Apr 2024 18:04:52 +0000 (21:04 +0300)]
VoRS под macOS

https://news.ycombinator.com/item?id=40083641
https://forum.crystal-lang.org/t/cannot-compile-statically-ld-library-not-found-for-lcrt0-o/4070
https://developer.apple.com/library/archive/qa/qa1118/_index.html
Опубликовал новость о VoRS на Hacker News. Многие пишут что с
совместимостью между разными броузерами у WebRTC нету сейчас проблем.
Ну... может быть, но пару лет назад сам воочию видел. Да и это не
отменяет что современный броузер для задачи VoIP это безумием всё равно
остаётся.

Даже если забыть про броузеры и поглядеть в сторону Pion, где на чистом
Go реализован весь его стэк -- это не отменяет колоссальную монструозность
всей этой экосистемы, заточенной под пробивание и работы за NAT-ом.

Некоторые хотят клиента вообще без TUI. Ну да, надо бы сделать подобный
режим. Оказывается, есть какой-то не-QT Murmur сервер для Mumble.
Здорово. Не знал о нём прежде. А то тащить Qt ради GUI-less сервера...
так себе охота.

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

12 months agoOpenBSD по-умолчанию начинает использовать pax формат
Sergey Matveev [Wed, 17 Apr 2024 08:57:09 +0000 (11:57 +0300)]
OpenBSD по-умолчанию начинает использовать pax формат

https://www.opennet.ru/opennews/art.shtml?num=61011
Давно пора! Впрочем мне то нравится поведение libarchive по-умолчанию:
если можно обойтись ustar-ом, то используется он, в противном случае pax.
d5670fc7a83b5161ebbb4f7b9cdaf34f3edf3a94
a3f2621a4986184923161e2e1c65778f61a98086
3292f9367343832b03ecc52e17437333d136cab6
b4b36a45ec721be274a4b6c0f9f243d5672f3a48
c13068dff5ce5219180a26327a0e0a8bafa20f6f
63d54cebf28a23d793e211edd65aed6a1eded1cb

12 months agoСходил на оперу "Риголетто"
Sergey Matveev [Mon, 15 Apr 2024 08:04:00 +0000 (11:04 +0300)]
Сходил на оперу "Риголетто"

https://ru.wikipedia.org/wiki/%D0%A0%D0%B8%D0%B3%D0%BE%D0%BB%D0%B5%D1%82%D1%82%D0%BE
Вместе с мамой, которая на нём уже была. Ей было интересно насколько мне
зайдёт не Вагнеровская опера. Очень понравилось! Точно уяснил что мне не
только из-за немецкого Вагнеровские нравились. На "Аиде"
(411cc4cd20be6c375c0cbb101330d1aa2fd7fae8) я вообще не разбирал границы
слов: речь просто лилась и лилась, где толком даже не понимал на каком
языке пелось. Тут же: каждое слово я чётко слышу. Итальянский я хоть и
не знаю, но чётко слышу что это именно на нём поётся, со всеми границами
между слов. Так что это именно в Геликон-опере, даже на отличных, почти
самых дорогих местах, это было всё так себе (по сравнению с тем, что мы
слышим в Новой Опере).

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

В общем, здоровская опера! И без немецкого языка тоже крута.

12 months agoНа чём играет современная молодёжь?
Sergey Matveev [Sun, 14 Apr 2024 20:55:43 +0000 (23:55 +0300)]
На чём играет современная молодёжь?

https://www.youtube.com/watch?v=6CV0D9OO4EE
Бачило говорит, что современные старшеклассники поголовно не играли
никогда в игровые консоли (приставки). Я про себя думаю: да ладно,
неужто на ПК реально все переезжают с них? Оказалось поспешил, ибо,
как он говорит, у них только смартфоны для игр, больше ничего. О
дивный новый мир.

12 months agoЗа что мы любим Python? urljoin!
Sergey Matveev [Sat, 13 Apr 2024 14:45:32 +0000 (17:45 +0300)]
За что мы любим Python? urljoin!

Python 3.10:
    >>> from urllib.parse import urljoin
    >>> urljoin('http://1.2.3.4:9010', '1.2.3.4:9010')
    '1.2.3.4:9010'

Python 3.7:
    >>> from urllib.parse import urljoin
    >>> urljoin('http://1.2.3.4:9010', '1.2.3.4:9010')
    'http://1.2.3.4:9010/1.2.3.4:9010'

И в документации к 3.10 нет никаких пометок об особенностях или
изменении поведения. По моему это лютая недопустимая дичь что творится.

12 months agoОтпраздновал день космонавтики Грай-ем
Sergey Matveev [Fri, 12 Apr 2024 22:15:12 +0000 (01:15 +0300)]
Отпраздновал день космонавтики Грай-ем

Более трёх месяцев не посещал метал-концерты. Всё работа, работа.
А сегодня сходил на Грай (262934d9e7bbabd2aca4ffb0958a615308797580).
Жара, духота, потные люди в округ беснуются, сам в поту, в грудине
отдают бас-бочки, плотный сочный звук электрогитар -- короче эталонный
метал-концерт. Сплошные мощные боевики и хиты. Пару их песен не слышал
прежде. Куча кача и бошкотряса. Зыбина отлично общается с толпой. Плюс
у неё вполне выходит гроулить, чего на альбомах нет вообще. 3-ей уже
понёсся "Пир Мертвецов" (3c041cdba9698d43330552d88a0688abd223edc3),
с настоящей волынкой. Отличная отдача от пришедшего народа, активно
подпевали в том числе. И мне кажется что громче толпы я ещё не слышал
прежде -- очень уж всем нравится Грай.

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

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

12 months agoДоработки VoRS
Sergey Matveev [Thu, 11 Apr 2024 19:17:05 +0000 (22:17 +0300)]
Доработки VoRS

В прошлой записи упоминал об относительно простом VoIP клиент/сервере.
До четырёх утра не спал, но решил ещё красивее сделать: заменить TLS на
Noise. Кода конечно потребовало больше, ведь не готовый же протокол
используется, но зато в целом куда более простая система.

Выбрал Noise-NK шаблон, где всего ровно за один round-trip производится
рукопожатие. При этом, уже в первое сообщение от клиента и сервера можно
вложить полезную нагрузку (которая тоже будет зашифрована). В итоге, уже
с первым сообщением от клиента он предоставляет свой username. А сервер
в своём сообщении может сразу объяснить причину отказа например.

Кроме того, вместо того, чтобы заставлять клиента использовать такой же
номер UDP порта с которого он пришёл на TCP сервера (что не всегда может
быть доступно), клиент отправляет пакеты с произвольного порта. Во время
рукопожатия, сервер выдаёт ему 128-бит cookie, которую клиент должен в
UDP пакете послать ему. Ведь проходя через NAT-ы, он в общем случае
может и не знать какой порт увидит сервер. Только приняв cookie, сервер
выдаёт клиенту SID и оповещает остальных о его подключении. И проверка
связи по UDP, и дружелюбность к NAT-ам и stateful firewall-ам.

От пароля избавился. Так как публичный ключ сервера во время рукопожатия
не передаётся, то его нужно знать клиенту заранее. А чем заранее выданный
публичный ключ не идентичен паролю? Shared секрет для аутентификации.

Включил в Opus-е DTX (discontinuous transmission), где кодек может
вообще не отправлять пакеты если в них тишина. Действительно, при
ней ничего не отправляет. А также всё же снизил bitrate до 24Kbps, ибо
это вполне себе потолок достаточности для VoIP.

Урезал Poly1305 до 64-бит. Overhead от VoRS выходит 12-байтным (и это с
шифрованием и аутентификацией). Ну и сервер начали проверять Poly1305,
ибо это штука очень быстрая.

Плюс попробовал использовать ML/нейросети из Opus 1.5
(78018e649ab66c7a1f45b793ba7c3c8c7f0a24e4). Для этого нужно повысить
настройку сложности декодера. Go обёртка не позволяет это сделать, ибо
раньше в декодере этого просто нельзя было указывать. Сделал fork в
git://git.stargrave.org/go-opus.git, где оно появилось. Действительно,
особенно при потерях пакетов, разница на слух есть заметная, если
libopus собран с --enable-deep-plc --enable-osce и complexity=10. Но это
всё опционально.

12 months agoМоё новое поделие: VoRS
Sergey Matveev [Tue, 9 Apr 2024 21:47:05 +0000 (00:47 +0300)]
Моё новое поделие: VoRS

http://www.vors.stargrave.org/
Как-то я бросался словами что надо написать свой собственный VoIP клиент
(+сервер). А то из всего VoIP есть только Mumble, который хоть как-то
ещё можно собрать и который хоть как-то но работает. Хоть как-то -- это
значит что всё равно со сторонними реализациями всё плохо (Mumble на Go):
7dac01b0761a750312eef3765d3131e36fac95aa
6bf8ec6fda4ba9a2ee54819e4a6613ff33d8effe
ecf0bbd8f4f25d6039438e1c6756c518e6979cfb
Отдельная боль в Mumble -- его Murmur сервер, который хоть и не GUI, но
требует Qt.

За три последних дня, не забывая про работу, я осилил написать своё
решение. Когда-то я думал что это вообще на Си стоило бы, но увидел, что
Go-шная wrapper библиотека для libopus существует, в ней почти нет кода
(буквально просто обёртки), замечательно работает. В итоге Си как то сам
собою отпал.

Около экрана кода достаточно чтобы P2P Opus закодированный трафик по UDP
передавать. Я было обрадовался как оказалось всё просто. Но вот если
захочется больше чем два человека, то тогда что делать? Всем
перезапускаться и указывать ещё один дополнительный IP адрес? Геморрой.
Да и я не планировал и яростно против любых NAT-traversal технологий, но
отдельный сервер всё же вполне себе был бы и решением до сих пор
остающихся неподключёнными к Интернету людей (которые за NAT).

И с его появлением всё сразу как-то сразу усложнилось. Но я постарался
сделать так, чтобы всё же проще было некуда. VoRS: Vo(IP) Really Simple.

* каждый клиент подключается по TCP к серверу
* на нём заранее генерируется X.509 сертификат самоподписанный, ed25519
  алгоритм, хэш от SPKI выдаётся клиентам
* инициируется TLS 1.3 с curve25519 DH. Проверяется SPKI хэш сервера
* далее внутри TLS следует текстовый построчный протокол: сервер
  отсылает 128-бит challenge; мы отвечаем BLAKE2s(пароль, challenge) и
  username-ом. Серверу и клиентам заранее указываются пароли подключения.
  Факт успешного расчёта MAC-а над challenge означает что клиент
  аутентифицирован и авторизован к подключению
* если с паролем всё ok, если username не сдублирован, то сервер или
  отвечает "OK <SID>" или сообщением с ошибкой. SID это stream
  identifier -- 8-бит число, по сути просто идентификатор подключённого
  клиента
* далее по этому TLS-у раз в 10сек бегают PING/PONG, с отключением если
  долго от противоположной стороны ничего не было

X.509 -- потому что из коробки в Go есть. X.509+пароль -- точно так же
это устроено и в Mumble. То бишь для Mumble-пользователей привычно.

После успешной авторизации, сервер и клиент вырабатывают симметричный
ключ шифрования UDP трафика, используя встроенную возможность TLS 1.3 в
виде Export Keying Material.

Аудио читается кусками по 20мс -- рекомендованное значение Opus-а.
48kHz, 1 канал, 16-бит S-LE. Натравливается функция кодирования Opus,
получается несколько десятков байт пакет. К нему добавляется 32-бит
заголовок: 8-бит SID и 24-бита счётчик пакетов. 24-бита достаточно для
многодневной беседы без остановки, учитывая что отсылается 50pps.
Счётчик используется для обнаружения переупорядочивания и потерь
пакетов. Используются PLC (Packet Loss Concealment) возможности libopus
для сглаживания потерь.

Bitrate выставлен в 32Kbps. Изначально выставлял 24Kbps, как
рекомендовано. Но... 4-байт заголовок VoRS, 40-байт заголовок IPv6,
16-байт на MAC, 8-байт на UDP... выходит что размер payload-а меньше чем
overhead на передачу! Поэтому пускай будет 32Kbps, чтобы всё же чуть
больше чем overhead быть, и суммарно получить 64Kbps трафика.

Раз в секунду отправляется пакет с 1-им байтом SID-а, чисто для UDP hole
punching-а stateful firewall-а.

Собственно, ключ EKM используется для ChaCha20-Poly1305. В качестве
nonce которого используется счётчик пакетов. Пока используются все
128-бит Poly1305, но я думаю что имеет смысл сократить в два раза.

UDP трафик от клиента отправляется на сервер, который только смотрит на
первый байт SID-а и UDP IP:порт. Клиент шлёт UDP трафик с такого же
номера порта по которому он подключился для TCP. А дальше сервер просто
буквально рассылает копии пакета всем остальным. Да -- это пока самое
неприятное место, ибо микшированием аудиопотоков сервер не занимается и
поэтому объём трафика растёт пропорционально кол-ву участников. Но на
моей практике, людей в Mumble буквально не больше 4-5, и это речь про
64Kbps поток от каждого.

Как же дешифровать то трафик могут другие, ведь у них же свои TLS
соединения со своим state-ом. Сервер по TLS-у просто сообщает текстовой
строкой о факте подключения нового участника: ADD SID USERNAME KEY. Если
кто отключается, то: DEL SID. Безусловно пока есть race между тем как
дойдёт ADD/DEL по TCP до клиентов и параллельно с этим идущим UDP
трафик. Но да и фиг с ним: речь про доли секунды возможно ещё не
дешифрующегося трафика.

Когда сервер научится микшировать аудиопотоки, то от него будет идти
ровно один stream с audio. Можно будет избавиться от SID-а в принципе.
Если дойдут до этого руки, ибо задача вроде бы отнюдь не тривиальна.
Сервер сейчас даже не работает с криптографией UDP пакетов, хотя мог бы
проверять MAC например (ключ же он знает).

Самая жопа это ввод и вывод аудио. Ничего портабельного, кроме говна
типа PulseAudio или очередных его заменителей -- нет. OSS4 это мир BSD.
ALSA это Linux. JACK из коробки не стоит, да и я не знаю адекватно ли с
ним работать. Видел и даже трогал софт с OpenAL -- но на Go как-то оно
всё не то чтобы стабильно работало (может быть это софт был говно, а не
с OpenAL дело).

Пока решил поступить по тупому: SoX-овый rec для того, чтобы из него
просто забирать поток PCM байт. Его же play для воспроизведения. Приятно
то, что он не требует чтобы я поток постоянно выдавал. Если мне не
приходят UDP/Opus пакеты, то в play я байты никакие не подаю и это не
проблема. Для каждого клиента/stream-а я запускаю ещё один "play".
Насколько знаю, возможности микшировать потоки с разных приложений
зависят от драйверов и вообще звуковой подсистемы. Но вроде бы и ALSA и
OSS давно без проблем это всё из коробки умеют уже давно. У меня play
прекрасно запускается в большом количестве и асинхронно к ним подаются
кусочки звуковых данных -- всё тип-топ работает.

Вместо play/rec можно использовать всё что угодно другое. Это просто
команда которая или с stdout или на stdin должна принимать PCM данные.
Хоть ffmpeg засунуть -- должно быть пофиг. И по идее это нигде не должно
создавать проблем. Проверял на какой-то Ubuntu не самой свежей (с
LiveCD), ну и на своих FreeBSD, как со встроенными Intel HDA
звуковухами, так и подключёнными через USB или даже virtual_oss. Если я
доберусь до микширования звука на сервере, то этот же код можно будет
использовать и на клиенте, для того чтобы ровно один "play"/whatever
запускать, если будет в этом смысл.

Ну и оно должно быть удобно для использования. Я люблю бегающие чиселки.
Mumble настолько ничего не показывает, что частенько он говорит что типа
всё ok, мы работаем, вот только звуковое устройство отвалилось, как и
сервер.

Решил сразу сбацать TUI интерфейс. Экран для произвольных логов (ошибки,
события подключения), и для каждого участника по окошечку, где
перечисляются кол-во принятых/переданных пакетов (на сервере, а на
клиенте только принятых от остальных, или переданных от себя), размеры в
байтах (только payload конечно же), потерянные или переупорядоченные
пакеты,

Если последний UDP пакет был принят более секунды назад -- считается что
пользователь молчит. В противном случае показывается "TALK" зелёным
цветом. Как на сервере, так и на клиентах. Нажатием Enter можно
включать/выключать mute локальный -- UDP просто не будет отсылаться.

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

В планах не было делать Voice Activity Detection, но раз я уже умею
вычислять RMS, то что мешает добавить VAD? Я не очень понял про его
значения, не вдавался в подробности, но просто написал утилитку, которая
выводит RMS значение для звука из rec-а. На глаз можно оценить какой
порог надо задать и передать его в клиента -- тихий звук до него будет
считаться тишиной и никакой UDP передаваться не будет. Вроде работает
отлично.

В "бою" я это ещё не проверял -- только в домашних условиях. Но с
задержками проблем не увидел, собралось под старой Ubuntu без проблем,
работает прям отлично как-будто. Запросто где-то фатальные косяки, ибо
делал на скорую руку. Но по идее оно полностью покрывает функционал
Mumble для просто общения (вне игр, где всякие positional audio).

Нет разделения по "комнатам". Конечно можно и добавить, но думаю что
проще поднять ещё один сервер на соседнем порту. У него из аргументов то
пути только bind, путь-к-pem и пароль. Плюс он не требует libopus или
чего-то подобного: обычная статически собранная Go программа.

12 months agofind -mtime в GNU и BSD
Sergey Matveev [Sat, 6 Apr 2024 17:31:41 +0000 (20:31 +0300)]
find -mtime в GNU и BSD

Эх, снова буду бурчать на GNU ОС. Вот мне надо удалять файлы которые
старше n часов. В FreeBSD можно указать find-у: -mtime +4h. Под GNU, как
оказалось, никаких часов нельзя указать. Только 24-часовыми единицами
оперировать.

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

12 months agoВстретил чувака с Only Fetish Fest
Sergey Matveev [Fri, 5 Apr 2024 09:44:20 +0000 (12:44 +0300)]
Встретил чувака с Only Fetish Fest

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

12 months agoСходил на оперу "Лоэнгрин"
Sergey Matveev [Thu, 4 Apr 2024 20:14:46 +0000 (23:14 +0300)]
Сходил на оперу "Лоэнгрин"

https://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D1%8D%D0%BD%D0%B3%D1%80%D0%B8%D0%BD_(%D0%BE%D0%BF%D0%B5%D1%80%D0%B0)
Снова в "Новой опере", где были на "Летучем голландце"
(e53fa95d1df289c3c6fc5ebcd142bf1f9f64a576). Особо расписывать нечего.
Лучшая музыка что я слышал среди всех опер. Само пение не так впечатлило
как на "голландце", но возможно потому что уже не в первый раз на
немецком слушаю. В любом случае, это сильно больше понравилось чем Аида
(411cc4cd20be6c375c0cbb101330d1aa2fd7fae8). Вагнер -- очень крут! Причём
то ли я какие отрывки (не считая свадебную тему, известную всем) слышал
и прежде, то ли я прям стал понимать и слышать фишек именно Вагнера.

12 months agoОщутимо иначе стал воспринимать death метал
Sergey Matveev [Tue, 2 Apr 2024 14:56:41 +0000 (17:56 +0300)]
Ощутимо иначе стал воспринимать death метал

Помню что меня не то чтобы впечатляли многие death metal группы. Больше
любил грайндкорчик и горграйндчик. И когда говорили про приезжающих
монстров death metal, то я конечно на многих из них ходил, но не то
чтобы это запоминалось. А тут за последние дни много альбомов Avulsed,
Decapitated, Deicide, Deranged, Devourment, Dying Fetus, Morbid Angel,
Mortician, Putrid Pile, Wormrot прослушал и прям тащусь от большинства
из них. Сейчас мне именно подобного хочется поставить, чем грайнду. Да
кардинальное изменение с (b1131e9ec315c349c3d299b9cdd4fbbca598dda6)
Cryptopsy не забуду. А black-а прежде я слушал ещё меньше чем death.
Сейчас же совсем наоборот.

12 months agoMagic Security Dust
Sergey Matveev [Mon, 1 Apr 2024 18:18:04 +0000 (21:18 +0300)]
Magic Security Dust

https://shostack.org/magic-security-dust
https://www.schneier.com/blog/archives/2024/04/magic-security-dust.html
Революционное решение для того, чтобы делать вещи безопасными by design.
В ролике снялся сам Брюс Шнайер, заявляя что там где он использовал эту
пыль, то security theatre пропал. Продаётся там же, где и snake oil.

12 months agoFLIP протокол
Sergey Matveev [Mon, 1 Apr 2024 17:52:46 +0000 (20:52 +0300)]
FLIP протокол

https://www.rfc-editor.org/rfc/rfc9564.html
Faster than LIght speed Protocol, использующий ChatGPT, может
предсказывать какие пакеты должны прибыть, делая канал связи
быстрее чем скорость света.

12 months agoДальнейшие приключения с gmail.com
Sergey Matveev [Mon, 1 Apr 2024 08:26:54 +0000 (11:26 +0300)]
Дальнейшие приключения с gmail.com

В 67c58801e7f5cd763f98639317494484493e4774 писал, что IPv6 SMTP трафик
после какого-то времени установления (кол-ва пакетов?) TCP соединения
перестаёт ходить со стороны подключающегося. На выходных убрал IPv6
адрес из DNS-а для входящего почтового сервера, оставив только IPv4. И
почта с gmail.com стала ходить. То есть, как минимум, это говорит о том,
что SMTP трафик по IPv4 никто не режет и это Google даже не пытается по
нему подключаться.

Добавил ещё один MX сервер, у которого только IPv4 есть адрес, надеясь,
что Google хотя бы будет пытаться ротировать список MX серверов для
попыток доставки. Но нет -- вижу что никаких попыток достучаться до IPv4
снова нет.

В голову ничего не приходит, кроме как: 1) забить и считать что
gmail.com связь невозможна, из-за кого на магистралях режущих IPv6
трафик. 2) убрать возможность доставки по IPv6. 3) drop-ать
самостоятельно трафик от gmail.com, чтобы он считал что этот IPv6 точно
так же как и mailfake[01].stargrave.org недоступны. 1) -- не очень
приятно, ибо люди на gmail.com имеются, хоть и не большинство. 2) точно
нет, регресс снова в каменный век?

3) сработал как и ожидалось:

    drill _spf.google.com TXT
    "v=spf1 include:_netblocks.google.com include:_netblocks2.google.com ... ~all"
    drill _netblocks2.google.com TXT
    "v=spf1 ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ... ~all"

    ipfw table google-mail create type addr
    tableadd google-mail 2001:4860:4000::/36
    tableadd google-mail 2404:6800:4000::/36
    tableadd google-mail 2607:f8b0:4000::/36
    tableadd google-mail 2800:3f0:4000::/36
    tableadd google-mail 2a00:1450:4000::/36
    tableadd google-mail 2c0f:fb50:4000::/36
    $add deny tcp from "table(google-mail)" to "table(mein)" smtp

Увидел drop пакетов, а дальше увидел попытку соединения по IPv4, по
которой почта прошла.

13 months agoBackdoor в XZ
Sergey Matveev [Sat, 30 Mar 2024 06:21:08 +0000 (09:21 +0300)]
Backdoor в XZ

https://dataswamp.org/~solene/2024-03-30-lessons-learned-xz-vuln.html
https://www.opennet.ru/opennews/art.shtml?num=60877
https://www.openwall.com/lists/oss-security/2024/03/29/4
https://www.linux.org.ru/news/security/17567724
https://lwn.net/Articles/967180/
В tarball-ах новых версий XZ был сделан backdoor. Касается это правда
только систем с systemd, где OpenSSH собран с патчем для systemd.

13 months agogmail.com перестал до меня ходить
Sergey Matveev [Fri, 29 Mar 2024 20:47:19 +0000 (23:47 +0300)]
gmail.com перестал до меня ходить

Пару недель назад обнаружилось, что почта по IPv6 не ходила до меня.
Дело было в VPS (db38f36c737212f4ec8e82a82acf96586b56ea3b). Ну точнее он
говорил что он ничего не делает, так что били/резали трафик где-то и вне
него возможно. Перенёс приём писем через другой VPS, с другой IP сетью.
И всё начало ходить без проблем.

Пока мне сегодня даже не позвонили и не сообщили что сегодняшние письма
с @gmail.com не дошли, нет от меня ответа. Увидел в логе, что точно так
же как и на прошлом VPS, связь рвётся после STARTTLS. Но ни с кем больше
такого не происходит, хотя у меня преобладающая часть почты через IPv6
принимается (всякие рассылки).

Причём до переезда, когда всё резалось, все всё равно делали fallback до
IPv4 адреса и, пускай и с задержкой, но почта доставлялась. А gmail.com
вообще не пытается по IPv4 сходить. Либо его режут и я не вижу попыток.

Проблема точно не у меня, ибо я проверял просто и на самой VPS-ке с
голой ОС просто netcat-ом. И удивляет то, что нигде не слышу чтобы
кто-то говорил о проблемах. Целенаправленно у меня что ли кто-то что-то
режет? Сложно в это поверить.

И что удивительно, но от меня то по IPv6 (судя по логам) письмо на
gmail.com отправилось. Снова односторонняя связанность какая-то.

В общем... gmail.com до меня по каким-то там сетевым ТСПУ/whatever,
больше не ходит. Я знал что проблемы с почтой начнутся с Google, но
думал что именно с их стороны.

13 months agoОтлично работается под Jungle Rot
Sergey Matveev [Thu, 28 Mar 2024 19:44:35 +0000 (22:44 +0300)]
Отлично работается под Jungle Rot

https://en.wikipedia.org/wiki/Jungle_Rot
В США в целом не то чтобы густо с стоящим металлом (его много, но крутых
стоящих не шибко), а про Jungle Rot я знаю давно. Сегодня почти целый день
он в наушниках. Простая, незатейливая, ритмичная музыка отлична для работы.

13 months agoВ чём проблема работать с файлами?
Sergey Matveev [Thu, 28 Mar 2024 09:54:09 +0000 (12:54 +0300)]
В чём проблема работать с файлами?

https://habr.com/ru/articles/803347/
https://lwn.net/Articles/752093/
https://research.cs.wisc.edu/wind/Publications/sfa-dsn05.pdf
https://pages.cs.wisc.edu/~laksh/research/Bairavasundaram-ThesisWithFront.pdf
https://elinux.org/images/b/b6/EMMC-SSD_File_System_Tuning_Methodology_v1.0.pdf
https://www.cs.utexas.edu/~bornholt/papers/ferrite-asplos16.pdf
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-pillai.pdf
Много интересной информации об особенностях работы с файлами. В основном
речь про целостность и консистентность данных на ФС. Упоминаются различия
между fdatasync и fsync. Факт (1e91d63fac9882e2c226ceb360916d802c96e9be)
отсутствия работающего POSIX fsync на macOS. То что надо бы fsync-ать и
директории (я много где в своём софте подобное делаю). Есть статья с
анализом выживаемости ext3, ReiserFS и JFS -- всё очень плохо со всеми
ними, хотя, как говорят авторы, ReiserFS типа меньшее из зол. Про JFS
мне всегда было любопытно, но о ней почти ничего из практики не
известно: типа никто не использует её, судя по всему. То что NTFS говно
и так можно было не гадать. Есть статья, демонстрирующая то, что btrfs
после спонтанных выключений питания -- приходит в полную негодность и
невозможность восстановления. Вопросы износа/ошибок на HDD, SSD,
контроллеров, ECC RAM. Ну и куча примеров как надо работать с файлами.
Полезная статья!

Ничего явно не сказано про ZFS, хотя, учитывая наличие btrfs, статьи
вполне себе современные и в курсе про эту ФС. Видимо, кроме редких
косяков в самом коде (кои везде бывают), она вне "конкуренции". Ведь она
именно в условиях сбоящих контроллеров, протухающих секторов должна же
выживать и гарантировать обнаружение потери консистентности/целостности.
Нет ничего и про UFS2, в которой вообще soft-updates вместо журналов.

13 months agoСвободный доступ провайдеров к домам
Sergey Matveev [Thu, 28 Mar 2024 08:41:00 +0000 (11:41 +0300)]
Свободный доступ провайдеров к домам

https://www.securitylab.ru/news/547086.php
Давно пора! А то ведь это ж реально полная жопа: куда ни плюнь, но типа
только пара провайдеров имеется, один хуже другого, типа Ростелекомов
или МГТС. Это если Москва. В Королёве где-то есть WiFire, бывший
NetByNet, который теперь Мегафон вроде -- не знаю как сейчас, но они
даже PTR без проблем прописывали. В моём доме только Ростелеком и
мытищинский Индиком. Ростелеком я принципиально не стану использовать,
ибо уроды. Я готов и в десять раз больше платить за Интернет, если бы он
выдавал /56+ IPv6 вменяемо статичный, придите кто-нибудь то уж.

А то ещё со своими GPON-ами, насколько слышал, любят все эти монополисты
приходить. Начитавшись про GPON, если оставить тот факт, что у тебя дома
будет blackbox неуправляемая тобой (главное, чтобы можно было бы её в
режим моста переводить), я сделал вывод что это выгодно только для
провайдеров, но пользователям если и не вред, то точно отсутствие
пользы. Вот подходит оптика к дому, по канализациям. А дальше то в чём
проблема от коммутатора в подвале пустить Ethernet до квартир? Речь
только про большие многоквартирные дома. Да, чуть-чуть это подороже, но
насколько предсказуемее качество услуг. Но я тут не силён в этих
оценках, но вроде от GPON хорошо только операторам и в многоквартирных
домах это экономия (если она есть) на копейках, а страдать нам.

13 months agoПочта не ходила из-за VPS провайдера
Sergey Matveev [Thu, 28 Mar 2024 07:55:57 +0000 (10:55 +0300)]
Почта не ходила из-за VPS провайдера

Моя /48 сеть ходит через vpsville.ru VPS. В ней же IP адрес для моего
входящего почтового сервера. В c1e4bf6cc029ad338577718afcc9cd671ab70258
писал, что в последнее время с почтой неладное. Попристальнее посмотрел:
через n-ое время пакеты по 25-му TCP порту начинают исчезать, причём
только в одном направлении. TCP, EHLO устанавливаются, может дойти до
STARTTLS, но дальше tcpdump-ом я вижу что пакеты, которые должны бы были
прийти -- отсутствуют. И мой сервер через внушительное время говорит
что, мол, время ожидания исчерпано. Проверил также и просто netcat-ом, с
другой VPS, по этому порту -- без разницы что слать, но через n-секунд
трафик в одну сторону перестаёт ходить.

Написал в поддержку, говорят что у них никакой фильтрации нет. Я даже
просто nc|dd делал чтобы убедиться, что на 25-ом порту трафик (почти) не
ходит, а на соседних всё без проблем. Я что, единственный человек у них
что ли, кто почтовик на IPv6 за их сетями держит? Или где-то,
действительно, выше находится ТСПУ именно на мои адреса? Не вериться.

Решил пока прокинуть входящий SMTP через мою вторую VPS. Одна VPS у меня
исключительно для /48 сети, на которой нет ничего, кроме ndproxy
(5958e69e23f2519c6716ff689aa39a9b8c480837) и WireGuard туннеля от меня,
по которому идёт весь этот IPv6 трафик. Но vpsville.ru не даёт
прописывать PTR-ы для IPv6 (25ce76407710dc00ab7e4cbda272f32a83f54300),
поэтому мой предыдущий VPS в строю. На нём много чего: зеркала, DNS,
всякое, плюс исходящий SMTP сервер. Для входящего то PTR-ы не нужны. Но
на нём /64 сеть только, поэтому его в качестве IPv6 брокера не использую.

Поднял ndproxy на нём, чтобы он отвечал на NDP NS в /64 сети. Так как
BIRD с OSPFv3 поверх WireGuard уже стоит, то на моём домашнем сервере я
всего-лишь добавил к loopback-у один из адресов этой /64 сети. Через
OSPF VPS-ка узнаёт о нём и знает куда маршрутизировать приходящий
трафик для него. Но, так как исходящий маршрут по умолчанию у меня через
/48 туннельного брокера идёт, то исходящие пакеты этого адреса идут не в
тот интерфейс. Добавил новый FIB (884f5eb6a88411f947a0d6c3fecd37c612a51654),
firewall-ом помечаю трафик SMTP IP адреса этим FIB-ом, всё заработало.
Почта снова по IPv6 стала ходить.

Но vpsville.ru уже не первый раз разочаровывает. То не предупреждают о
том, что PTR для IPv6 они не дают. То проигнорировали мою просьбу
написать это в документации на сайте (ну да, понимают, что если бы было
написано, то я бы к ним не пошёл). Я бы сказал, что это обман, введение
в заблуждение. То вот почта по сути у них не ходит -- возможно,
действительно, кто-то выше режет трафик, но только у меня эта проблема
что ли и они не признаются что это known issue, can not do anything?
Рекомендовать его я уже не могу никому.

Но пока остаюсь на нём для всего остального IPv6 трафика -- это ж снова
надо искать очередных провайдеров, трахаться со всей этой настройкой.
Может я просто по дешёвкам всё бегаю, тогда как серьёзные дяди
используют какой-нибудь well-known не дешёвый хостинг (что это у нас
сейчас, MasterHost когда-то был, сейчас его сайт вообще не открывается у
меня)? Но я же заходил к подобным на сайт и не видел чтобы они
предоставляли нужный мне сервис. Возможно он просто не описан и при
личном разговоре с продавцами они всё смогут сделать, но это ж тоже
геморрой. Почему так сложно просто взять и получить хотя бы /56 сеть,
чтобы без всякого говна, без необходимости запуска NDP proxy, чтобы хотя
бы один PTR выставить?

13 months agoМой блог и репозитории сдублированы
Sergey Matveev [Tue, 26 Mar 2024 08:48:11 +0000 (11:48 +0300)]
Мой блог и репозитории сдублированы

Вообще-то Git репозитории у меня дублируются с ноября прошлого года.
git.* смотрит на две машины (мою домашнюю и VPS). Заведены master.git. и
slave.git. адреса для каждой из них по отдельности, чтобы в каждом
репозитории я указал два pushurl. git push при этом сразу без вопросов
пропихнёт коммиты в оба репозитория. Они не совсем одноранговы: например
добавление комментария в блог идёт на сервере только в master.git, а
дальше я уже руками при обновлении блога, подпихну в slave.git.

Исторически мой блог находился только на одной машине, ибо ему нужен был
Git-репозиторий локально. И только сегодня дошло, что ничто же теперь не
мешает его запустить и на VPS. SGBlog это один бинарник, плюс кучка
Hjson конфигурационных файлов.

Пришлось правда подправить его: ETag в нём вычислялся как хэш от кучи
всяких данных, среди которых был путь до репозитория, который на разных
машинах легко может отличаться. Плюс обнаружил, что godlighty в качестве
ETag-а для статичных файлов использует ctime, который, как правило,
вообще невозможно сделать одинаковым на разных ФС. Стал использовать
mtime и размер для этого.

13 months agoРаспознавание linkmeup подкастов
Sergey Matveev [Tue, 26 Mar 2024 08:08:05 +0000 (11:08 +0300)]
Распознавание linkmeup подкастов

Начал в 0a1f29f947892a13635bec94abdabcd1e9c55179 превращать подкасты
linkmeup в текст. Вчера именно linkmeup-овские закончились (отдельно там
ещё есть LTE, sysadmins). Три компьютера (Xeon 6-ядер, Xeon 4-ядра, i9
8-ядер) всю неделю упорно жгли электричество. Треть прочитал уже.
Использование large-v2 модели (5ba6c084e4aaa13339e01b094cda718d9ff03a37)
почти (но не все) зацикливания убирает. В общем, полезной штукой этот
whisper.cpp оказался.

13 months agoНеладное со связью
Sergey Matveev [Tue, 26 Mar 2024 07:48:54 +0000 (10:48 +0300)]
Неладное со связью

Оказалось, что со мной пытались связаться знакомые после теракта в
Крокусе. По сотовому телефону и по почте через @gmail.com. Я же часто на
подобные мероприятия хожу. На Пикнике три раза был.

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

Так вот и сообщения по сотовому тоже не проходили. Только через пару
дней, когда я отправил SMS на их номер -- всё стало работать. Впервые
сталкиваюсь с тем, чтобы SMS/звонки не проходили (если есть доступность
сотовой соты).

Смотрел tcpdump-ом что же могло идти не так. До сих пор так и не знаю,
но вижу что именно по IPv6, который у меня через VPS идёт, как-будто
убиваются пакеты TCP. Я вижу что TCP устанавливается без проблем, вижу
даже plaintext вывод начала SMTP сессии, где стороны говорят кто что
умеет, но когда от противоположной стороны должен приходить MAIL FROM,
RCP TO, то такого пакета не видно в трафике. И вскоре мой сервер
посылает ответ что 421 timeout, давай, до свидания. Если стороны
пытаются начать STARTTLS, то это сообщение тоже проходит, но самого
пакета с TLS handshake-ом уже нет. В любом случае это не объясняет
почему gmail.com не делает fallback до IPv4, по которому вроде бы
проблем не видно. Проверял это всё даже просто telnet-ом с другой своей
VPS, где опускал BIRD, чтобы маршрут шёл через глобальный IPv6 Интернет.

Вообще, за 1-2 дня до начала выборов я заметил резкое изменение в
качестве обслуживания Интернета. По ночам -- прям всё тип-топ как-будто,
а как начинается рабочий день, то мой мониторинг постоянно (сотни
событий за рабочий день) говорит о временной недоступности моих VPS. Но
выборы то давно прошли, а Интернет всё равно продолжает кто-то шатать.
Что внутри страны (до Московских серверов например), что за рубеж.

Ну и отдельная тема это директория спам в gmail.com. Годами по абсолютно
непонятным причинам у кого попадает корреспонденция в спам, то нет,
причём в разное время по разному. Кому-то попадает в inbox, хотя мы
раньше не связывались. С кем годами переписывались -- может легко
попасть друг за другом. Хотя годами у меня адреса/настройки/сервера
могут и не меняться при этом.

13 months agoЗацикливание whisper.cpp
Sergey Matveev [Sun, 24 Mar 2024 14:27:03 +0000 (17:27 +0300)]
Зацикливание whisper.cpp

В 0a1f29f947892a13635bec94abdabcd1e9c55179 писал, что новая large-v3
модель может зацикливаться. Смена на large-v2 уменьшает вероятность, но
всё равно это вполне себе у меня может происходить. И large-v2 менее
точные результаты выдаёт.

13 months agoБолее-менее активная работа с schwabrak-ом
Sergey Matveev [Sun, 24 Mar 2024 08:47:19 +0000 (11:47 +0300)]
Более-менее активная работа с schwabrak-ом

В bd94115b066472316ea03e85d611f732785f8b7c я упоминал о написании "issue
tracker"-а на основе директорий и файлов, пригодного для использования
без дополнительного софта, имея под рукой только Git.

С парой коллег вот попытались его вести для нескольких проектов.
Наверное ещё рано говорить об успехе или провале, но пока вроде
отторжения ни у кого не вызывает это всё. Используем все написанные
на Z shell утилиты мои.

Много коммитов наделал в него, которые то тут, то там что-то упрощают
при работе с ним. Разукрасил его вывод, обмазал цветами: всё же цвета
ощутимо позволяют облегчить навигацию по тексту глазами. Изначально
использовал supercat утилиту, но, оказалось, есть ещё компьютеры с
настолько старой версией, где нет множества используемых мною опций.
Написал свою версию supercat на zsh:

    # Usage: colourise ColourSpec:RegExp [ColourSpec:RegExp ...]
    # It is intended to be a drop-in replacement for supercat utility.
    # ColourSpec is comma delimited list of ANSI codes for colour setting.
    # Look for zsh'es Functions/Misc/colors documentation about possible
    # colour values. For example to set bold red on green background you use
    # "bold,fg-red,bg-green" as a ColourSpec.
    # RegExp is POSIX extended regular expression of the text you want to
    # colourise.
    colourise() {
        if [[ -n $NO_COLOR ]] || [[ $# -eq 0 ]] ; then
            cat
            return
        fi
        (( ${+colour} )) || { autoload -Uz colors ; colors ; }
        local lc=$'\e[' rc=m colr=""
        local spec=(${(s/:/)1})
        shift
        for c (${(s/,/)${spec[1]}}) colr="${col}${lc}${colour[$c]}${rc}"
        local re=${(j/:/)spec[2,-1]}
        sed -E "s/${re}/${colr}&${reset_color}/g" | colourise $@
    }

Можно давать вот такие команды:
    colourise bold,fg-green,bg-magenta:"\d+" blue:"whatever regexp"
перечисляя множество регулярок и опций для формирования ANSI разукрасок.
Понравилось что вышло без кучи кода, переиспользуя colors модуль zsh и
POSIX-совместимый sed с расширенными регулярками.

Раньше не было команды "comment", ибо что в неё засунуть, если нужно
всего-лишь открыть issues/.../comment файл и после редактирования
добавить в Git? Но теперь она есть и позволяет предыдущий комментарий
оставить в виде "#"-комментария, а после выхода из редактора удаляет
его, добавляя в Git index. А если ничего не было отредактировано, то
оставляет как было.

"list" команда позволяет фильтровать по тагам. Причём не нужно указывать
полное название тагов. "list star" покажет список задач у которых есть
таги "assignee:stargrave". Если перед тагом написать "!", то будут
показаны задачи у которых него его. "list starg \!done" -- все не
сделанные задачи (у которых нет status:done тага) повешенные на меня.

На работе используется сраный GitLab (сраный -- потому что не
поддерживает SHA256 Git-репозитории, как минимум). Но в нём парой
щелчков можно включить отсылку оповещений о коммитах с показом diff-а.
Поэтому любой push в репозиторий с задачами -- оповещает на email всех
участников.

Пока мне очень нравится как с ним удаётся работать и лично мне ощутимо
помогает уже с несколькими десятками задач. Кроме него, у меня ещё и
личный issue tracker был, по которому очень легко было делать отчёты об
удалённой работе (да, сдаём каждый месяц такое). С schwabrak-based
tracker-ом можно давать ссылки на GitLab и на нужную директорию задачи,
что было бы уже проблематично, если бы задачи находились в
SQL/Recutils/Org-mode СУБД какой-нибудь.

13 months agoGNU/Linux дистрибутивы без elogind
Sergey Matveev [Sun, 24 Mar 2024 07:34:33 +0000 (10:34 +0300)]
GNU/Linux дистрибутивы без elogind

https://sysdfree.wordpress.com/2023/09/25/363/
Оказывается, есть ещё отдельная боль с elogind. Slackware 15 его
использует, поэтому не может уже считаться systemd-free дистрибутивом.
В списке одобренных за 2023-ый код на этом сайте я слышал только об
antiX, Hyperbola, Kiss.

Решил вспомнить что такое antiX, зашёл на их сайт, и вижу что они громко
заявляют что это "анти-фашистский" дистр. Не, это здорово что на этом
Западе кто-то решился пойти против течения и заявить о неподдержке
фашизма, нацизма и подобного (Украину то Запад поддерживает вовсю, как и
террор), но... не надоело ли приплетать всё это к чисто техническим
вещам? Дело конечно автора, в лицензии ничего не написано про запрет
использования его, например, украинцами. Но в форуме всё равно народ
поднимает вопросы нафига это заявление:
https://www.antixforum.com/forums/topic/anti-fascist-antix/

Hyperbola помню что (fea55f774b79e9648a8c6dd30dc0e42747bf7e60) не шибко
адекватный дистрибутив, где я так и не смог найти что же не так с
Zstandard например.

Venom Linux, о котором в другом месте слышал, вообще на JS сайт имеет.
Сайт Kiss-а не открывается -- тоже только JS какой-то вижу в HTML.

Отдельно у них список дистров есть, где запущен DBus, который я у себя
тоже форсированно отрубаю. Тут есть знакомые названия типа Alpine,
Artix, TinyCore (хотя elogind там всё равно присутствует), Void.
В комментариях упоминают CRUX, о котором я тоже вспомнил, вроде бы
elogind там тоже нет по умолчанию.

13 months agoRedis -> Redict
Sergey Matveev [Sat, 23 Mar 2024 07:10:34 +0000 (10:10 +0300)]
Redis -> Redict

https://www.opennet.ru/opennews/art.shtml?num=60820
https://andrewkelley.me/post/redis-renamed-to-redict.html
https://notes.billmill.org/link_blog/2024/03/Redis_renamed_to_redict.html
https://www.opennet.ru/opennews/art.shtml?num=60823
Недавно Redis решил поменять свободную (но не copyleft!) лицензию на
несвободные. Я к этому как-то спокойно отнёсся: Redis той версии что
была -- работает, живёт, есть, сломается что ли? Его поддерживать
запрещено что ли становится? Кроме того, это как бы уже довольно давно
матёрое и стабильное ПО.

Я давно Redis не трогал, но крайне тёплые чувства к нему испытывал.
Хороший код, хорошая документация, отличный функционал и возможности,
понимание как и чего там работает и что от него ожидать и как
прооптимизировать.

13 months agoВпервые столкнулся с OpenAPI
Sergey Matveev [Tue, 19 Mar 2024 19:13:33 +0000 (22:13 +0300)]
Впервые столкнулся с OpenAPI

https://github.com/OAI/OpenAPI-Specification
Столкнулся сегодня с OpenAPI. Хотели чтобы я написал и реализовал схему
и свою программу по нему. Пошёл искать что на Go есть из валидаторов
онной. Куча существенно несовместимых версий (2.0, 3.0, 3.1) -- выбор
софт сужается.

Целый день разбирался почему же проверка уже существующих OpenAPI в
проекте не проходила. Не удивился бы, если их коммитили не проверяя. Не
удивился бы, если бы инструмент, которым проверяли -- был бы косячный
(ибо на Python) и глючный. Но нужно же было понять кто же всё же
виноват: или github.com/pb33f/libopenapi (мой выбор пал на него) или
Python софт.

Оказалось, что схема OpenAPI 3.1... вполне себе регулярно обновляется,
причём даже без изменения хотя бы дат внутри своего namespace. И на
сайте написано что в одном месте можно использовать $ref, но валидатор
упорно не пропускал это. Оказалось, что в нём не настолько современная
3.1 схема была. По сути, выходит, что нету никакого OpenAPI 3.1, а есть
множество версий этого 3.1. Что за уроды так делают?

13 months agoРасходы и доходы в шаурмичном бизнесе
Sergey Matveev [Tue, 19 Mar 2024 08:41:16 +0000 (11:41 +0300)]
Расходы и доходы в шаурмичном бизнесе

https://habr.com/ru/articles/800963/
Всегда было интересно сколько это всё стоит, сколько получают.

13 months agoПочему хранить музыку в HiRes формате глупо
Sergey Matveev [Mon, 18 Mar 2024 19:50:28 +0000 (22:50 +0300)]
Почему хранить музыку в HiRes формате глупо

https://habr.com/ru/articles/801159/
Доходчиво на примере показано что нафиг не нужно ничего более чем
обычный CD-DA. Для обработки -- да, безусловно, вне всяких сомнений.
Но для конечного результата -- комментарии излишни.

И мне очень понравилось, что автор всё же верно отмечает, что делать
копию музыки с SACD или вообще винили всё же может иметь смысл из-за
разного mastering. Он правда написал что это для вынуждения перехода
на эти форматы, но я склоняюсь к тому, что CD это типа чтобы с сильной
компрессией (как правило) для каждого проигрывателя паршивого подошло,
а SACD или винил уже вряд ли будут подключены к трахтящему мафону.
Приходилось качать варианты как и в виниле и в CD и оставлять винил rip,
даже с его более худшей передачей частот и потрескиваниями.

Но и в комментарии верно заметили, что чисто CD-DA это только стерео.
Да, тут уж никуда не деться. Но речь только про 44.1kHz/16-бит.

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

13 months agowhisper.cpp то может и не работать
Sergey Matveev [Mon, 18 Mar 2024 07:09:35 +0000 (10:09 +0300)]
whisper.cpp то может и не работать

https://github.com/ggerganov/whisper.cpp/issues/1949
Поставил я тут распознаваться подкасты linkmeup-а
(46e4d23a23a10eb1c05e5a20f0ceeebd5ff31016). Наобум взял один
результирующий .txt файл и увидел:

    [00:50:46.080 --> 00:50:47.080]   Внутри нашего, например, дата-центра, 800-гига-модов.
    [00:50:47.080 --> 00:50:48.080]   То есть мы будем делать все, что угодно.
    [00:50:48.080 --> 00:50:49.080]   То есть, мы будем делать все, что угодно.
    [00:50:49.080 --> 00:50:50.080]   То есть, мы будем делать все, что угодно.

и на час понёсся повтор одной и той же строчки. Взял наобум другой файл:

    [02:12:14.680 --> 02:12:17.580]   очень активно развиваться.
    [02:12:17.580 --> 02:12:19.580]   Это будет очень активно развиваться.
    [02:12:19.580 --> 02:12:21.580]   И это будет очень активно развиваться.
    [02:12:21.580 --> 02:12:24.580]   И это будет очень активно развиваться.
    [02:12:24.580 --> 02:12:27.580]   И это будет очень активно развиваться.
    [02:12:27.580 --> 02:12:29.580]   Это будет очень активно развиваться.
    [02:12:29.580 --> 02:12:31.580]   Это будет очень активно развиваться.
    [02:12:31.580 --> 02:12:33.580]   Это будет очень активно развиваться.
    [...]

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

Если начать распознавать с seek-ом, то loop не возникает на этих
участках. Короче глаз да глаз нужны.

13 months agoРезультаты exit-poll и опросы на улицах
Sergey Matveev [Sun, 17 Mar 2024 19:50:56 +0000 (22:50 +0300)]
Результаты exit-poll и опросы на улицах

https://lenta.ru/news/2024/03/17/opublikovany-rezultaty-ekzitpola-vtsiom-po-vyboram-prezidenta-rossii/
Я только на этих выборах увидел "независимых экспертов", которые при
выходе, на улице, спрашивают проголосовали ли и за кого. Прежде не
встречал такого у нас. Пишут, что почти 40% отказались от ответа. Я тоже
сказал что "нет, не скажу, это анонимно". Папа тоже впервые встретил
такие вопросы на этих выборах и ему тоже не понравился этот факт.

Как бы... выборы по идее для того и существуют, чтобы узнать мнение
(анонимно) и посчитать голоса. Если кто-то где-то независимо считает это
всё, то это типа недоверие к системе голосования? Читал где-то мельком,
что оппозиционеры советуют врать на этих опросах, чтобы оно как можно
сильнее расходилось с тем, что выдаст официальный результат. То бишь, по
сути это всё лишь только для того, чтобы всякое дерьмо (оппозиционное)
получило какую-то мудацкую причину для очередного поноса и грязи. Если
это всё не связано с этими уродами, то какой смысл то? За 1-2 дня
пораньше поточнее прикинуть результаты? И так всем ясно, кроме
сепаратистов, оппозиционеров, экстремистов и террористов -- что мы едины
и крепки в нашем выборе. А тратить силы на жалкие проценты остальных?
Заняться что ли нечем, тем более, что никак не проверишь достоверность?
Возможно статистика знает какой процент врёт? Если она так всё прекрасно
знает, то, опять же, какой смысл спрашивать?

13 months agoСходил на оркестр волынщиков "City Pipes"
Sergey Matveev [Sun, 17 Mar 2024 17:31:09 +0000 (20:31 +0300)]
Сходил на оркестр волынщиков "City Pipes"

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

Начинался концерт с приветственных слов. При этом, обратил внимание, что
свет не выключили, а только приглушили. Где-то издалека начинают раздаваться
барабаны, включаются волынки и с заднего входа в зал заходят City Pipes,
зигзагом проходясь между рядами, не переставая играть. Ну и так до сцены.
Классно придумали, плюс вблизи все поглядели и услышали.

Кроме двух волынок, ещё три барабанщика (бас, тенор и забыл-как-называется),
и пианист. Пианино и синтезатор на сцене были. Играли и чисто волыночные
композиции, но вообще концерт назывался "рок-хиты на волынках". ABBA,
Beatles, Metallica, System Of A Down, Deep Purple, Queen, Bon Jovi и ещё
всякие, знакомые мне, но не помню названия исполнителей. Что-то игралось
совместно с пианино. Кроме волынки, один из участников, всякие дудки
использовал. И медляки и боевики.

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

Дымовая завеса, активно работающее освещение -- всё как полагается.
Головой главный волынщик кивал так, что, будь у него гитара, явно бы ею
тряс. Энергии куча во всём этом. Закончили представление неспешной
"Don't worry, be happy".

Я обожаю и звук одной волынки, в восторге от двух (в том же In Extremo
такого полно), но а с барабанами так вообще круче некуда. Очень доволен!

13 months agoМасленичные гулянья в Королёве
Sergey Matveev [Sun, 17 Mar 2024 17:24:05 +0000 (20:24 +0300)]
Масленичные гулянья в Королёве

С родителями мы каждую масленицу уже давным давно отмечаем вместе, с
кучей блинов самых разных начинок. Главное то это, конечно, с мясом
мамины. Со сгущёнкой, мёдом, сметаной, вареньем. Почти всегда есть с
икрой, иногда вместо или совместно ещё с красной рыбой. Плюс оладьи.

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

Как-будто по размаху оно сравнимо с новогодними праздниками.

13 months agoПрофессиональная порча компьютерных игр
Sergey Matveev [Sat, 16 Mar 2024 10:19:00 +0000 (13:19 +0300)]
Профессиональная порча компьютерных игр

https://www.youtube.com/watch?v=NWAl-s2clhQ
Ага, есть даже целые конторы, которые говорят что и как надо испортить в
игре, дабы следовать трендам всяким там "metoo", "blm" и прочему дерьму.
В этом видео тоже упоминается (9053f799dc6435fd7bb3c84af777b3dfedf9fc02)
Disney со своим мнением о провале фильмов.

13 months agoСборка современного mpv
Sergey Matveev [Sat, 16 Mar 2024 09:48:42 +0000 (12:48 +0300)]
Сборка современного mpv

https://www.opennet.ru/opennews/art.shtml?num=60788
Вышли тут кодеки SVT-AV1 и dav1d, где куча оптимизаций и улучшений. Я
ярый приверженец AV1 кодека. Обновил их -- mpv перестал запускаться
из-за другого имени библиотеки. Я почему-то подумал что это
FFmpeg-related вещь не запускается, поэтому пошёл и FFmpeg обновлять,
где тоже прилично изменений подъехало. mpv перестал собираться из-за
того, что то тут, то там (руками то одно, то другое попытался быстренько
поправить) mpv использовал deprecated API.

А сам mpv я давно не обновлял, ибо с какой-то версии что-то он начал
требовать касательно X11, чего в штатных X-ах из пакетов не было. У меня
поэтому он стоял на последнем коммите не требующим странность от X11. Но
это всё сильно устарело и не будет работать напротив современных FFmpeg.

Ладно, решил обновить таки mpv и посмотреть может чего исправилось.
Вместо WAF он стал использовать Meson. И обязательной зависимостью стала
libplacebo. Но, оказалось, что mpv предусмотрел возможность
использования её и её немалочисленных зависимостей через рекурсивную
инициализацию git модулей:
    git clone --depth=1 --recursive subprojects/libplacebo \
        https://code.videolan.org/videolan/libplacebo.git
Пришлось явно добавлять включение поддержки X11:
    meson setup -Dgpl=true -Dx11=enabled -Dalsa=disabled build
Но после всего этого -- вполне себе собирается и работает. В принципе,
даже стало менее геморройно его собирать, ибо прежде ещё приходилось
после сборки добавлять __progname+environ в build/mpv.def и пересобирать
снова. Плюс требовались разные несовместимые версии WAF. Как
проигрыватель, mpv хорош. Но его сборка это всегда была какой-то
постоянной проблемой. Плюс какие-то пертурбации с поддержкой OSS были.

13 months agoСходил на оперу "Летучий голландец"
Sergey Matveev [Sat, 16 Mar 2024 07:31:40 +0000 (10:31 +0300)]
Сходил на оперу "Летучий голландец"

https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D1%83%D1%87%D0%B8%D0%B9_%D0%B3%D0%BE%D0%BB%D0%BB%D0%B0%D0%BD%D0%B4%D0%B5%D1%86_(%D0%BE%D0%BF%D0%B5%D1%80%D0%B0)
Только недавно я сходил на оперу (411cc4cd20be6c375c0cbb101330d1aa2fd7fae8),
выразил желание услашть оперу на немецком, как на днях увидели, что
будет премьера "Летучего голландца" в Новой Опере. Взяли билеты, ибо
мало оставалось, но только на следующий день решили почитать про детали
этой премьеры. Как оказалось, режиссёром выступает Богомолов и это
премьера именно в Новой Опере, которая приехала к нам из Перми.

Если почитать рецензии, то сразу встаёт вопрос: ё моё, на что мы взяли
билеты то? Мама ещё добила тем, что этот режиссёр является мужем Собчак.
Знал бы -- не брал, конечно. Что значит Собчак? Говно, дерьмо, мерзость,
гниль и аморальность. И рецензии про его постановку "голландца" --
именно всё это и подтверждают. Да ещё и деньги ему платить за это?

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

И так какова же его постановка, учитывая что не стоит судить культуру?
Полное говно. Низкосортное дерьмо. Но! Огромнейшее но! Меняющее всё но.
Если читать гадость и дрянь, которая показывалась в субтитрах, и считать
что всё что там писалось это то, о чём они реально и поют на немецком, то
да -- это было бы полнейшим кощунством и глумлением над искусством. Но,
благо, я всё ж многие слова то разбираю, поэтому я слышал и понимал что
текст пения и субтитров *совершенно* не соотносятся друг с другом.
Музыка и текст оперы, пускай и чуть-чуть изменённые, остаются Вагнеровскими.

Можно было бы поступить куда проще: просто навсего закрыть глаза. Сделав
это, ничего кроме музыки и самой оперы Вагнера и не останется. Не видя
сцену -- не потеряешь ничего, декораций не много. Можно бы было вообще
просто убрать абсолютно всё, кроме артистов -- было бы лучше. Что хотел
показать, выразить режиссёр своим псевдо-юмором уровня недалёкого 15-ти
летнего пацана решившего пародировать сортирный юмор Гоблина? Не знаю.
Гоблина то я при этом очень уважаю и обожаю многие его переводы и
озвучки, но не те, что в Терминаторе 3 или Властелине Колец. Не мой это
юмор. Но это всё было не Гоблином, а как-будто жалкой попыткой его
пародии.

Где-то с трети оперы я просто догадался перестал читать субтитры --
благо у меня очки сидят на носу так, что мне надо задирать голову, чтобы
их увидеть, поэтому в состоянии "покоя", я буквально просто их и не
вижу. И сразу же после этого, почти ничего кроме Вагнера и не остаётся.
Мама тоже сказала, что с половины она перестала всё это читать и сразу
становится хорошо и приятно, без мерзости режиссёра.

Так что же сама опера? Мощнейшая музыка! Потряснейшая музыка и
исполнение оркестром. Мама сказала что её как-будто накачивали энергией
и при выходе из зала ты готов лопнуть от всей это неслыханной мощи.

Если в Аиде я говорил, что мне реально понравилось только хоровое пение,
ну и факт мощи голосов мужиков солистов. Но пение женщин, что одной, что
когда они дуэтом... не впечатляет (ну кроме мощи голосов), не трогает,
не пробирает. Здесь же: что один мужчина, что дуэт, что одна женщина --
КАЖДОЕ соло завораживает и является наслаждением. В Аиде был хор или из
только мужчин или из ещё и женщин. Здесь же и чисто женский был -- как
это круто звучит. Многое писалось про крутизну одной из финальных
хоровых песен команды корабля (в этой постановке -- типа деревни, но на
слова песен это толком не влияет, насколько я мог переводить немецкий) --
действительно, мощно! Мама у меня любит оперу, и, не смотря на то, что
Аида понравилась, говорит, что на ней её не пробирало до мурашек, тогда
как тут по несколько раз, и не только от хорового пения.

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

Резюмируя: постановка -- полное говно, но всё остальное (музыка, пения,
хор) вызывает полнейший восторг! И да, не смотря на то, что Аида была в
"Геликон опере" -- пафосное, большое, грандиозное помещение, с хорошей
(как говорят знатоки) акустикой, заслуженными артистами в труппе,
колоссальными декорациями, но "Летучему голландцу" в простецкой "Новой
опере", даже в постановке Богомолова -- по восторгу и вызываемой буре
эмоций и напряжении, полностью проигрывает. Такого же мнения и мама, у
которой нет ни пристрастного отношения к немецкому языку, ни к музыке Вагнера.

13 months agoТеперь можно "слушать" подкасты linkmeup
Sergey Matveev [Fri, 15 Mar 2024 07:17:37 +0000 (10:17 +0300)]
Теперь можно "слушать" подкасты linkmeup

https://linkmeup.ru/podcasts/
На сайте linkmeup есть ценнейшие ресурсы о компьютерных сетях
(2135e60903b761f4188c0cecb49bb96b95809ab7). А также есть подкасты.
Но слушать подкасты... это всё же не аудиокниги, где читают дикторы.
Моё время и удобство дороже, как бы там интересно не было бы.

Но AI, искин, нейросети и [подставить нужное модное слово] решают эту
проблему. whisper.cpp (94cf819e49d4e1f78279ef001bd2a9556b8004f3) можно
превращать это всё почти в real-time в текст. Уже несколько подкастов
так прослушал. yt-dlp без проблем качает MP3 файлы с их страниц.

А так как подкастов у них за многие годы накопилось уйму... процессор
мне жечь очень долгое время придётся. И вот тут то появляется желание
заиметь GPU или акселератор нейросетевых вычислений.

А вообще забавно: текстовые книги хочется преобразовать в звук, а
звуковые подкасты в текст.

13 months agoЭнергетика большой страны
Sergey Matveev [Thu, 14 Mar 2024 19:42:33 +0000 (22:42 +0300)]
Энергетика большой страны

https://habr.com/ru/articles/800317/
Не знаю насколько всё грамотно разложено по полочкам, но было очень
интересно почитать и посмотреть на массу цифр о мощностях и потреблении
электро- и тепловой- энергиях. Побольше бы подобных статей на Хабре!

13 months agoСходили на оперу "Аида"
Sergey Matveev [Sun, 10 Mar 2024 10:43:39 +0000 (13:43 +0300)]
Сходили на оперу "Аида"

https://www.helikon.ru/ru/performances/aida.html-0
По сути, это моё первое посещение оперы. Был я один раз на премьере
"Царской невесты", но слишком маленьким, чтобы хоть что-то оттуда
запомнить, кроме первой минуты начала, жутко мрачной.

В общем и целом понравилось. Но не скажу что в восторге. Не знал чего
ожидать, боялся что будет скучно. Но нет, ни на йоту. Но и для меня
восторга как от крутого концерта, какого-нибудь black metal, всё же не
было. Но первая половина, до антракта, прошла так быстро, что я даже
удивился "как, уже половина прошла?".

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

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

Была она на итальянском языке. Кроме имён собственных и "mori" (смерть?
что-то с нею связанное, "memento mori") я не знал ни одного слова.
Слышал я оперы у Therion (симфо-метал) и Вагнера на немецком -- а вот
там я прилично слов разбираю. Слышать какие-нибудь "шмерцены" в оперном
исполнении -- люто нравится. В живую надо бы.

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

Читал, что Джузеппе Верди хотел изобразить главного жреца в опере плохим
дядькой. Типа жестоким и всё в таком духе. Блин, а я наоборот его уважал
всё выступление. Он сразу сказал царю что кончать пленников надобно, ибо
пойдут мстить. Только их отпустили -- сразу же о планах мести и реванша
пошли разговоры. Рамадес же погиб -- и поделом, ибо предатель! Пускай
даже по неаккуратности типа, но он главком и выдал серьёзную военную
тайну -- никаких поблажек за это быть не должно. Жрец всё делал и
советовал как надо, не придерёшься.

В общем... пока это всё писал, пока вспоминал, пока переспал со всеми
этими воспоминаниями об опере -- понимаю что понравилась она всё же куда
сильнее чем я ожидал. Уже на афише посмотрел когда будут другие
рекомендованные мне коллегой оперы в Геликоне. Круто всё же, здорово!

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

13 months agoГОСТ в LibreSSL
Sergey Matveev [Sun, 10 Mar 2024 10:27:32 +0000 (13:27 +0300)]
ГОСТ в LibreSSL

https://dxdt.ru/2024/03/10/12501/
https://www.mail-archive.com/announce@openbsd.org/msg00517.html
LibreSSL был приятен ещё тем, что в нём были ГОСТ алгоритмы.
А вот в новой версии их убрали, из-за низкого качества кода.
Вот видел я хороший и быстрый ГОСТ код, но... не свободный.