]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
4 weeks agoПочему нас не "отключают" от Интернета?
Sergey Matveev [Thu, 6 Nov 2025 07:59:34 +0000 (10:59 +0300)]
Почему нас не "отключают" от Интернета?

https://www.indata.org.ru/zhizn-v-amerike-i-evrope-kak-obychno/

    [...]
    Но нас не отключают от Интернета только потому, что это может
    поставить под риск состоятельность существующих западных институтов
    по управлению/руководству Интернетом. Это не скрывается и явно
    выражается в публикациях. Ситуация схожа с процессами вокруг
    замороженных/арестованных российских активов, только с отключения
    России от Интернета вообще нет никаких дивидендов.

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

4 weeks agoВыключали ночью свет
Sergey Matveev [Wed, 5 Nov 2025 08:59:48 +0000 (11:59 +0300)]
Выключали ночью свет

Хотя ночью и так темно.

Проснулся от ИБПшника в пять утра. Так то он не громкий, да и в другой
комнате, но я, видимо, всегда на стрёме.

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

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

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

Через несколько часов, судя по uptime включившихся компьютеров, свет дали.

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

4 weeks agoОпаздывающие люди
Sergey Matveev [Wed, 5 Nov 2025 08:52:38 +0000 (11:52 +0300)]
Опаздывающие люди

Приглашал тут друзей к себе. Даже в разные дни. Каждый раз спрашивал во
сколько кому будет удобнее, нормально ли XXX время? Все подтвердили. Но
*каждый*, абсолютно каждый почти на час позже приходил. Причём так уже
вроде не первый год. Я не понимаю почему так происходит. Если не удобно,
если не успеешь, то почему бы не сказать об этом явно, ведь нет проблемы
время встречи перенести на попозже. Ладно у одного форс-мажор какой, но
ведь буквально каждый чуть ли не по расписанию приходит ровно на час позже.

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

Как-то раз от кого-то (может не среди друзей) я услышал что негоже
приходить вовремя. Помню что меня это, мягко говоря, возмутило. Хозяин
приглашает к определённому времени, у него есть timing, план, а ты
открыто заявляешь что "плевать я на это хотел, всё равно принципиально
приду позже, выкуси"? Я допускаю что академическое опоздание может быть
допустимо, ну и даже чем-то удобно когда много людей зазывается: тогда
из-за sleep(random()%10min) не будет внезапного burst входящих людей и
столпотворения в прихожей. Но не больше же! Причём некоторым я даже
более предпочтительные методы проезда ко мне обозначал, в которых почти
исключены автомобильные пробки и прочие непредвиденные задержки.
Специально чтобы можно было вовремя приехать.

4 weeks agoДа, да, у них нет нацистов
Sergey Matveev [Wed, 5 Nov 2025 08:51:18 +0000 (11:51 +0300)]
Да, да, у них нет нацистов

https://colonelcassad.livejournal.com/10169451.html
только что ни фотография, так обязательно SS вылезет хотя бы.

4 weeks agoOSS Community Leader
Sergey Matveev [Sun, 2 Nov 2025 20:17:34 +0000 (23:17 +0300)]
OSS Community Leader

https://a.fsdn.com/con/app/syndication/badge_img_direct/oss-community-leader/oss-community-leader/?variant_id=sf
Интересно, я один вижу зигующего человека на этом логотипе?

4 weeks agoПоднял NetFlow статистику
Sergey Matveev [Sun, 2 Nov 2025 17:55:08 +0000 (20:55 +0300)]
Поднял NetFlow статистику

В ee00129d063fe568209abfe85fc8b19e92c02913 я пристальнее посмотрел
сколько на каких интерфейсах у меня трафика. И где-то было не очень
понятно что именно там такого большого проходит.

Поднял vnstatd для сбора просто статистики по прошедшим байтам. Чтобы
не на systat или collectd ориентироваться (его я, похоже, удалю за
ненадобностью).

Поднял softflowd на разные интерфейсы, чтобы он генерировал NetFlow v9
пакеты. Почему не ng_netgraph? Лень разбираться как прикрутить его к gif
или wg (вообще выйдет ли?) туннелям. Да и softflowd, насколько вижу,
вообще не видно чтобы отъедал на моих скоростях процессор. v9 вместо
IPFIX использую потому что в nfdump выводе вижу нулевое время, тогда как
на v9 пакетах время выставлено.

Для сбора поднял nfcapd. Увидел в Wikipedia, что для NetFlow, а особенно
для IPFIX, вообще по умолчанию любят применять аж SCTP протокол.
softflowd, судя по man, может по нему отправлять, но nfcapd слушает
только на UDP. Я то отправляю на ::1 адрес, так что пофиг, но для
эстетической красоты было бы прикольно SCTP хоть для чего то использовать.

nfdump-ом уже попросматривал создаваемые журналы, фильтруя по нужным мне
хостам и агрегируя по портам.

Файлы с данными, кстати, очень хорошо сжимаются на уровне ZFS.

4 weeks agoБольшие репозитории GitHub
Sergey Matveev [Sun, 2 Nov 2025 15:54:08 +0000 (18:54 +0300)]
Большие репозитории GitHub

https://github.blog/engineering/infrastructure/transit-and-peering-how-your-requests-reach-github/
https://github.blog/engineering/infrastructure/glb-director-open-source-load-balancer/
Только я вот почитал статью GitHub о том, как у них там сети устраивают
peering с IXP, балансировка происходит, какие скорости, так понадобился
один большой репозиторий на многие гигабайты. Качает со скоростью
~100KiB/sec, конечно же обрываясь после какого-то времени. Причём я
сразу --depth 1 указал -- даже его скачать не может.

Иду на VPS-ку, которая вообще далеко от моего провайдера, но в РФ. Там
скорость скачивания 10-15MiB/sec. Да вот только места на диске на ней не
хватит даже для --bare --depth 1. Так как до неё поднял WireGuard, то
даю доступ к NFS через zfs set sharenfs, добавляю ipfw table add-ом
разрешённый для этого WG интерфейс, монтирую, клонирую на NFS раздел.
Далее уже вне VPS (ведь ей же тоже прилично приходится не только мне
записывать данные, но и считывать) в цикле --fetch --depth XXX.

Вот у GitHub прямо реально нет места для хранения git-bundle файлов,
чтобы их можно было с resumption-ом скачивать? Не говорю про создание
bundle на лету, но без VPS-ки я просто не знаю как выкачал бы
репозиторий, хотя бы даже --depth 1.

4 weeks agoПробы, трассировка, логирование в Си
Sergey Matveev [Sat, 1 Nov 2025 19:20:01 +0000 (22:20 +0300)]
Пробы, трассировка, логирование в Си

Сегодня придумал и реализовал следующий подход для логирования. Хочется
вызывать некий log(key0, val0, key1, val1, ...), чтобы выводились хоть в
каком-либо формате key-value значения. Когда есть какое-нибудь шифрование,
MAC или подобное, то выводить же хочется массу параметров: iv/nonce, ad,
ключи, диверсифицированные ключи и подобное.

Писать длиннющие printf -- вариант, но громоздкий. Особенно учитывая то,
что ведь бинарные данные нужно в hex (а то и "hexdump -C"-like выводе)
делать. Оборачивать val* значения в struct какой-нибудь, где был бы
признак типа данных для va_args, чтобы понимать как надо распечатывать --
громоздко.

У DJB в коде есть много log1, log2, log3, которые принимают один char*,
или два char*, или три. Мне же так просто не отделываться.

Вспомнил про то, что я не раз ведь обмазывал код USDT пробами,
использовал DTrace. Ведь там я заранее говорю какие пробы будут, какие
аргументы они принимают. В боевом коде все эти пробы занимают типа по
одной строке, не делая никаких преобразований с данными до вызова. diff
маленький, в глаз не бросается огромная куча кода.

Так почему бы не генерировать конкретно для каждой пробы по функции,
которая бы знала как именно распечатывать каждый аргумент? Чуть более
экрана кода на Tcl, и я могу описать пробы в таком виде:

    set streebog512 64

    probe SysErr {err errno}
    probe HMACInit {is512 bool} {key bin}
    probe HMACWrite {ref} {data bin}
    probe HMACSum {ref} {sum bin}
    probe HKDF {key bin} {info bin}
    probe HKDFOut0 {ref} "out bin $streebog512"
    probe HKDFOut1 {ref} "out bin $streebog512"
    probe HKDFOut2 {ref} "out bin $streebog512"

и будет сгенерирован такой код:

    ProbeId
    ProbeHMACWrite(
        const ProbeId ref,
        const unsigned char *data,
        const size_t dataLen
    )
    {
        Probes.id++;
        if (!Probes.enabled.HMACWrite) {
            return Probes.id;
        }
        probePrefix("HMACWrite");
        {
            Assert(snprintf((char *)Probes.buf, sizeof Probes.buf, "ref=%08zu ", ref) > 0);
            fputs((const char *)Probes.buf, Probes.fh);
        }
        {
            fputs("data=", Probes.fh);
            HexEnc(Probes.buf, data, dataLen);
            Probes.buf[dataLen * 2] = 0;
            fputs((const char *)Probes.buf, Probes.fh);
        }
        fputs("\n", Probes.fh);
        fflush(Probes.fh);
        return Probes.id;
    }

где в боевом коде достаточно будет вставить:

    [...]
    ProbeId parentProbeId = ProbeHMACInit(is512, key, keyLen);
    [...]
    ProbeHMACWrite(parentProbeId, data, dataLen);

а заголовочный файл тоже автоматически генерируется:

    [...]
    ProbeId
    ProbeHKDFOut0(
        const ProbeId ref,
        const unsigned char out[64]);
    [...]
    struct ProbesEnabled {
        bool HMACInit;
        bool HMACWrite;
        bool HMACSum;
        bool HKDF;
        bool HKDFOut0;
        bool HKDFOut1;
        bool HKDFOut2;
        unsigned char pad[1];
    };

И я могу включать/выключать пробы просто через Probes.enabled.XXX, и где
известной длины поля бинарные, то не указывать их. errno тип будет
распечатан и в человекочитаемом виде. Каждая проба имеет порядковый
номер, на который можно сослаться через {ref} аргумент. Код обмазывается
проще чем DTrace. Новые типы данных (соответственно, и как их распечатывать)
вводить легко.

4 weeks agoСхватка
Sergey Matveev [Sat, 1 Nov 2025 19:09:51 +0000 (22:09 +0300)]
Схватка

https://ru.wikipedia.org/wiki/Схватка_(фильм,_1995)
Аналога перестрелки в этом фильме я нигде не видел. Очень запоминается.
И ведь делалось на настоящих улицах, не в павильоне. На Wikipedia
отмечена ещё и сцена в кафе, где два главных героя (Аль Пачино и Де Ниро)
общаются -- помню как держала в напряжении. Ради этих вещей фильм и
стоило смотреть.

4 weeks agoDebian APT будет зависеть от Rust
Sergey Matveev [Sat, 1 Nov 2025 18:56:03 +0000 (21:56 +0300)]
Debian APT будет зависеть от Rust

https://lists.debian.org/debian-devel/2025/10/msg00285.html
Почему APT должен от него зависеть? Потому что:

    It's important for the project as whole to be able to
    move forward and rely on modern tools and technologies
    and not be held back by trying to shoehorn modern software
    on retro computing devices.

Вот такие вот мотивы Rust разработчиков.

4 weeks agoЧто можно делать тычками мышки в терминале
Sergey Matveev [Fri, 31 Oct 2025 07:03:02 +0000 (10:03 +0300)]
Что можно делать тычками мышки в терминале

https://tratt.net/laurie/blog/2025/what_context_can_bring_to_terminal_mouse_clicks.html
Человек запускает "сервер" (Neo)Vim-а и в терминале может тыкать на
файлы:строки, сразу же открывая их в редакторе. В ivi мой руководитель
тоже самое делал с Vim и постоянно использовал это при отладке. Правда,
запускал он GUI версию для этого. Но это можно делать и без графики,
c97ec109f702d0cc2d80ddff1f446fe951ed5bdf.

Я же не смог привыкнуть к таким use-case. А больше ничего не смог
придумать что мог бы делать терминал, а точнее plumbing функционал
схожий с Plan9. Главное -- не забывать про то, что Vim легко можно
заставить открывать файл:строки пути:
c6f12411872c1983d28cbe689c60341924f47ba4
http://www.git.stargrave.org/?p=dotfiles.git;a=tree;f=vim/.vim/pack/stargrave/start/fileline

4 weeks ago/dev/null это ACID БД
Sergey Matveev [Fri, 31 Oct 2025 06:58:35 +0000 (09:58 +0300)]
/dev/null это ACID БД

https://jyu.dev/blog/why-dev-null-is-an-acid-compliant-database/

Atomicity
   Operations are "all or nothing."
Consistency
   The system transitions from one valid state to another.
Isolation
   Concurrent transactions don't interfere with each other.
Durability
   Once a transaction is committed, it remains so, even after crashes.

5 weeks agoСтарые Windows программы
Sergey Matveev [Thu, 30 Oct 2025 12:15:43 +0000 (15:15 +0300)]
Старые Windows программы

https://habr.com/ru/companies/x-com/articles/961562/
WinAmp-ом пользовался и я и папа. Потом я перешёл на Foobar2000, типа
потому что трушно что нет свистоперделок. Но по началу они мне нравились.
WinAmp3 тоже помню что пытался юзать, но он реально больше жрал ресурсов
и уже вроде на MP3 не хватало или что-то типа того. При переходе на
GNU/Linux искал что-то похожее на WinAmp, кем был XMMS.

ICQ -- родной клиент не использовал, ибо с появлением GPRS Интернета
(который хотя бы по времени не ограничен), тогда уже перешёл на FreeBSD
и был покусан свободным ПО. Использовал mICQ довольно долго. Не знаю
почему и отчего, но до сих пор помню свой UIN: 161274595. Помню что они
регулярно меняли что-то в протоколе и ломалась совместимость с не
родными клиентами. Благо mICQ обновлялся достаточно часто для этого.

Nero Burning ROM -- папа вроде именно его использовал для записи. Я то
тогда уже cdrecord-ом на Teac 504E (как-то так) приводе диски писал под
GNU или FreeBSD. Конечно же было два привода: один для записи дисков, а
другой для чтения CD/DVD, дабы не изнашивать дорогой "резак".

ACDSee папа использовал, но я вроде не был поклонником. Хотя и не помню
что использовал вместо него и был ли выбор. Под DOS помню был "SEA"
просмотрщик, который переключал экран в VESA режим и отлично показывал
всякие JPEG, которые далеко не моментально декодировались для показа.

The Bat! видел у нескольких людей, но на тот момент уже использовал
mailx или возможно Mutt. Никогда не пользовался Thunderbird. Никогда не
пользовался GUI клиентом в принципе. Под Windows почту никогда не
использовал, ибо Интернет появился намного позже переезда на FreeBSD,
под которой я уже и в FidoNet выходил. Вроде Bat был неплохим, но потом
я когда уже что-то начал понимать в почте, то офигевал от его плохой
поддержки то одной, то другой фичи и поражался как этим вообще можно
пользоваться. Впрочем, я аналогично думаю и считаю касательно
Thunderbird, хотя его прежние версии вроде бы были ещё ничего. Может
быть и "ранний" Bat тоже был объективно неплохим.

Total Commander -- большинство друзей использовало его, ибо
"ортодоксальные" file manager (c488826bdb22ecc4d39640881d2ecc00f29ce3c6)
крайне удобны и как вообще можно в принципе использовать "проводники"?
Но на наших компьютерах никогда не было Total/Windows Commander и
подобного. Только Far Manager! У нас почти не было Norton Commander --
только Volkov Commander. А Far Manager возможно даже сейчас у папы на
компьютере стоит.

FrontPage -- не уверен, был ли это он или вообще Microsoft Word, но
возможно трогал, хотя Интернета ещё тогда не было. Поэтому и понимания а
что мне с ним дальше делать тоже. Но точно помню насколько ужасный HTML
это всё генерировало. FrontPage был ругательством.

mIRC -- никогда не использовал, ибо Интернет и сети появились позже
переезда на FreeBSD. Но в институте подключался к IRC серверу в Химках,
где были одногруппники и помню проблемы с тем, что у меня KOI8-R, а у
них CP1251 кодировки.

eMule, eDonkey и всё с этим связанное не застал. В Инфолайне ещё
использовал их DC++ хаб, с каким-то свободным ПО, даже работающим без
GUI. BitTorrent всё это сильно поубивал. Про eMule и подобное только
читал. Возможно ставил что-то свободное из интереса, но контента/людей
уже не было.

Hamachi -- про это вроде никогда не слышал. Но это тема про запуск IPX
поверх IP. У нас и LAN-ов то толком не было, а если и были, то IPX не
проблема запустить под DOS/Windows.

PowerDVD -- в курсе про такую программу, видел, но мы вроде какую-то
другую использовали. Впрочем на Windows не факт что я вообще что-либо
смотрел, ибо производительности вроде бы не хватало для real-time
декодирования фильмов, а вот под FreeBSD в консольном (не VESA, а
какой-то ещё другой) режиме он выжимал через MPlayer.

5 weeks agoСнова про качество Ethernet кабелей
Sergey Matveev [Thu, 30 Oct 2025 07:52:33 +0000 (10:52 +0300)]
Снова про качество Ethernet кабелей

Недавно делал генеральную уборку, отключал компьютеры, продувал. Я
никогда не обжимал Ethernet кабели, кроме ровно одного раза на первой
работе просто чтобы попробовать. И вроде он и не заработал, и его другой
переобжал. Дома скопилась масса относительно коротких кабелей, но в виду
возраста и износа почти на всех отломаны ключи. Ну да, бывает выходят
из-за этого из портов. Пара кабелей от Powerline адаптеров у меня
остались (a0fed8dfd5724c5d732bbc4d99d0a4fd6a065817) нераспечатанными.
Восемь жил, на гигабит должно хватить. Поменял. И не один день замечал
что скорости по NFS и curl какие-то несерьёзные по несколько мегабит.
Перетыкал, перезагружал коммутатор -- не помогает.

    На сервере:
Name          Mtu Network       Address              Ipkts Ierrs Idrop    Opkts Oerrs
igb_lan      9000 <Link#1>      xx:xx:xx:xx:xx:xx 175621277 723600     0 141594708
    На моей машине (со вчерашнего дня):
Name        Mtu Network       Address              Ipkts Ierrs Idrop    Opkts Oerrs
ix0        9000 <Link#1>      xx:xx:xx:xx:xx:xx        0   147     0        0     0

То есть реально приходят битые пакеты, причём в одну сторону прямо беда.
Поменял кабель, проблема решилась.

5 weeks agos//
Sergey Matveev [Thu, 30 Oct 2025 07:34:55 +0000 (10:34 +0300)]
s//

Парно программировали тут с коллегой и я узнал об очередном трюке Vim.
Если не указывать в команде подстановки "что" (надо заменить), то по
умолчанию будет использоваться подсвеченное (#, *) слово. Годами можно
всё новые и новые фишки узнавать об этом редакторе. Выглядит полезно, но
надо пытаться на практике применить, так как не уверен что я так уж
часто ищу слова и потом их хочу заменить. Вот правда из документации я
явно не вижу где это описано. Похоже намекается в последнем предложении:

                                                        *last-pattern*
The last used pattern and offset are remembered.  They can be used to repeat
the search, possibly in another direction or with another count.  Note that
two patterns are remembered: One for "normal" search commands and one for the
substitute command ":s".  Each time an empty pattern is given, the previously
used pattern is used.

5 weeks agoВзяться за руку -- более интимное для молодёжи
Sergey Matveev [Thu, 30 Oct 2025 07:30:56 +0000 (10:30 +0300)]
Взяться за руку -- более интимное для молодёжи

https://lenta.ru/news/2025/10/30/molodezh-nazvala-deystvie-intimnee-seksa/
Не понимаю я молодёжь (03e05041d1d12a043cd36970d67b493cc08efd05), так
тут ещё говорят, что секс это менее интимное действие чем подержаться за
руки. Мне уже неоднократно сказали, что если не переспал, то звать замуж
не имеет смысла, ибо сочтут ненормальным. Когда-то ведь в идеале был
сначала брак, а потом уже постель. А сейчас -- сначала постель, а потом
уж можно и за руку взять.

5 weeks agoВпервые побывал в Зиг-Заге
Sergey Matveev [Wed, 29 Oct 2025 19:48:16 +0000 (22:48 +0300)]
Впервые побывал в Зиг-Заге

Чудное место! Я могу только жалеть что не бывал там раньше. Огромное
количество трушных метал компакт дисков. Тьма всякого underground black
metal. Куча книг. Куча футболок и другой одёжи на black, death, brutal
death тематики (часть предоставлена Дмитрием Койотом). Там же различные
билеты на концерты. Атрибутика.

Диски существенно дешевле чем на концертах. Приобрёл восемь штук (black,
technical death) всяких. В планах засесть там на часок проглядывая что
ещё приглянется. Приобрёл ещё и книгу Russian Black Metal. Плюс билеты
на четыре концерта.

Где-то полчаса пообщался с хозяйкой заведения. Обсудили и концерты и
сцены зарубежные и отечественные, жанры, историю. Не оказалось ни одной
группы с которой бы она не была знакома, причём далёкой от метала (та же
Garmarna). Спросил нет ли Deathspell Omega альбомов -- порекомендовали
единственных в мире вторых, наших, кто в этом же жанре играет
(e1446c3cd77a22e2c830a0a12191920e1eff6061). Упомянул, что нема у меня
смартфона и соцсетей, на что мне задали "как же вы живёте то!?".

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

В книге Russian Black Metal увидел фотографию с концерта Olshanoe
(419a6b60b36c9f40738441db760f6231b05aa817) -- том самом где я был.
Небось какие-то пиксели запечатлели там моё присутствие.

5 weeks agoDiscord, Telegram, Minecraft для поколения Альфа
Sergey Matveev [Wed, 29 Oct 2025 12:46:51 +0000 (15:46 +0300)]
Discord, Telegram, Minecraft для поколения Альфа

https://habr.com/ru/companies/lenza/articles/961278/
Не знаю что это за поколение.

    Миллениалам сейчас от 29 до 44 лет. Их детство прошло в реальных
    песочницах. Они договаривались о встречах заранее, звонили с
    домашнего телефона и ждали друг друга у подъезда.

Да, всё так! Даже без городских телефонов умудрялись договариваться и
встречаться.

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

Тоже всё так.

    А ВКонтакте и Нельзябук миллениалы узнали уже почти взрослыми. Когда
    они пришли в соцсети, то начали показывать себя миру. Открытые
    профили, где можно найти любого по имени-фамилии. Нельзяграм
    превратился в витрину успеха и лучшей версии себя. Философия Nike с
    их «Just do it» идеально подходила этому поколению: сделай сам,
    докажи себе и другим, покажи результат.

Тоже это застал, так и было.

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

В живую Discord никогда не видел. Как и Minecraft. Telegram из-за плеча,
и то не уверен не WhatsApp ли это был. Никогда в жизни не играл через
Интернет в игры. Не говоря про то, чтобы быть на аудиосвязи всё это
время. Пугает, что "альфа", судя по статье, нужно постоянно видеть
реакции других людей на всякие ролики и прочее. Я в принципе не могу
понять зачем и мне даже как-то неприятно это было бы смотреть.

    По сути, формат тот же, что у их родителей — совместный просмотр
    кино. Просто технически реализован иначе.

Наверное так. Видимо, я давно не смотрел с кем-то фильм совместно.

    Интернет сделал подростков более эрудированными, чем любое
    предыдущее поколение.

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

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

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

    Цифровая грамотность с детства делает поколение адаптивным. Легко
    осваивают новые приложения, не пугаются технических проблем,
    интуитивно понимают логику работы цифровых инструментов.

Это, видимо, поэтому всё на свете переделывают под интерфейсы
смартфонов и текст заменяют на иконочки/пиктограммы, всё превращая в
ребус, так как молодёжь адаптивна? (Но только, как будто, читать
разучилась).

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

Ну, welcome to the real world! Они в виртуальности допустим насмотрятся
на лживых людей, а в реальности им будет ой как тяжело. Пускай понимали
бы насколько лживы и лицемерны люди.

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

Ну уж это то точно враньё. Коли они обеспокоены приватность, то почему
же как никто обмазаны IoT, смартфонами, умными колонками, SmartTV и всем
подобным? Или у кого что болит, тот о том и говорит? Они поняли в каком
аду приватности они стали жить и типа начали задаваться вопросами? Вот
только никогда не слышал чтобы кто-либо из этого поколения был знаком с
чем-то шифропанковским.

    Профессор Джин Твендж в работе «iGen» называет современных
    подростков менее подготовленными к взрослой жизни именно из-за
    дефицита реального взаимодействия.

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

5 weeks agoRFC с упоминанием hot/cold potato routing
Sergey Matveev [Wed, 29 Oct 2025 07:55:28 +0000 (10:55 +0300)]
RFC с упоминанием hot/cold potato routing

https://datatracker.ietf.org/doc/html/rfc4451
Теперь вот узнал что такое маршрутизация с подходом где ты как можно
быстрее избавляешься от горячей картошки (то есть трафика), скидывая его
как можно раньше в транзит, либо ты несёшь его по своим сетям как можно
ближе к цели.

5 weeks agoBackdoor в ECDSA кошельков BitCoin
Sergey Matveev [Wed, 29 Oct 2025 07:39:03 +0000 (10:39 +0300)]
Backdoor в ECDSA кошельков BitCoin

https://habr.com/ru/articles/961106/
Я бывало совершенно абсолютно не понимал как люди умудряются
использовать не os.urandom, /dev/urandom или что-то подобное
вместо math.random-like вещей. Если человек не понимает что
такое случайность, то его просто преступно допускать до
кода связанного с криптографией.

А тут использовали плохой рандом и поэтому приватные ключи
были по-настоящему скомпрометированы. Одна из причин почему
я принципиально не хотел бы нигде использовать ECDSA (туда
же и ГОСТ Р 34.10). Либо детерминированный ECDSA, которого
на практике не встречал, либо всякие ed25519. В корявых
руках, конечно же, люди найдут способы облажаться и с ним.

За более чем десять лет после написания PyGOST и другого
софта, со мной уйма людей связывалась на тему обсуждения
новой идеи, подхода, алгоритма или протокола. Я часто слышу
про do not roll your own crypto, но думал что речь о людях
типа меня, кто не очень понимает почему некоторые вещи делают
так или эдак, но хотя бы помнит как надо. Но люди такую дичь,
бывает, предлагают, что так и хочется искренне от всей души
посоветовать вообще не прикасаться к криптографии.

Недавно, переписываясь с одним человеком, я вот наверное раз десять
повторил, что у него не аутентифицируется шифротекст -- просто
применяется голый AES. Вот с десяток раз это сказал, в 8/10 случаях явно
употребил слово MAC, где-то и AEAD упомянул. Но человек твердит что не
хочет делать подписи, так как они, так сказать деанонимизируют
отправителя. С этим не спорю, non-repudiability, non-deniability
зачастую вредные свойства. Но я ни разу, пишу ему, не говорил про
подпись, ни разу не говорил про sender authentication. Человек вообще
абсолютно слеп к понятиям и для него любой MAC идентичен подписи, а
подпись исключительно связана с отправителем. И вот что мне ему сказать?
Ну реально, человек не прочитал ни одного хоть сколько-то достойного
введения в *прикладную* криптографию и ему вообще не стоит ничего делать
связанного с ней.

Преобладающее большинство опасается и придумывает контр-меры на случай
если всё же сломают AES, Кузнечик, whatever. Давайте каскад шифров
использовать. Давайте ещё какие-то ухищрения, которые от силы несколько
бит энтропии и сложности к силе ключа добавляют -- и люди реально
уверены, что даже это мизерное поднятие сложности стоит того. Да даже
вчерашний JWT/JOSE (af48dd5e7b3ea4ea9764438eee5c73413a7c651f) -- не
настолько конечно плох, но имеет же катастрофическую багу, делающую его
бесполезным.

5 weeks agoМузыканты издеваются над программистами
Sergey Matveev [Wed, 29 Oct 2025 07:34:34 +0000 (10:34 +0300)]
Музыканты издеваются над программистами

https://habr.com/ru/companies/beget/articles/960648/
Масса забавных (ага, как же!) фактов про названия групп, альбомов и
песен. Да, у меня более 7.5k альбомов и бывало сталкивался с подобными
проблемами. Но про "витч-хаус" не слышал, где:

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

5 weeks agoКритика age
Sergey Matveev [Tue, 28 Oct 2025 05:36:37 +0000 (08:36 +0300)]
Критика age

https://groups.google.com/g/age-dev/c/r-gwwcN3L-0/m/EhEvUbG5AwAJ
https://neilmadden.blog/2019/12/30/a-few-comments-on-age/
https://www.imperialviolet.org/2014/06/27/streamingencryption.html
https://news.ycombinator.com/item?id=21898332
https://moxie.org/2011/12/13/the-cryptographic-doom-principle.html
https://www.chosenplaintext.ca/2015/03/31/jwt-algorithm-confusion.html
https://mailarchive.ietf.org/arch/msg/jose/sz6XzHkVP2eWip_OiV5OkPggWWA/
https://neilmadden.blog/2018/09/30/key-driven-cryptographic-agility/
В JOSE/JWT есть опаснейшая атака, которая позволяет сделать подписанные
токены всегда валидными. Вот что будет, если web-related разрабы делают
криптографические протоколы.

Neil Madden критикует age за то, что в нём типа такая же уязвимость
потенциально есть: злоумышленник может заставлять выбирать другие
алгоритмы принимающую сторону. Потом согласился, что это не так и
алгоритм только помогает найти требуемый ключ, а дальше уже всё от типа
ключа зависит. Критикует age за то, что в нём нет sender authentication,
что автор и не скрывает и подчёркивает чтобы были аккуратными.

Мой cm/encrypted (KEKS/CM) вроде тоже не подвержен чему-то подобному.
Ищется ключ, а алгоритм указывается чтобы упростить этот поиск и
убедиться что мы об одном и том же ключе говорим. Если злоумышленник
укажет другой ключ и другой алгоритм, то на нём будут произведены
вычисления KEK ключа, но ведь всё обломается из-за проверки MAC на
keywrap контейнере с CEK ключом.

5 weeks ago1Tb club
Sergey Matveev [Sun, 26 Oct 2025 08:57:29 +0000 (11:57 +0300)]
1Tb club

https://github.com/tking/OneTeraBitClub/

5 weeks agoDepenguinator
Sergey Matveev [Sat, 25 Oct 2025 10:02:15 +0000 (13:02 +0300)]
Depenguinator

https://depenguin.me/
https://www.daemonology.net/blog/2008-01-29-depenguinator-2.0.html
Установка FreeBSD через "Linux" rescue окружение.
Название: inspired by the "Antichickenator" in Baldur's Gate.

5 weeks agoЧарльз Стросс -- Антитела
Sergey Matveev [Fri, 24 Oct 2025 09:42:19 +0000 (12:42 +0300)]
Чарльз Стросс -- Антитела

https://akniga.org/stross-charlz-antitela
Книга, где упоминается и PGP и рассылка шифропанков. Людей использующих
наличку (я таким и остаюсь). Отстукивающих Морзе пальцем по руке. А суть
книги в том, что кто-то нашёл решение NP проблем. Я когда-то задавался
вопросом: неужели никто не напишет книгу, фантастическую, где решили
таки подобное. И это приводит к апокалипсису.

5 weeks agoПодарили непойми кого
Sergey Matveev [Fri, 24 Oct 2025 07:57:09 +0000 (10:57 +0300)]
Подарили непойми кого

https://ru.wikipedia.org/wiki/Громозека
https://ru.wikipedia.org/wiki/Большой_Ух
http://nn-gid.ru/pamyatniki/pamyatnik-gromozeke/
Сфотографировал подаренную шкатулку.
Мне напоминает Громозеку. Маме он напоминает Большого Уха.
А в Нижнем, оказывается, есть памятник Громозеке.

5 weeks agoOpenBGPD не поддерживает multipath
Sergey Matveev [Fri, 24 Oct 2025 07:15:29 +0000 (10:15 +0300)]
OpenBGPD не поддерживает multipath

Когда я (61d61d2fa894068923c25aaa1952db88c76e80d7) игрался с сабжевым
демоном, то про multipath (ECMP) вроде ещё и не думал. А так ещё одна
причина отказа от него была бы: он только один маршрут может выставить.
В рассылке пишут что планы есть, но когда не понятно:

    This is currently not possible. bgpd only inserts the best path into
    the routing table.

    There are plans to add multipath support and some work towards that goal
    have been done but some crucial bits are still missing.

5 weeks agoСломанная date команда в Ubuntu. Сломанный tar разархиватор
Sergey Matveev [Fri, 24 Oct 2025 06:53:31 +0000 (09:53 +0300)]
Сломанная date команда в Ubuntu. Сломанный tar разархиватор

https://habr.com/ru/news/959722/
https://www.opennet.ru/opennews/art.shtml?num=64093
Конечно люди должны переписать всё на Rust, особенно date, так как
memory safety. Вот только все остальные виды ошибок никто не отменял.

6 weeks agoСколько трафика у меня прокачивается
Sergey Matveev [Wed, 22 Oct 2025 21:00:51 +0000 (00:00 +0300)]
Сколько трафика у меня прокачивается

uptime основного сервера 32 дня, немного больше месяца.

      Interface            Total
            ygg  in      16.705 MB
                 out    261.626 MB

Через Yggdrasil интерфейс крайне мало чего проходит.
Но я официально и не являются открытым для пиринга.

        igb_wan  in       2.017 TB
                 out     27.106 TB

Мой интерфейс в Интернет. Я помню что что-то типа 20TiB в месяц отдаю
наружу. Ну вот тут 27TiB.

          wg_tb  in     256.477 GB
                 out      3.049 TB

А это IPv6 интерфейс в Интернет. Чуть больше 10% трафика только чего
проходит. Но всё же 3TiB это далеко не по нулям или как в Yggdrasil.

     mlxen_beta  in      17.922 TB
                 out      1.194 TB

Это 10GbE сеть со вторым сервером, с которого большая часть торрентов
раздаётся. Большая часть всего трафика в/из Интернета идёт на него.

       gif_beta  in      15.920 TB
                 out    508.005 GB

Это исключительно IPv4 трафик со второго сервера, заворачивающийся в
IPv4-in-IPv6. Собственно, 18TB - 16TB = 2TB, которые составляют 2/3 от
всего исходящего трафика IPv6, который идёт вне gif-туннеля.

     mlxen_nuke  in       1.662 TB
                 out      1.170 TB

Это 10GbE сеть с мои компьютером, но который подключён по ней далеко не
всегда. Обычно подключаю когда надо с большими объёмами покуралесить и
нет времени ждать.

       gif_nuke  in       4.391 GB
                 out     90.959 GB

Это IPv4 туннель с моим компьютером.
На него залилось всего 91GB, а принято чуть более 4GB.

        igb_lan  in     746.684 GB
                 out      1.108 TB

Это 1GbE соединение с коммутатором, куда воткнуто два хвоста от второго
сервера и хвост от моего компьютера.

    wg_nuke_lan  in     719.767 GB
                 out      1.084 TB

       wg_beta1  in     682.254 MB
                 out    732.991 MB

       wg_beta0  in     682.217 MB
                 out    732.942 MB

Почти весь трафик в этой сети исключительно на мой компьютер (когда он
не подключён к 10GbE). Этот терабайт на самом деле составляет по большей
части WavPack (MP3 и другого lossy у меня крайне мало) музыка и изредка
просматриваемое какое-нибудь видео с хранилища. beta0 и beta1 по идее
гоняет исключительно BGP трафик до второго сервера. Отключений 10GbE у
меня вроде нет, поэтому и трафик туда не должен переключаться.

       wg_mail3  in      14.134 GB
                 out      3.532 GB

Это туннель до моей VPS-ки, где проходит:

* BGP
* исходящий почтовый сервер
* входящий IPv6 почтовый трафик (один IPv6 адрес через NDP proxy шлётся
  по WireGuard туннелю мне на сервер)
* HTTP/Git зеркала многих моих сайтов
* рекурсивный DNS
* NTP до моего сервера

Его uptime 19 дней, почти в два раза меньше. С его стороны этот
интерфейс выглядит так:

            wg0  in      2.103 GB
                 out     8.583 GB

Тогда как весь трафик, не только с моим сервером через WireGuard:

            xn0  in     12.034 GB
                 out    23.824 GB

В него ещё входит авторитарный DNS.

Честно говоря, не знаю чего так много там передаётся ко мне. По идее всё
по мелочам, зеркала я сам не должен использовать (только закачивать на
них). tcpdump показывает постоянный DNS трафик, видимо он так нехило
отьедает, хотя там кэшироваться же всё хорошо должно.

Если исходящий трафик на VPS ещё можно понять: собственно, HTTP, как
минимум, то откуда так много на вход то? Визуально tcpdump показывает
очень нехилое количество ARP и IPv6 NDP запросов (но визуально это
где-то десятки в секунду, по 42 байта, что менее 700MB должно
составлять). Надо будет что-то типа NetFlow прикрутить ради интереса и
понять.

6 weeks agoГде сам дьявол?
Sergey Matveev [Wed, 22 Oct 2025 20:59:33 +0000 (23:59 +0300)]
Где сам дьявол?

В OpenBSD! grep daemon /etc/master.passwd:

    daemon:*:1:1::0:0:The devil himself:/root:/sbin/nologin

6 weeks agoПочти две недели с собаками
Sergey Matveev [Wed, 22 Oct 2025 19:01:46 +0000 (22:01 +0300)]
Почти две недели с собаками

В очередной раз родители были на отдыхе, а я с собаками дома.
Как же с ними хорошо!

6 weeks agoЗагрузка канала Ярнет
Sergey Matveev [Wed, 22 Oct 2025 07:51:41 +0000 (10:51 +0300)]
Загрузка канала Ярнет

https://yarnet.ru/company/yarnet/internet/
https://yarnet.ru/company/yarnet/internet/ipv6/
https://yarnet.ru/company/yarnet/peer/
https://yarnet.ru/company/yarnet/ipv6/
Вот почему у других провайдеров я не видел подобной статистики?
Интересно же ведь кто как с кем и в каких объёмах! Правда, удручает
трафик IPv6, который вообще в десятки мегабит. У меня BitTorrent
нередко половину канала может на отдачу загружать.

6 weeks agoВеликолепие текстовых приключенческих игр
Sergey Matveev [Wed, 22 Oct 2025 06:56:40 +0000 (09:56 +0300)]
Великолепие текстовых приключенческих игр

https://entropicthoughts.com/the-greatness-of-text-adventures
Freedom, Non-graphical and non-literal experiences, Cheaper dynamic
environments, Mature technology. Пример как в них играют:

     CURVING HALL, WEST END

     The curving corridor ends here, in a blank plaster wall relieved by
     a single window. The window looks out on a strange subterranean
     prospect to the west. You can return east, pass through the archway
     to the north, or try the closed door to the south.

   > look at window

     A broad glass pane looks out over a dark cavern. This end of the
     corridor seems to be deep underground. A natural cave spreads out
     below; its mammoth columns and cascades of flowstone are only dimly
     picked out by the candlelight behind you. The farther reaches are
     hidden in darkness. But the shining waterfall before you is easily
     visible. A stream pours in from your right, tumbles from a ledge,
     and plummets into a pit beneath the window. The water seems to
     sparkle with some natural phosphorescence.

   > break window

     The glass ignores your assault.

   > enter archway

     ARBORETUM

     The walls here are painted white and are utterly undecorated. An
     archway leads south. In the center of the room stands an
     earthenware tub. From it sprouts a tangle of vines, broad fan-like
     leaves, and an enormous golden flower. The luxuriant growth
     clashes, you think, with the room’s stark emptiness.

   > look at flower

     The plant sits alone in its pot, in the center of the empty room.
     The golden flower is nearly the size of your head. It rises from a
     tangle of vines and leaves that would better suit an unexplored
     south-coast swamp than someone’s home.

   > take flower

     The plant’s stems look too thick to break.

   > smell flower

     You lean forward and take a deep breath of the flower’s aroma.

     Memory nearly bursts through.

   This moves us to

     DANK JUNGLE (IN THE EARTHENWARE TUB)

     You are standing waist-deep in an empty earthenware tub, in the
     midst of a trackless jungle.

     Heavy, entangled trunks and vines loom in every direction, as far
     as you can see – and you can’t see far. The sky is entirely
     obscured by layers of vegetation. Only a murky green light filters
     down to you. But golden flowers dot the trees, like bursts of sun.

     An iron key is balanced neatly on the edge of the tub.

   > take key

     Taken.

   > get out of tub

     You swing your legs out of the tub, and find the world swinging
     around you…

   This moves us to

     ARBORETUM

     The walls of the room are painted in green slashes, like the trunks
     of uncounted trees, and splashed with gold. An archway leads south.
     A hint of sweet-rank perfume touches you as you breathe.

   > inventory

     You are carrying an iron key.

В KEKS схемах (021d6a90d3dfc6c0b812c66f1b4e811a444644fe) я добавлял
команду EXAMINED, которая кодируется "x" символом. В голове была
исключительно отсылка к "x" команде множества interactive fiction игр.

6 weeks agoDSCP обработка у провайдеров
Sergey Matveev [Wed, 22 Oct 2025 06:36:51 +0000 (09:36 +0300)]
DSCP обработка у провайдеров

https://lafibre.info/orange-debit/5g-home-debit-limite-a-5-mbs-avec-les-flux-dscp-0x08/120/
https://en.wikipedia.org/wiki/Differentiated_services_code_point
Французский Orange смотрит на приоритет IP пакетов и может их отправлять
по честному в очередь для голосовых данных. Но ограничивает пропускную
способность до 5Mbps.

А я вот в целом вообще понятия не имею насколько хорошо и обрабатывается
ли DSCP в наших провайдерах. И проверить не так то просто.

6 weeks agoDSTAT разработка прекращена
Sergey Matveev [Tue, 21 Oct 2025 16:32:09 +0000 (19:32 +0300)]
DSTAT разработка прекращена

https://github.com/dstat-real/dstat
https://github.com/dstat-real/dstat/issues/170
Автор пишет, что Red Hat начала под таким же именем
другую штуку подсовывать, автор решил бросить разработку.

6 weeks agoВ одном ISP не работает SSH из-за выставленного QoS
Sergey Matveev [Mon, 20 Oct 2025 07:23:24 +0000 (10:23 +0300)]
В одном ISP не работает SSH из-за выставленного QoS

http://lists.mindrot.org/pipermail/openssh-unix-dev/2025-October/042254.html
Жалуются что на здоровом ISP (1.5М пользователей) не работает SSH из-за
выставленного QoS в IP пакетах. Я бы, конечно, пошёл менять провайдера,
если бы была возможность, в таком случае. А ещё говорят про две недели
не работающий IPv6, просто потому что, видимо, забыли какой-то маршрут,
а до поддержки (262b66f5903b5afd217ee5acf43df0ac6fb8fd86) фиг достучишься.
В общем, проблемы с ISP всюду и везде одинаковы. Хотя в Германии
проникновение IPv6 гораздо выше и я думал, что и специалистов там поболее.

6 weeks agoПосмотрел "Любовь"
Sergey Matveev [Sun, 19 Oct 2025 18:33:11 +0000 (21:33 +0300)]
Посмотрел "Любовь"

https://ru.wikipedia.org/wiki/Любовь_(фильм,_2012)
Снова по рекомендации из 79f34386c27a8b6bc6adeaf6c1afb1721f5148aa. Но...
как-то он меня не тронул. Не плохой, не пожалел о просмотре. Но слезу не
выбивал. Многое из него я в жизни встречал (с бабушкой), чувства людей
все понятны.

6 weeks agodetect-fash
Sergey Matveev [Sun, 19 Oct 2025 16:16:31 +0000 (19:16 +0300)]
detect-fash

https://habr.com/ru/news/958022/
Подобные утилиты полезны тем, что так много узнаёшь нового о всяких
проектах типа Omarchy, Hyprland, Ladybird, DHH, Framework. Но мы то
знаем кто настоящий фашист и нацист в этом мире.

6 weeks agoPerl как жвачка
Sergey Matveev [Sun, 19 Oct 2025 08:11:39 +0000 (11:11 +0300)]
Perl как жвачка

It's like chewing gum, you can stick it anywhere but once you do, you
don't want to touch it.

6 weeks agoМифы и реальность про BitTorrent в автономных системах
Sergey Matveev [Sun, 19 Oct 2025 08:07:04 +0000 (11:07 +0300)]
Мифы и реальность про BitTorrent в автономных системах

https://datatracker.ietf.org/doc/rfc6821/
Аж целый RFC есть с анализом преимуществ BitTorrent для провайдеров.
Сокращает ли он трафик между ними? Увеличивается ли производительность
приложений? Влияние на peering agreements, на transit.

6 weeks agoInternet Peering Playbook
Sergey Matveev [Sun, 19 Oct 2025 08:02:52 +0000 (11:02 +0300)]
Internet Peering Playbook

https://drpeering.net/core/bookOutline.html
https://drpeering.net/index.php
Не смог найти саму книгу в PDF, но видел всякие вырезки из неё.
Рассказывает вообще в целом про тему пиринга/транзита между автономными
системами, а также какие ухищрения используют для повышения цен. Даже
вырезки были очень интересно почитать.

6 weeks agoПрочитал "Цветы для Элджернона"
Sergey Matveev [Sat, 18 Oct 2025 17:28:10 +0000 (20:28 +0300)]
Прочитал "Цветы для Элджернона"

https://ru.wikipedia.org/wiki/Цветы_для_Элджернона
который посоветовали в 79f34386c27a8b6bc6adeaf6c1afb1721f5148aa. Очень
понравился! Но... не тяжёл для чтения, честно говоря, ну кроме факта
смерти самого Элджернона, хотя я и знал об их не долгом веке (из книг
про крыс Ольги Громыко).

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

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

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

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

А ещё я в первом классе поднимал девочкам юбки. Мне пофиг что у них там
было или не было (не факт что я вообще знал об иной конфигурации --
только во втором классе нам рассказали откуда берутся дети и в чём наши
различия), а забавляла только реакция и тщетные попытки меня догнать
чтобы врезать. Как-то меня позвали к школьной медсестре и она так меня
за ухо оттаскала, что я реально боялся, что оно оторвётся с концами. Вот
интересно, повлияло ли это на моё отношение к женщинам? Чёрт его знает,
ибо в средней школе у меня появилась FreeBSD, GNU/Linux, потом и
FidoNet, так что было не до этого. Меня на полном серьёзе вообще не
посещали мысли о том, что вообще-то типа уже можно (пора!) задумываться
об отношениях и общении с девушками. Впервые мысли появились только в
конце первого курса института, типа я уже вроде как не совсем ребёнок же.

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

6 weeks agoСнова фатальные проблемы в Linux: O_DIRECT на MD/DRBD
Sergey Matveev [Sat, 18 Oct 2025 14:07:46 +0000 (17:07 +0300)]
Снова фатальные проблемы в Linux: O_DIRECT на MD/DRBD

https://bugzilla.kernel.org/show_bug.cgi?id=99171
https://www.linux.org.ru/news/linux-general/18114137
Оказывается, имеется древняя (более 10 лет) проблема, когда при
использовании O_DIRECT поверх RAID MD или DRBD будут битые данные.
Userspace может всё покорёжить. Причём на практике всякий софт (типа
запуска ВМ) O_DIRECT реально использует. В этом весь Linux.

Упоминают, что ни OpenZFS, ни Bcachefs не подвержены этому. Причём
первого в Linux нет и не будет, а второй вроде тоже же хотели исключить
полностью из ядра.

6 weeks agoСходил на концерт Грай
Sergey Matveev [Fri, 17 Oct 2025 21:28:45 +0000 (00:28 +0300)]
Сходил на концерт Грай

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

Слэм начался где-то только после 4-5-ой песни. Но дальше до конца
концерта был добротным. "Пошла млада к милому, в сарафане аленьком" --
конечно же именно под это надо устраивать мощное месиво :-)! Количество
вылетавших и падающих людей сегодня сильно выше нормы было.

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

6 weeks agoБартунов про Python
Sergey Matveev [Fri, 17 Oct 2025 09:33:37 +0000 (12:33 +0300)]
Бартунов про Python

https://habr.com/ru/articles/957516/

    Это проблема как раз университетов, которые тратят драгоценное время
    студентов впустую. Вместо системного мышления, фундаментальных
    основ, дают какую-то ерунду — Python, например. Я помню время, когда
    повсюду висели объявления: «PHP за 3 дня». Зачем на это тратить
    университетское образование?

    Университет должен воспитывать системное мышление, давать
    фундаментальную фундаментальную подготовку.

    [...]

    Пришел Сорос, раздал университетам бесплатные лицензии — Microsoft,
    Oracle и прочее. Более того, он даже предоставил готовые учебные
    курсы.

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

    Они боятся open source. И правильно делают, Потому что open source —
    это скачать, скомпилировать, собрать, подключить. Ведь в серьёзных
    энтерпрайзах хотят иметь поддержку. У open source нельзя просто
    спросить: «Почему у вас программа упала?» Написать-то можно, но
    никто не обязан отвечать.

    [...]
    Россия показала всему миру, что есть жизнь без Oracle и Microsoft.

    Коллеги в сообществе порой даже не понимают, о чём речь. Когда мы
    говорим, что у нас сервера с терабайтами памяти, сотнями ядер, и
    идут миллионы транзакций в секунду — они удивляются. Мы просим,
    например, сделать поддержку 64-битных транзакционных ID, потому что
    нам уже не хватает стандартных. У нас, например, налоговая служба
    работает на Postgres. А для них это нонсенс. Они не могут
    представить, чтобы системы такого масштаба были на open source-базе.
    У них всё на Microsoft.

    [...]
    Когда человек перестаёт развиваться, а просто потребляет, он
    перестаёт думать. Получается общество потребления.

    А smart-людей мало. Если вы хотите, чтобы ваши дети оказались среди
    них — учить и готовить их к этому нужно уже сейчас.

    Если мы действительно хотим, чтобы общество было светлым,
    устойчивым, достойным — то мы должны понимать: именно дети будут его
    делать. Мы уже сейчас должны их растить, даже если нам самим сейчас,
    может быть, непросто.

6 weeks agoПара статей с критикой синтаксической подсветки
Sergey Matveev [Fri, 17 Oct 2025 07:31:29 +0000 (10:31 +0300)]
Пара статей с критикой синтаксической подсветки

https://buttondown.com/hillelwayne/archive/syntax-highlighting-is-a-waste-of-an-information/
https://tonsky.me/blog/syntax-highlighting/
Где-то в IDE у людей я реально встречал радугу цветов и тоже задавался
вопросом: а какой смысл, чем оно помогает?

Многие годы я сидел под чистой консолью FreeBSD (без GUI, X11,
e7bd3bc8c5c677f96873382a9054b3c01ac9d8be) с зелёным фоном, vi (не vim),
без синтаксической подсветки. Потом всё же понял, что цвета могут нести
огромное количество помогающей информации. Поэтому в каком-нибудь
PyDERASN: http://www.pyderasn.cypherpunks.su/_images/pprinting.webp
цвета стали обязательны.

Динамическая подсветка аргументов, import-ов, переменных -- must-have
штука. Просто так из коробки без LSP оно в Vim не делается, но плагин
Mark давным давно был неотъемлемой частью моего setup, пока не переписал
существенно сократив код (f4a041639f520162b246b48ef248e7116b4a5919).
Как-раз для подобных задач активно и использовался.

6 weeks agoRDSEED на AMD в 10% случаев выдаёт нули
Sergey Matveev [Fri, 17 Oct 2025 07:18:39 +0000 (10:18 +0300)]
RDSEED на AMD в 10% случаев выдаёт нули

https://www.opennet.ru/opennews/art.shtml?num=64066
А я уже давно проверял чтобы в моих FreeBSD RDRAND не использовался как
основной (и единственный) источник энтропии. Где-то в этих ихних
GNU/Linux-ах я слышал, что его как единственного используют, ведь так же
удобно, так быстро он энтропию выдаёт. Безумие конечно всему этому
доверять. Да и давно же уже показывали исследования о том, что RDRAND
довольно ощутимый bias регулярно имеет.

6 weeks agoПочему выпиливают 3G?
Sergey Matveev [Fri, 17 Oct 2025 07:09:41 +0000 (10:09 +0300)]
Почему выпиливают 3G?

https://habr.com/ru/articles/957378/
https://habr.com/ru/news/953400/
https://www.kit.edu/kit/english/pi_2025_069_the-spy-who-came-in-from-the-wifi-beware-of-radio-network-surveillance.php
Я удивлён что не вижу метки "fun", "trolling" у этой записи. Автор
считает, что по большей части внедрение 4G/5G это ради усиления слежки
за людьми (местоположение) и централизации управления.

Даже я в курсе, что централизация/децентрализация тут как бы вообще
никакой роли в 2/3/4/5G не играет. СОРМ и так имеется везде.

Конечно же в РФ это делается именно ради слежки, хотя куда более
быстрыми темпами выпиливается 3G на Западе исключительно для
освобождения частот и улучшения условий использования людьми.

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

Впрочем, автор тоже упоминает и освобождение драгоценных частот, а также
возрастающую стоимость поддержки 3G оборудования. Вот только по статистике
преобладающая часть голосового трафика (даже с моим сотовым!) идёт через
VoLTE, поверх LTE, а не GSM.

6 weeks agoПотерянный и возвращённый мир (история одного ранения)
Sergey Matveev [Thu, 16 Oct 2025 18:34:26 +0000 (21:34 +0300)]
Потерянный и возвращённый мир (история одного ранения)

https://luria.ucsd.edu/The_Man_with_a_Shattered_World.pdf
К моей записи (79f34386c27a8b6bc6adeaf6c1afb1721f5148aa) о фильмах и
книгах о деменции и комментарии написали и лично в почту. Всё
рекомендованное обязательно осилю. А пока прочёл сабжевую историю про
человека, у которого раздробилось восприятие мира после ранения в
голову. И он вот описывает как его воспринимает и какие трудности
возникают. Мне вот крайне интересно подобное было прочитать, хоть и
сложно представить.

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

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

На работе нередко спрашивают как сделать вот то или то в
Vim/Tmux/Zsh/whatever. Точнее как я это только что сделал? А я реально
не знаю! Не могу ответить. Я понятия не имею что я нажимал только что,
ибо чисто на рефлексах многие вещи делаются. И я вынужден смотреть на
клавиатуру и медленно повторять команду, чтобы понять что же я набрал.
Что ещё осложняется тем, что на клавиатурах моих нет надписей :-)

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

7 weeks agoGo 1.25.3
Sergey Matveev [Wed, 15 Oct 2025 09:21:37 +0000 (12:21 +0300)]
Go 1.25.3

Новый релиз относительно 1.25.2 делает только одно: убирается один
коммит, который добавлял более корректные проверки цепочек сертификатов.
Внезапно, оказалось, что перед этим выпустилось много невалидных
сертификатов, и поэтому 1.25.2 много чего поломал. Поэтому давайте
деградируем его, будет делать менее корректные проверки, потому что говн
навыпускали невалидных. Вот в этом весь X.509 PKI!

7 weeks agoОтключение электричества
Sergey Matveev [Wed, 15 Oct 2025 08:17:38 +0000 (11:17 +0300)]
Отключение электричества

Вчера объявление в подъезде гласило о том, что с 10:00 будет отключение
электричества для профилактических работ. Я поехал на работу, так как
неизвестно сколько не будет света. Приехал -- увидел что сервер
недоступен, ok. Вскоре стал доступен и даже не выключался, хотя
провайдер был недоступен. Похоже что свет отключили настолько
ненадолго, что даже ИБП продержал компьютеры включёнными.

7 weeks agoЕщё кто-то критиковал Let's Encrypt, но сдался
Sergey Matveev [Tue, 14 Oct 2025 16:37:09 +0000 (19:37 +0300)]
Ещё кто-то критиковал Let's Encrypt, но сдался

https://michael.orlitzky.com/articles/lets_not_encrypt.xhtml

7 weeks agoBlack metal и BSD
Sergey Matveev [Mon, 13 Oct 2025 06:37:19 +0000 (09:37 +0300)]
Black metal и BSD

https://andrath.nl/bio.html
Голландский гитарист одной из black metal групп использует OpenBSD.

7 weeks agoЧто объединяет Пратчетта и Канемана?
Sergey Matveev [Sat, 11 Oct 2025 22:55:45 +0000 (01:55 +0300)]
Что объединяет Пратчетта и Канемана?

https://en.wikipedia.org/wiki/Daniel_Kahneman#Personal_life
https://www.bluewin.ch/en/entertainment/nobel-prize-winner-opts-for-suicide-in-switzerland-2619460.html
https://ru.wikipedia.org/wiki/Терри_Пратчетт:_Выбирая_умереть
Не много есть книг, про которые я точно бы мог сказать, что они что-то
явно переключили и поменяли в моей голове. "Думай медленно, решай быстро"
(72db7f2ffeab847ebf21bca10ccc3e12679f0f50) одна из них. Другой важнейшей
для меня является "Санта-Хрякус" (0c836961339dadce36c6fe118b797fd9259969e2)
Терри Пратчетта.

Что объединяет этих двух авторов? Они оба пошли на "assisted suicide",
эвтаназию. Хотя на английской Wikipedia написано, что он естественной
смертью от Альцгеймера умер. Что то сегодня уже второй раз про эту тему
(79f34386c27a8b6bc6adeaf6c1afb1721f5148aa) упоминаю.

7 weeks agoСкончалась Дайан Китон
Sergey Matveev [Sat, 11 Oct 2025 19:31:25 +0000 (22:31 +0300)]
Скончалась Дайан Китон

https://lenta.ru/news/2025/10/11/skonchalas-zvezda-krestnogo-ottsa/
Вот так совпадение, но именно сегодня мне почему-то захотелось
пересмотреть некоторые сцены "Крёстного отца". И видя Китон в кадре,
сразу же вспоминал про "Энни Холл" -- один из самых запоминающихся
фильмов (6c315b88d94f9c3a91441a57a9d012893c3873d2) на любовную тему.

7 weeks agoСвечи под рукой
Sergey Matveev [Sat, 11 Oct 2025 16:53:38 +0000 (19:53 +0300)]
Свечи под рукой

Кстати, в 977f88636f6f24106b918c9edceee267590e1e1d автор упоминает, что
под рукой всегда были свечи и керосиновые лампы, так как нередко отключали
электричество. В деревне я не помню были ли отключения. В Калининграде
(Королёве) бывали очень редко. Возможно всего несколько раз чтобы попало
на вечернее или ночное время. Но мне нравилось это тем, что мама
доставала свечки, нравился их запах, треск во время розжига, тишина. И у
меня до сих пор, буквально на расстоянии вытянутой руки, по привычке
лежат спички в ящике тумбочки. И я знаю где у меня есть свечки. Причём я
прям даже явно задавался вопросом есть ли они у меня, не забылись ли.
Но, благо, ни разу не использовались. Да и... в кнопочном сотовом есть
фонарик, просто фонарик с Cree светодиодами (яркие, но заряда хватит не
надолго). Но просто у меня как факт остался в голове: свечи под рукой
должны быть.

А вот керосиновые лампы вроде ни разу в действии не видел. Так то они
были и в деревне и в Королёве у бабушки.

7 weeks agoСмерть транзита? Свободный Интернет?
Sergey Matveev [Sat, 11 Oct 2025 14:36:20 +0000 (17:36 +0300)]
Смерть транзита? Свободный Интернет?

https://colonelcassad.livejournal.com/10122792.html
https://ii.org.ru/smert-tranzita/
https://www.potaroo.net/ispcol/2016-10/xtransit.html
https://www.potaroo.net/presentations/2018-12-18-death-of-transit.pdf
Кто только, даже далёкий от ИТ, не говорил про фрагментацию Интернета и
про то, что это прям вовсю уже произошло.

В 68ac68e728699c376071fbe6cb3f27f04feaa32c я говорил про то, что в
Geminispace просто засран emoji -- это я посетил множество десятков
gemini:// сайтов с одного агрегатора. Масса из них не была доступна.
Вроде в 100% случаев это из-за блокировки со стороны зарубежных сетей
(это к тому, что не РКН виноват).

Давно я видел статью Джефф Хьюстон про то, что модель Интернета круто
поменялась. После многочисленных статей и интереса вообще к теме
автономных систем, пиринга, BGP и устройства Интернета, снова её
перечитал.

Провайдеры старались как можно меньше гонять трафика через транзит, за
который дорого платят, так как это картель небольшого числа 1-tier
backbone провайдеров. Помню что многие подключались к сети Инфолайн
(моему первому Интернет-провайдеру), только из-за наличия там большого
кол-ва людей и запущенного самим же провайдером DC++ хаба. Людям не
нужен был Инфолайн для доступа в Интернет -- он им нужен для доступа к
DC++, где и фильмы и музыка и игры. А что ещё надо? Чатики, которые в
первую очередь локальные. Скорость "в" Интернет была 160Kbps, тогда как
скорость между членами самой сети Инфолайн ограничивалась только
возможностями ADSL соединения. Сети запускали retracker.local BitTorrent
трэкеры, которые кооперировали бы участников сети провайдера, чтобы
меньше гонять трафик в транзит.

Стали делать пиринг, много пиринга и росли Internet Exchange, чтобы
меньше гонять трафик через транзит.

А потом начали расти CDN. Стали размещать сервера физически ближе к
точкам подключения к конечным пользователям. И даже сами CDN начали
прокладывать свои кабели. Google уже чуть ли не Tier-1 ISP мог бы
считаться, имея свои собственные кабели, ЦОДы и прочее. Но нет -- он
просто находятся концами кабелей или серверами в PoP-ах разных ISP.
IXP стали постоянно совмещать и функции ДЦ, для размещения CDN.

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

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

Почти все подводные кабели делаются CDN-ами, а не ISP carriers.

    [...]

    Если мир интернет-сервисов действительно определяется небольшой
    группой CDN-провайдеров, таких как Google, Facebook, Amazon, Akamai,
    Microsoft, Apple, Netflix, Cloudflare и еще парочка других, а все
    остальные поставщики услуг, по сути, просто помещают свои услуги в
    эти большие облака контента, то зачем нам вообще нужно выталкивать
    клиентский трафик в далекие дата-центры?

    Какова оставшаяся потребность в транзите на дальние расстояния? Есть
    ли вообще будущее у провайдеров транзита?

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

    Поэтому, хотя «всемирный охват» и «полная связность соединений» и
    имели большой смысл в старом, регулируемом госструктурами мире
    телефонной связи (и в явном социальном договоре, который лег в
    основу этой системы), для Интернета такие концепции социальных
    обязательств неважны. Если пользователи не ценят что-то настолько,
    что готовы за это платить, то у провайдеров нет стимула
    предоставлять это «что-то»!

    Если транзит становится малопопулярной и редко используемой услугой,
    то можно ли представить себе архитектуру Интернета вообще без
    транзита? Вполне можно представить себе эволюцию Интернета в набор
    пользовательских «конусов», отходящих от местных точек дистрибуции
    данных, а для передачи или синхронизации данных между центрами можно
    выбрать и совершенно другие механизмы. Единый Интернет превратится в
    распределенную структуру, очень похожую на сегодняшние
    клиент-серверные среды, но с неким уровнем неявной сегментации между
    различными «облаками» сервисов. Да, я сейчас весьма утрирую, но все
    равно такая картина не выходит за пределы возможного. Если же такая
    структура станет реальностью, то будет ли вообще какой-то смысл
    сохранять единое адресное пространство во всемирном масштабе? Если
    все потоки трафика ограничены каждый своим сервисным конусом, то
    оставшаяся потребность в адресации в лучшем случае выродится в
    потребность уникальных идентификаторов для конечных точек конусов, а
    уникальностью в масштабе всей сети (что бы выражение «вся сеть» ни
    значило в подобной системе) можно и пожертвовать. Если кто-то еще
    помнит работу IETF над региональными IP (RSIP – Realm-Specifc IP,
    RFC 3102), они поймут, что я имею в виду.

    [...]

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

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

7 weeks agoКто хотел бы пожить в деревенских условиях?
Sergey Matveev [Sat, 11 Oct 2025 12:54:09 +0000 (15:54 +0300)]
Кто хотел бы пожить в деревенских условиях?

https://vgiv.livejournal.com/156722.html
Тут автор пишет, что первые семь лет жизни в классическом таком
деревенском быте, дало ему:

    прививку против так называемой «тяги к земле» — стремлению жить
    своим домом на природе.

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

Никакого негатива не оставалось -- я обожал там проводить время. Но вот
всерьёз рассматривать вариант с жизнью в таком варианте: да боже упаси!
Это ОЧЕНЬ много забот. Уйма, масса, тьма. Папа тоже никогда не
согласился бы на жизнь вне квартиры.

У меня есть знакомые кто типа мечтает о загородном доме и образе жизни.
Уверен, что они не очень представляют насколько это не комфортно. Либо у
них руки чешутся, заняться нечем и поэтому их будет куда пристроить.
Знакомые в town-house-ах, где обслуживание техники производится по
звонку телефона, всё равно, насколько видел, регулярно в заботах
хозяйственных. Чай это не квартира! И речь именно про постоянное
проживание, а не дачу.

Кстати недавно коллега сделал, благодаря мне, открытие: куры несутся
сами по себе! Он был уверен, что петух то как-раз именно для этого и
нужен. Видимо, он не часто бывал в деревнях/сёлах и не обращал внимание
на то, что петухи далеко не у каждого имелись.

А ещё помню, как проходя мимо вёдер с комбикормом для свиней, попробовал
его и он мне очень понравился. Ходя туда-сюда, брал пригоршню и в рот.
Бабушка смеялась: мол давай домой она даст мешочек с ним.

7 weeks agoЛистопад Alkonost-а
Sergey Matveev [Sat, 11 Oct 2025 12:39:46 +0000 (15:39 +0300)]
Листопад Alkonost-а

https://vk.com/video-466384_456239173
Увидел тут новости о том, что у Alkonost вышло переиздание Межмирья. Мне
гораздо больше нравится вокал их текущей вокалистки, Ксении. А альбом,
конечно же, хорош с музыкальной точки зрения. Теперь идеальное сочетание.
"Мать-тоска" там сделана другой группой как кавер на Alkonost, в котором
тоже очень понравивишийся вокал.

Пока читал про новости группы, то наткнулся на их клип "Листопад". Ох ты
ж как я не ожидал увидеть там такое! Фиг уснёшь теперь, насмотревшись во
всей своей красе на Ксению. Но я явно стал поклонником (чуть ли не
каждый день но какой-нибудь их альбом да прослушаю) и без подобных клипов.
Впрочем, она мне похоже куда больше нравится уже "повзрослевшей", а не
тощей девочкой.

7 weeks agoФильмы и книги с темами о деменции
Sergey Matveev [Sat, 11 Oct 2025 12:15:53 +0000 (15:15 +0300)]
Фильмы и книги с темами о деменции

Ещё не было фильма переплюнувшего "Вспоминать о прекрасном"
(27f472bb989594bcb96a37874ba4f71861862f9a), о котором я годами
не мог упоминать без слезы. Фильм про молодую девушку, которая
начала деградировать головой: забывать слова, не узнавать места
и всё в таком духе. Его финал, где показывается то, как она
стала воспринимать мир и что при этом говорить, а потом резко
показывается действительность -- меня сильно тронул. Видимо ещё
потому что игра Изабель Карре, с которой я много фильмов пересмотрел,
была на высоте.

Годы спустя, "Конец всей этой мерзости" я "прочитал" аудиокнигой в
маршрутке (d2a99f7b4c27dfa5529e724dd700bce914c120d2). Тема про то, что
там изобрели какой-то вирус/болезнь/бяку, которая за считанные часы
превращает людей в дебилов. И книгу типа пишет один из людей, кто понял
что подхватил её. В рассказе всё упрощается лексикон и предложения.
Автор типа понимает, что ему остаются считанные минуты до полного
одурения и он впопыхах пытается записать историю того что произошло с
человечеством. Под конец он уже и два слова связать не может. Тоже очень
тронуло это, на слезу прошибло, было неудобно с мокрыми глазами сидеть в
маршрутке, палиться перед окружающими.

Недавно "прочитал" рассказ "По дороге памяти" Майка Резника, где точно
такой же приём был применён: деградация повествующего в концу. 60 лет
там муж жил не тужил с женой любимой, как ей поставили диагноз синдрома
Альцгеймера. Он приобрёл пистолет, чтобы применить для себя и для неё,
когда она перестанет его узнавать. Хотя и понимал, что сможет только
себе пустить пулю. А когда узнал, что всё дело в отсутствии какого-то
белка в спинно-мозговой жидкости, то он попросил врачей у него её
выкачивать и "переливать" ей. В итоге они стали меняться местами: теперь
уже он деградирует, не переставая вести рассказ. Удивляется миру как
ребёнок, и перестаёт узнавать свою жену, которая пошла на поправку.
Концовка типа как в "Вспоминать о прекрасном". Но всё равно сложно было
сдержаться, хоть я и понял какой приём (как у Кинга) автор начнёт
применять и чем закончится история.

7 weeks agoПонял что диссонирует в Gemini экосистеме
Sergey Matveev [Fri, 10 Oct 2025 19:18:24 +0000 (22:18 +0300)]
Понял что диссонирует в Gemini экосистеме

Сегодня внезапно осознал почему меня раздражает gemini:// экосистема. Да
потому что чуть ли не у большинства вовсю используются emoji, причём в
диких количествах! 876642a862d9461e086ae58fa049c81dcfbba407
Вот все эти geminauts говорят о простоте, об удобстве, но при этом
используют технологии которые ещё больше позволяют усложнять восприятие
информации, плюс требуют отнюдь не самого простого софта. А gemtext,
требуя использования длинных строк, явно это делает для того, чтобы люди
на смартфонах могли видеть отформатированный текст. А это ещё один, так
сказать, всадник апокалипсиса. Постоянно у меня возникали чувства о том,
что люди в gemini:// чаще всего просто вообще не понимают что это и для
чего задумывалось (возможно, как и сам автор). Достаточно сравнить с
ресурсами из gopherspace.

7 weeks agoПроверка отсутствия лишних полей в KEKS
Sergey Matveev [Thu, 9 Oct 2025 20:02:00 +0000 (23:02 +0300)]
Проверка отсутствия лишних полей в KEKS

KEKS/Schema я написал уже относительно давно. Но только сегодня был
шокирован осознанием того, что у меня не было возможности убедиться
через схемы в том, что в MAP нет лишних полей, за исключением явно
перечисленных, пускай даже и optional. Это вообще поведение по
умолчанию как и в ASN.1, так и в CDDL. И мои команды валидации не
позволяли это проверить.

Добавил команду EXAMINED, которая декрементирует счётчик кол-ва
неучтённых/необработанных полей в MAP. По завершению проверки схемы
напротив MAP-а, он проверяет что равен нулю. Проверка включается только
если хотя бы одна команды EXAMINED была встречена. Соответственно в Tcl
схеме, если не указать "len=~", то EXAMINED команды будут добавляться
после каждого TAKE создаваемого во время выполнения "field" команды
схемы. Иначе EXAMINED не добавляется и проверки на кол-во учтённых полей
не будет.

Для меня на удивление мало кода потребовалось для поддержки этой
команды и вообще проверки.

7 weeks agoПро то, как церемонии подписи DNSSEC проходили
Sergey Matveev [Thu, 9 Oct 2025 19:57:34 +0000 (22:57 +0300)]
Про то, как церемонии подписи DNSSEC проходили

https://www.indata.org.ru/dobrye-namereniya-kak-ya-byl-tcr-2/
Россиянин рассказывает как он был криптоофицером для DNSSEC-а.
Всё в итоге является фигнёй, как мною и ожидалось. Имитировали
лишь по началу серьёзность всей этой деятельности.

    Отдельно следует отметить процедуру уничтожения HSM. Несмотря на все
    усилия, теми инструментами, которые были в распоряжении, уничтожить
    так, чтобы не было сомнений, не получилось.

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

    Почему же вернулись к старым порядкам? Прецедент необходимый был
    создан – ключи от сейфов переданы в PTI, Zoom и YouTube обеспечили
    присутствие. Всё и до этого держалось фактически просто на честном
    слове. Что еще надо? Но не рискнули снять всю маскировку и ширмы
    окончательно. Так оно и осталось исключением.

    [...]

    Выведен же из состава TCR я был ввиду невозможности присутствия на
    церемониях – отсутствия визы в США. ICANN – несмотря на все
    декларации – не стала даже пытаться помочь с получением американской
    визы.

8 weeks agoСколько проблем с парсингом JSON, XML, YAML в Go
Sergey Matveev [Thu, 9 Oct 2025 11:42:07 +0000 (14:42 +0300)]
Сколько проблем с парсингом JSON, XML, YAML в Go

https://blog.trailofbits.com/2025/06/17/unexpected-security-footguns-in-gos-parsers/
Огромное количество неожиданностей и потенциальных проблем при
использовании этих нетривиальных форматов.

8 weeks agoHUML
Sergey Matveev [Thu, 9 Oct 2025 06:19:54 +0000 (09:19 +0300)]
HUML

https://huml.io/
Ещё один формат конфигов (да и не только), дружелюбный к человеку. Типа
более вменяемый YAML. Зачем? "Why not", говорят они. А я напомню про Hjson.

8 weeks agoKEKS и 1NF
Sergey Matveev [Wed, 8 Oct 2025 13:50:08 +0000 (16:50 +0300)]
KEKS и 1NF

https://en.wikipedia.org/wiki/1NF
Столяров в 5e68d1f880d17b6464fb862a7ea2791440ad8fba много раз повторяет
мантру о том, что форматы данных где есть рекурсивные вложенные
структуры -- не имеют права на существование, типа XML, JSON, MIME. Типа
first normal form нормализации должно хватать для всего.

Я тут, в отличии от студентов начальных курсов, вообще не в теме. Я
слышал про нормализацию данных в СУБД, но никогда ничего не читал по
этому поводу. Что наверное крайне плохо говорит обо мне, как о
специалисте.

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

Насколько понял, то 1NF нормализованная форма вот такой структуры:

    {
        "foo": 123,
        "bar": {"op": 1, "po": 2},
        "baz": [4, 5, 6],
    }

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

     0 | map | -   | -
     1 | str | foo | 0
     2 | str | bar | 0
     3 | str | baz | 0
     4 | int | 123 | 1
     5 | lst | -   | 2
     6 | str | op  | 5
     7 | int | 1   | 6
     8 | str | op  | 5
     9 | int | 2   | 8
    10 | lst | -   | 3
    11 | int | 4   | 10
    12 | int | 5   | 10
    13 | int | 6   | 10

Это вроде бы довольно легко преобразовать в Python/Go в "изначальную"
структуру. Само кодирование бы было просто последовательностью строк
таблицы.

По сути -- всё как и сейчас в KEKS, вот только нет ссылок на другие
элементы. Если отталкиваться от того, что кодирование детерминированно:
ключи map-ов отсортированы, строки таблицы не могут идти в произвольном
порядке, то с наличием явного EOC "атома"/типа, от ссылок в последнем
столбце можно избавиться, так как они автоматом могут быть поняты и
вычислены. А это уже превращается буквально в текущий формат KEKS.

Или я совсем ничего не понял что Столяров подразумевал, так как ничего
не читал про теорию БД. Либо мой KEKS и так уже является
удовлетворительным форматом. Судя по всему, наезды то именно на форматы,
где значением элемента может быть рекурсивно очередная структура. Ну
типа вот читаешь про MIME и видишь его форматы заголовков перед частями,
оцениваешь насколько это сложно делать. Не сложно. Пока не попадаешь на
предложение, говорящее что элементом MIME part-а может быть другой MIME,
что сразу означает куда более сложную структуру данных в памяти и в
целом работу. Хотя ведь в XML мы тоже же можем "атомы" в виде тэгов
читать последовательно, так и чем же значение моего списка от LIST до
EOC отличается от значения куда встроены данные?

Мой Си декодер KEKS, вроде как уже точно, хранит декодированные данные в
1NF нормализованном виде. Это просто массив атомарных элементов, где они
могут ссылаться друг на друга. В зависимости от типа элемента
(list/map), это в более высокоуровневом языке, можно бы было сделать
list или map/dict. KEKS по сути является сериализацией 1NF таблицы
items, с оптимизацией по убиранию ссылок (последнего столбца таблицы) за
счёт более строгих правил по упорядочиванию элементов таблицы, ну и
наличии элемента явно сигнализирующим о конце list/map. Но в KEKS не
было аналогов ANY полей или реально вложенных в качестве значения других
элементов.

8 weeks agoQUIC не быстрее на Fast Ethernet
Sergey Matveev [Wed, 8 Oct 2025 13:45:28 +0000 (16:45 +0300)]
QUIC не быстрее на Fast Ethernet

https://arxiv.org/html/2310.09423v2
Статья с массой реальных замеров скорости производительности QUIC и
HTTP/2 (over TLS). В кои то веки статья, где нет бреда про "QUIC это
более производительная версия HTTP+TLS".

8 weeks agoПроблемы с OpenSSH 10.1
Sergey Matveev [Tue, 7 Oct 2025 11:49:07 +0000 (14:49 +0300)]
Проблемы с OpenSSH 10.1

https://marc.info/?l=openssh-unix-dev&m=175982625513497&w=2
http://www.git.cypherpunks.su/?p=bass.git;a=commitdiff;h=0e6a8b79aa120ff50758944a7ff0113a3d87a0eac0acc2b95327d335e4ca47cc
После обновления (5c92ce5cbbc610719487c27d564bb1fa3d728175) OpenSSH,
интерактивная работа стала невозможна. Методом научного тыка выявил,
что проблема возникает с включённым Control-socket. ssh как-будто
начинает жутко тормозить, иногда ускоряясь если просто пытаться
посылать какие-нибудь символы интерактивно. Проблема нашлась и в
рассылке. Там же приложен патч.

8 weeks agoRebuild the World!
Sergey Matveev [Tue, 7 Oct 2025 09:39:39 +0000 (12:39 +0300)]
Rebuild the World!

http://www.rebuildworld.net/
Сайт с набором всяких табу от Столярова. За небольшими исключениями, в
целом согласен с каждым пунктом. Хоть Столяров мне и сильно неприятен
как человек, сваливший из страны, но в ИТ теме симпатизирую. Однозначно
многим стоило бы почитать всё там написанное.

8 weeks agoТри всадника апокалипсиса: зависимость от смартфонов, AI, emoji
Sergey Matveev [Tue, 7 Oct 2025 06:47:20 +0000 (09:47 +0300)]
Три всадника апокалипсиса: зависимость от смартфонов, AI, emoji

https://michal.sapka.pl/2025/emoji/
Солидарен с его ненавистью к этому ужасу, введённому в Unicode. Автор
устанавливает шрифты без их поддержки. У меня шрифты из TeX Live проекта
подключаются, поэтому мне проще (5626de5a8d9a7397b3e4cee7365ccc5fbedc9558)
было пропатчить терминал, чтобы он не показывал их. Оказывается, люди часто
понятия не имеют что за emoji они используют, совершенно не понимая их смысл,
даже не смотря на то, что у них есть названия.

8 weeks agoНе работает 13-ый канал WiFi
Sergey Matveev [Mon, 6 Oct 2025 08:16:33 +0000 (11:16 +0300)]
Не работает 13-ый канал WiFi

https://habr.com/ru/articles/953732/
Я подумал, что реально в США именно 13-ый не дают использовать. Ведь
слышал же подтверждения, что в лифтах у них может не быть этого этажа.
Мракобесие XXI века.

8 weeks agoНовый OpenSSH и PQ криптография в NNCP
Sergey Matveev [Mon, 6 Oct 2025 07:49:08 +0000 (10:49 +0300)]
Новый OpenSSH и PQ криптография в NNCP

https://www.openssh.com/releasenotes.html#10.1p1
http://lists.cypherpunks.su/archive/nncp-devel/aNkId5QemUNoyZKX@stargrave.org/
В новой версии OpenSSH будет предупреждать, если подключился без
использования постквантовых алгоритмов.

У меня и TLS (через мой tofuproxy, на Go, с ML-KEM TLS 1.3), и GnuPG, и
OpenSSH и KEKS/CM (вместо age) поддерживают постквантовые алгоритмы.
WireGuard использует PSK, так что тоже безопасен. VoRS VoIP тоже
применяет PQConnect-like рукопожатие. А вот что осталось крупного и не
готового к PQ, так это мой NNCP.

Как же не охота с ним что-либо делать! Работает, удовлетворяет, поэтому
и нет интереса что-то менять. А люди вон даже ещё какие-то инструменты
поверх него делают, и всякие несложные отсутствующие мелочи мешают это
делать хорошо.

Формат NNCP пакетов придётся менять. Но теперь... что мешает мне
использовать мой KEKS? А для криптографии *уже* есть реализованный на Go
KEKS/CM! Поэтому в новой версии NNCP вовсю будет его использование. Но
пока не уверен что на уровне Go кода, а не просто гоняя данные через
pipe-ы с внешним процессом.

Кроме того, я всё не был удовлетворён форматом конфигурационных файлов.
Hjson/JSON сложно создавать и обрабатывать даже через утилиты командной
строки (jq и подобные). Можно, но не сказать что удобно. Когда-то я
сделал "cfgdir" формат, где всё разложено по директориям и файлам. Для
машины это удобнее, а для человека не то чтобы очень. Но я всё равно так
у себя на практике cfgdir нигде и не использовал. Но два совершенно
разных формата конфига так и остались в NNCP. Но между ними можно
проводить конверсию (теряя комментарии, конечно же).

Плюс с новыми KEKS/CM форматами пакетов, появляются и новые форматы
публичных ключей. А в случае использования Classic McEliece
(d0120e47839413c5e3a04c9c6e31bab5f3996de9), они будут более мегабайта,
что хранить в текстовом JSON-like файле -- точно не вариант.

Плюс online-протокол NNCP использует Noise, в котором нет PQ алгоритмов.
Зато в VoRS (88c583a3c16e62e62397761c72575334649c4c72) имеется. Надо
будет его PQHS вынести как отдельную библиотеку и переиспользовать в NNCP.

Но я ведь недавно сделал damn small configuration формат/утилиту
(9b00c0724455d355f89bbee14ead8a0525b8b173)! Которая и удобна для машины
и вполне пригодна для человека. Я не нашёл хороших причин не
использовать dsc для нового формата конфигурации. Ну кроме того, что
утилита требует Tcl, а переписывать на Go, конечно же, будет лень, хотя
и не помешало бы. Причём она уже умеет экспортировать/импортировать
конфигурацию в текстовом виде в единственном файле. Это можно было бы
использовать для импорта информации о другом узле NNCP в виде части
дерева конфига. На днях добавил возможность хранения бинарных данных
(для огромных ключей) в нём.

Так что вот так у меня аж три проекта начнут использоваться внутри NNCP.
Как будто прям нужно было время чтобы он отлежался, чтобы подождал когда
критическая масса других наработок подоспеет. Была ещё мысль его
документацию перевести с Texinfo на SWG.

8 weeks agoNonce и снова наезды на IETF
Sergey Matveev [Mon, 6 Oct 2025 04:32:35 +0000 (07:32 +0300)]
Nonce и снова наезды на IETF

http://blog.cr.yp.to/20251005-modpod.html
DJB снова рассказывает про IETF. Оказывается, в группе которая
занималась архиважной работой по замене master/slave, blacklist
на всякую чушь, хотели поменять и "nonce". Оно, как оказалось,
это "slang for a paedophile" in "British English". А вместо
"native" надо говорить "indigenous".

8 weeks agoMinIO удаляет фичи из community версии
Sergey Matveev [Sun, 5 Oct 2025 19:03:33 +0000 (22:03 +0300)]
MinIO удаляет фичи из community версии

https://biggo.com/news/202505261334_MinIO_Removes_Web_UI_Features
https://news.ycombinator.com/item?id=44136108
Помню что я использовал MinIO для локального запуска хоть какого-то
S3-совместимого хранилища. Помню, как эта зараза лазала при запуске в
Интернет, чтобы типа проверить нет ли обновлений. Надо было не забывать
править его исходный код и удалять эту misfeature. Но в принципе
работало. Вижу что сделали fork под названием OpenMaxIO.

8 weeks agoСделать TRIM для неиспользуемого места
Sergey Matveev [Sun, 5 Oct 2025 09:07:13 +0000 (12:07 +0300)]
Сделать TRIM для неиспользуемого места

В zfs есть "zpool trim". А вот для UFS2 не знал про "fsck_ufs -E".
Был в курсе только "tunefs -t enable", но который не повлияет на прежде
записанные/освобождённые данные.

8 weeks agoGoogle прекратит поддержку POP3
Sergey Matveev [Sun, 5 Oct 2025 08:04:52 +0000 (11:04 +0300)]
Google прекратит поддержку POP3

https://habr.com/ru/news/953550/
Я кстати в своей жизни никогда не использовал IMAP4, ну возможно кроме
единичных случаев проверки работы MUA. Всегда качал почту с рабочих
ящиков (ну и личных, когда сам не хостил почту) по POP3.

8 weeks agoDJB наезжает на IETF, в котором NSA проталкивает не гибридное шифрование
Sergey Matveev [Sat, 4 Oct 2025 22:32:38 +0000 (01:32 +0300)]
DJB наезжает на IETF, в котором NSA проталкивает не гибридное шифрование

http://blog.cr.yp.to/20251004-weakened.html
Согласен с ним: не имеет смысла не оставлять традиционные алгоритмы при
использовании пост-квантовых. В контексте KEM-ов. Оставлять только PQ,
банально даже временем не проверенные, чтобы потом внезапно оказалось
как с SIKE? Это буквально саботаж. А влияние АНБ, NIST велико, особенно
в насквозь коррумпированной стране.

А вот SLH-DSA/SPHINCS+ для подписи вполне себе можно использовать, даже
нужно. Там безопасность, так сказать, очевидна, как и бесполезность
"траидиционных" алгоритмов.

2 months agoCPAN больше не зеркалируется
Sergey Matveev [Sat, 4 Oct 2025 07:08:01 +0000 (10:08 +0300)]
CPAN больше не зеркалируется

https://www.cpan.org/SITES.html
Недавно CPAN перестал предоставлять зеркала. Типа, мол, они за CDN-ом,
поэтому больше не нужны. Ну да, теперь только одна точка отказа и
цензуры -- Fastly CDN. Мир упорно централизуется и идёт в сторону
splinternet (732115bf5f5b61d3dcbf88c8f77829258853958b).

2 months agoБегут из Днепропетровской области
Sergey Matveev [Fri, 3 Oct 2025 18:44:02 +0000 (21:44 +0300)]
Бегут из Днепропетровской области

https://colonelcassad.livejournal.com/10107271.html

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

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

    Но! Понимать я эту даму отказываюсь, поскольку она «с 22-го года
    переживала за тех, кому пришлось бежать от войны».

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

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

    А когда люди а телевизоре открыто говорили о том, что воевать с
    русскими - это круто и прибыльно, ты не задумалась о том, что
    русские услышат?

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

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

2 months agoLLM про NNCP
Sergey Matveev [Fri, 3 Oct 2025 12:45:03 +0000 (15:45 +0300)]
LLM про NNCP

Кто-то сделал поиск "nncp stargrave" и ему ответил "обзор от ИИ (Chrome)":

    In Stargrave, NNCP is used as a BitTorrent client within the Ware
    repository, which seems to serve as a server for various software
    and tools. It functions alongside other software like aria2 (a
    download manager) and an rsync client, suggesting a use case for
    managing file downloads and transfers, possibly for software
    distribution or peer-to-peer sharing within the Stargrave ecosystem.

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

2 months agoРазрешения IM-ов
Sergey Matveev [Fri, 3 Oct 2025 07:23:04 +0000 (10:23 +0300)]
Разрешения IM-ов

https://text.tchncs.de/umnik/sredstvo-sviazi-max-moio-mnenie-1pl7
https://habr.com/ru/articles/939006/
Мне тут написали, что Max (f8adaf35c181049ee88a918210e7f9f7b24d4893) не
столь уж много требует для своей работы. Я видел статьи сравнивающие его
хотелки и других популярных IM-ов -- и он не самый "прожорливый".

Но я смотрю со своей колокольни, с позиции Unix-like пользователя. Я
понятия не имею можно ли в Android не давать разрешение программе. Можно
ли подсунуть пустышку например, вместо адресной книги. Не знаю и не хочу
знать, ибо бесполезная информация.

* "Доступ к местоположению" -- для IM-а точно не может быть нужно. Если
  бы я хотел поделиться тем, где нахожусь, то наверное можно бы было
  запустить приложение местоположения, скопировать оттуда координату,
  отправить в сообщении. На той стороне скопировать её аналогично. Иначе
  пришлось бы проверять исходный код на наличие возможности отправки без
  спросу местоположения. Что, я уверен, точно происходит.
* "Просмотр состояния сетевого подключения" -- это допустим ещё
  действительно может быть нужно.
* "Просмотр информации о подключении Wi-Fi" -- чтобы отслеживать
  местоположение, видимо? Не нужно.
* "Возможность работать с аккаунтами на устройстве", "Управление
  аккаунтами на устройстве" -- наверное не очень
  понимаю что это. "Аккаунты" это как пользователи в Windows/Unix? Зачем
  это IM-у?
* "Подключение к сопряженным Bluetooth-устройствам" -- пишут, что
  например для звонков через гарнитуру. Почему IM должен знать как и
  куда выводится звук? Это не его зона ответственности.
* "Рассылка уведомлений для обновления бейджа на иконке" -- хз что это.
* "Доступ к камере для фото и видео" -- чтобы по запросу с сервера он
  мог делать незаметно снимки окружающего? А если я не хочу обмениваться
  таким типом данных, просто хочу текст?
* "Служба для записи или трансляции экран", "Служба для использования
  микрофона", "Служба для использования камеры" -- аналогично
* "Доступ к списку аккаунтов на устройстве", "Чтение списка контактов
  устройства для поиска друзей в мессенджере" -- а не пойти бы ему на три
  буквы? Снова лезть в код, и смотреть не сливаются ли список контактов,
  моих социальных связей? Учитывая объём кода, вряд ли можно будет
  ответить на этот вопрос.
* "Чтение изображений с телефона для отправки в чаты", "Чтение видео
  с телефона для отправки в чаты" -- даже в Windows-ах до Windows XP был
  COM, где программы между собой могли обмениваться через единый RPC/API
  высокоуровневыми объектами. Почему нельзя из "проводника" или там
  "галереи" кинуть объект в IM?
* "READ_SETTINGS (HTC)", "READ_SETTINGS (HUAWEI)" -- а это ещё зачем
  может быть нужно?
* "Запрос на установку пакетов" -- серьёзно? Чтобы одно приложение могло
  ставить другие?

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

2 months agoИгрослёт 2025
Sergey Matveev [Thu, 2 Oct 2025 15:26:32 +0000 (18:26 +0300)]
Игрослёт 2025

https://16-bits.ru/игрослёт-2025/
https://rutube.ru/video/9117240634f1a067d1b1461f539a29f0/
Очередное большое событие в музее Дмитрия Бачило. Приятно это всё
видеть, осознавая что я и сам был в тех самых помещениях и видел
большую часть его коллекции.

И верно Боча замечает, что играя на смартфонах, никто и никогда не
задавался бы вопросом как это всё устроено и работает. А без этого
вопроса человек не будет вовлекаться в ИТ и программирование. А без
этого не будет ещё одного (потенциально) толкового специалиста. А
без этого процветания в стране, где большую роль играют все эти
компьютеры.

2 months agoПользователей Max всё больше
Sergey Matveev [Thu, 2 Oct 2025 14:24:40 +0000 (17:24 +0300)]
Пользователей Max всё больше

https://habr.com/ru/news/952836/
Это проприетарный и не свободный IM. Не имеет E2E шифрования. Были
новости о том, что попытки использовать модифицированные клиенты
запрещаются (собственно, поэтому и не свободный). Слишком дофига хочет
прав доступа, будучи, по идее, всего лишь IM-ом.

Однако. Всякие там Telegram и WhatsApp аналогично проприетарны, не
свободны, а то и закрытый код имеют. Никто из них не имеет серьёзного
E2E шифрования (WhatsApp может заявлять что угодно, но подтвердить же
из-за закрытости не может). Даже Signal, насколько помню, тоже был
недоволен использованием сторонних клиентов. И все они дофига и даже
более хотят прав доступа от ОС.

Что Max говно с моей точки зрения, которое я бы никогда не трогал, что
Telegram с WhatsApp и прочим -- точно такое же говно, которые бы никогда
не трогал. Однако, WhatsApp управляется экстремистской компанией,
официально одобряющей призывы к убийству, в том числе, таких как я.
Telegram управляется гнилым отморозком и ведёт мощную цензуру, уже не
раз замеченную за помощью сепаратистам, экстремистам и оппозиционерам
неугодных стран.

Поэтому если уж и делать выбор между сортами говна, то очевидно Max
был бы наилучшим. И лично мне куда спокойнее, если бы окружающие не
сливали тонны стратегической информации нашим врагам и имели бы как
можно меньше зависимости от них.

2 months agoДДИБП
Sergey Matveev [Thu, 2 Oct 2025 08:26:39 +0000 (11:26 +0300)]
ДДИБП

https://habr.com/ru/companies/beeline/articles/253495/
https://habr.com/en/companies/croc/articles/245553/
https://habr.com/ru/companies/croc/articles/318184/
https://habr.com/ru/companies/croc/articles/416089/
То ли не знал, то ли вовсе позабыл про такие бесперебойники, как
раскрученный маховик в гелии. Жутко интересно смотреть всё это технопорно!

2 months agoМисс Россия?
Sergey Matveev [Thu, 2 Oct 2025 07:42:22 +0000 (10:42 +0300)]
Мисс Россия?

https://lenta.ru/articles/2025/10/02/missrussia/
Почти все, за единичными исключениями -- на одно лицо. Покажи их
фотографии и я не смогу сказать одна там женщина изображена или нет.
Какое же это уродство вот все вот эти накачанные губы. Фу короче.
Хотя страшнее конкурсов "красоты" из США всё равно нет.

2 months agoImgur блокирует пользователей из Великобритании
Sergey Matveev [Wed, 1 Oct 2025 11:47:11 +0000 (14:47 +0300)]
Imgur блокирует пользователей из Великобритании

https://habr.com/ru/news/952444/
По аналогии с d558635a1b8f383c1991d7de11784164c5815e59, им проще не
давать доступа пользователям этой страны.

2 months agoКонтроль -- это любовь государства
Sergey Matveev [Wed, 1 Oct 2025 06:50:40 +0000 (09:50 +0300)]
Контроль -- это любовь государства

https://colonelcassad.livejournal.com/10102469.html
http://blog.cr.yp.to/20250930-stealth.html

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

И в это же время я в новостной ленте вижу статью DJB о террористах,
пытающихся что-то скрывать, за которым нужна тотальная слежка. Но чтобы
она была незаметной. Как можно добиться того, чтобы криптография не
работала на практике (ну точнее, чтобы кому надо могли всё читать)?
1) Вводить цензуру на алгоритмы, протоколы, решения.
2) Призывать к национализму. Делание на своих и чужих.
3) Саботировать процессы стандартизации, стандарты. Как это уже было с
   Dual EC DRBG, DES, сопровождаемое лавиной лжи.

2 months agoUbuntu с Rust coreutils
Sergey Matveev [Tue, 30 Sep 2025 13:01:01 +0000 (16:01 +0300)]
Ubuntu с Rust coreutils

https://www.phoronix.com/news/Ubuntu-25.10-Coreutils-Makeself
https://bugs.launchpad.net/ubuntu/+source/makeself/+bug/2125535
https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2112491
https://github.com/uutils/coreutils/commit/cab307a40e9b3f12c812e3ba6207b55f4fa21496
Пишут, что с переездом на coreutils реализованные на Rust, стали падать
тесты... md5sum. В регрессии производительности я не вижу проблем, ибо
ей может найтись адекватное объяснение. Ломается что-то связанное с dd.

А ещё говорят о том, что их env реализация делала... fork. Бля, ну как
так можно то? Что у них в голове? В очередной раз посещает мысль о том,
что "растоманы" это реально какие-то совершенно не шарящие люди, но зато
научившиеся использовать этот инструмент.

2 months agoESR против кодексов поведения
Sergey Matveev [Tue, 30 Sep 2025 11:43:04 +0000 (14:43 +0300)]
ESR против кодексов поведения

https://www.opennet.ru/opennews/art.shtml?num=63968
Ну молодец, чай не Торвальдс. Оригинал, правда, прочитать в закрытой
экосистеме "X" не могу.

    После десяти лет драмы и идиотизма многие люди, помимо меня, теперь
    готовы публично заявить, что «кодексы поведения» оказались
    катастрофой — своего рода заразным социальным безумием, порождающим
    драму, политические интриги, сплетни и отрицательную полезную
    работу.

    Вот мой совет по поводу кодексов поведения:
    1. Откажитесь от него. Если у вашего проекта есть такой кодекс,
       удалите его. Единственная реальная функция, которую он выполняет,
       — это инструмент в руках тех, кто любит подливать масла в огонь.
    2. Если вы вынуждены иметь такой кодекс по бюрократическим причинам,
       замените его следующим предложением или чем-то подобным: «Если вы
       доставляете больше хлопот, чем оправдывают ваши вклады, вы будете
       отстранены».
    3. Попытки делать кодексы более конкретными и подробными не
       работают. Они только дают провокаторам возможность
       манипулировать.

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

2 months agoХранилище видео Rutube
Sergey Matveev [Tue, 30 Sep 2025 10:33:58 +0000 (13:33 +0300)]
Хранилище видео Rutube

https://habr.com/ru/companies/habr_rutube/articles/950518/
https://habr.com/ru/companies/habr_rutube/articles/919360/
https://habr.com/ru/companies/habr_rutube/articles/895286/
https://habr.com/ru/companies/habr_rutube/articles/887748/
Вот каждый раз когда вижу статьи про устройство Rutube, то меня они
впечатляют безинтересностью решений. С одной стороны почему бы и нет:
если удовлетворительно заработает, то чего париться? Но даже в ivi всё
куда любопытнее и интереснее с инженерной точки зрения было устроено.
А здесь... всё как-то прям несерьёзно выглядит, как домашняя поделка на
коленке. Но, видимо, просто мощности современного железа таковы, что
делать подобные проекты можно и относительно банально, а не как Netflix
выжимает немыслимое из FreeBSD серверов отдающих 400Gbps TLS трафика.

2 months agoМобильный трафик уже давно существенно больше компьютерного
Sergey Matveev [Tue, 30 Sep 2025 10:28:36 +0000 (13:28 +0300)]
Мобильный трафик уже давно существенно больше компьютерного

https://www.indata.org.ru/ot-kompyutera-k-smartfonu-transformatsiya-v-veb-trafike/
Поэтому когда отключается мобильный Интернет, то, видимо, тучи мобильных
устройств начинают использовать ёмкости WiFi подключённых к "проводным"
обычным провайдерам, существенно тормозя всё в округе. И ведь там же
реально просто тьма тяжеловеснейшего потребительного мультимедиа контента.
Я порой на скорости всего в пару десятков KiB/sec могу с работой общаться.

2 months agoZFS показал что у меня начал отваливаться диск
Sergey Matveev [Mon, 29 Sep 2025 17:27:34 +0000 (20:27 +0300)]
ZFS показал что у меня начал отваливаться диск

На рабочем компьютере, после очередного scrub, мне показали что с одним
из дисков не всё в порядке:

    # zpool status
      pool: zroot
     state: ONLINE
    status: One or more devices has experienced an unrecoverable error.  An
            attempt was made to correct the error.  Applications are unaffected.
    action: Determine if the device needs to be replaced, and clear the errors
            using 'zpool clear' or replace the device with 'zpool replace'.
       see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-9P
      scan: scrub repaired 2M in 00:59:21 with 0 errors on Mon Sep  1 22:54:16 2025
    config:

            NAME                STATE     READ WRITE CKSUM
            zroot               ONLINE       0     0     0
              mirror-0          ONLINE       0     0     0
                gpt/SGWD0-ROOT  ONLINE      16     0     2
                gpt/SGWD1-ROOT  ONLINE       0     0     0

dmesg, действительно, показывает ошибки:

    [2463378] (ada0:ahcich0:0:0:0): RES: 41 40 17 ff 2d 40 07 00 00 00 00
    [2463378] (ada0:ahcich0:0:0:0): Retrying command, 2 more tries remain
    [2463380] (ada0:ahcich0:0:0:0): READ_FPDMA_QUEUED. ACB: 60 00 78 f7 2d 40 07 00 00 08 00 00
    [2463380] (ada0:ahcich0:0:0:0): CAM status: ATA Status Error
    [2463380] (ada0:ahcich0:0:0:0): ATA status: 41 (DRDY ERR), error: 40 (UNC )
    [2463380] (ada0:ahcich0:0:0:0): RES: 41 40 17 ff 2d 40 07 00 00 00 00
    [2463380] (ada0:ahcich0:0:0:0): Retrying command, 1 more tries remain
    [2463381] (ada0:ahcich0:0:0:0): READ_FPDMA_QUEUED. ACB: 60 00 78 f7 2d 40 07 00 00 08 00 00
    [2463381] (ada0:ahcich0:0:0:0): CAM status: ATA Status Error
    [2463381] (ada0:ahcich0:0:0:0): ATA status: 41 (DRDY ERR), error: 40 (UNC )
    [2463381] (ada0:ahcich0:0:0:0): RES: 41 40 17 ff 2d 40 07 00 00 00 00
    [2463381] (ada0:ahcich0:0:0:0): Retrying command, 0 more tries remain
    [2463383] (ada0:ahcich0:0:0:0): READ_FPDMA_QUEUED. ACB: 60 00 78 f7 2d 40 07 00 00 08 00 00
    [2463383] (ada0:ahcich0:0:0:0): CAM status: ATA Status Error
    [2463383] (ada0:ahcich0:0:0:0): ATA status: 41 (DRDY ERR), error: 40 (UNC )
    [2463383] (ada0:ahcich0:0:0:0): RES: 41 40 17 ff 2d 40 07 00 00 00 00
    [2463383] (ada0:ahcich0:0:0:0): Error 5, Retries exhausted

SMART здорового диска:

    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
      3 Spin_Up_Time            0x0027   141   139   021    Pre-fail  Always       -       3908
      4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       165
      5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
      7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0032   010   010   000    Old_age   Always       -       66297
     10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
     11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
     12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       165
    192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       70
    193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       110
    194 Temperature_Celsius     0x0022   099   085   000    Old_age   Always       -       44
    196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
    197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
    198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
    199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
    200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

SMART на том, где ошибки:

    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       10
      3 Spin_Up_Time            0x0027   139   138   021    Pre-fail  Always       -       4008
      4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       405
      5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
      7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0032   001   001   000    Old_age   Always       -       88255
     10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
     11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
     12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       403
    192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       146
    193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       258
    194 Temperature_Celsius     0x0022   097   083   000    Old_age   Always       -       46
    196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
    197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
    198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
    199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
    200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       10

Работал более десяти лет. Пора на покой. zpool detach, вставляем новый
диск, zpool attach, через какое-то время здоровенькое зеркало снова в строю.

2 months agoHacker Laws
Sergey Matveev [Mon, 29 Sep 2025 08:04:03 +0000 (11:04 +0300)]
Hacker Laws

https://hacker-laws.com/
Можно даже в виде PDF скачать.

2 months agoОгромная ветроустановка
Sergey Matveev [Mon, 29 Sep 2025 07:53:08 +0000 (10:53 +0300)]
Огромная ветроустановка

https://naked-science.ru/community/1117205
Даже не слышал про такие штуки прежде. Выглядит футуристично.

2 months agoНаглядно о расходе топлива в ракетах
Sergey Matveev [Mon, 29 Sep 2025 07:46:46 +0000 (10:46 +0300)]
Наглядно о расходе топлива в ракетах

https://naked-science.ru/community/1117234
Помню, помню, насколько могут отличаться плотности горючего и
окислителя, и почему важно помнить про центр масс, пока они прогорают.

2 months agoTcl формат KEKS данных
Sergey Matveev [Sun, 28 Sep 2025 07:33:20 +0000 (10:33 +0300)]
Tcl формат KEKS данных

Так как формат публичных ключей у меня поменялся, из-за изменения
формата подписанных (1622a2b02d847235ed48eae27b14868bc7604c36) данных,
то ключи мне надо конвертировать. По сути просто поменять местоположение
нескольких полей.

Как же удобно это можно сделать через промежуточное Tcl представление.
kekspp -tcl <key.pub выдаст мне портянку с:

    MAGIC "cm/pub"
    MAP {
      load {MAP {
        t {STR "pub"}
        v {MAP {
          id {BIN [binary decode hex "5ad..."]}
    [...]

которую я просто в редакторе исправляю в:

    MAGIC "cm/pub"
    MAP {
      tbs {MAP {
        t {STR "pub"}
      }}
      data {MAP {
        id {BIN [binary decode hex "5ad..."]}
    [...]

и делаю keks.tcl </tmp/... | xxd -r -p >new.pub

Для MessagePack я не помню с ходу инструментов с промежуточным
представлением. Для ASN.1 точно были, но работали не всегда хорошо
(детали не вспомню за сроком давности).

2 months agoПодумываю об убирании поддержки gemini из блога
Sergey Matveev [Sun, 28 Sep 2025 07:15:10 +0000 (10:15 +0300)]
Подумываю об убирании поддержки gemini из блога

Пока не собираюсь этого делать, но мысли посещают периодически. Пока он
просто работает внутри SGBlob движка и есть не просит -- поэтому пускай
остаётся. Только на протуханием сертификата надо следить. Но ни протокол
мне очень не нравится, ни его gemtext формат. В нём на практике коряво
работают (86360e1584dc8f63d4c15c4658e856a3fbadb16d) относительные URL.

За годы существования gemini в моём блоге, не раз я слышал про проблемы
с подключением по TLS. Причём они не связаны с "почему у вас не Let's
Encrypt как у всех нормальных людей". Кто-то говорил что у меня якобы
требуется TLS 1.3 -- что не правда. Кто-то говорил что у меня требует
отправки SNI. Тут не проверял (или уже забыл результаты). Но весь этот
обязательный TLS это лишь подводные камни для контекстов применения
протокола. В нём много что может пойти не так.

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

Создавалось (59fdf60075de1bb380561096b618f420c9b89ae6) впечатление, что
всем этим занимаются молодые люди, которые просто не в курсе про простые
HTTP+HTML Web-ы, про gopher:// и что всё уже было изобретено прежде.
Конечно, современный HTTP/2 + QUIC + JS-applications это совсем другая
экосистема.

Как-то меня спросили не собираюсь ли я добавлять поддержку
комментирования в gemini версии блога. Вот этого уж точно не будет.

Но я ленивый, поэтому пока ничего не предпринимаю ещё. Мне и TLS не
нравится фактом своего существования (вместо IPsec или всяких там
PQConnect (90a18e8578157c41a03c56013d1d05fb59f83a0c)), но его тоже
поддерживаю.

2 months agoGNU style and diction
Sergey Matveev [Sun, 28 Sep 2025 07:13:07 +0000 (10:13 +0300)]
GNU style and diction

https://www.gnu.org/software/diction/
Никогда не слышал (или не обращал внимания) на вот такую утилитку,
которая показывает сложные предложения, косяки в использованиях фраз и
всякое подобное. Я даже не слышал про подобный класс программ в целом.
Попробовал на некоторой своей документации -- действительно, отличные
советы даёт!

2 months agoKEKS/CM v0.1.0
Sergey Matveev [Sun, 28 Sep 2025 07:02:41 +0000 (10:02 +0300)]
KEKS/CM v0.1.0

https://soatok.blog/2021/11/17/understanding-hkdf/
На доработку моего KEKS пока не особо хватает времени, а на работе
проекту, где он бы был задействован, пока ещё не давали старт. Но
потихоньку посещают то одни, то другие мысли и поэтому немного
дорабатывается.

С момента v0.0.0 (0f3b3d1cd63008298fec7a4d1fefcb7740eccf9c) "нулевого"
релиза, я поменял формат подписанных сообщений. Вместо:

    signed {
        load {
            t -- тип данных
            v -- сами данные, возможно отсутствуют (detached)
        }
        sigs [{
            tbs {...}
        }]
    }

где подпись считалась над: detached-data || /load || /sigs/./tbs

теперь:

    signed {
        tbs {
            t -- тип данных
        }
        data -- сами данные, возможно отсутствуют (detached)
        sigs [{
            tbs {...}
        }]
    }

и подпись над data || /tbs || /sigs/./tbs. Что делает detached-data
подписи неотличимыми от не-detached. Плюс в tbs можно далеко не только
"t" пихать, но и произвольные сопутствующие data штуки, не специфичные
для подписи.

Почему я раньше так не сделал? Почему "tbs" и "data" за счёт
особенностей сортировки KEKS прекрасно в нужном порядке при этом лежат и
имеют понятные всем имена? Видимо, должно отлежаться в голове.

А ещё я обнаружил, что выходы HKDF-Extract не должны сразу же попадать
на входы в другие HKDF-Extract-ы. Речь про key ratcheting и подмешивание
ключей в процессе выработки ключей. Так делают и в Noise и даже в TLS 1.3
прям явно указано что между Extract должен быть хотя бы один Expand. Всё
же корректное использование HKDF -- не столь тривиальная штука. На
наличие Expand между Extract что-то упорно не обращал внимания.

Плюс в xchapoly-krkc DEM убрал явную передачу MAC-а, так как она всё
равно присутствует в commitment-е. Это в пустую потерянное место было.

2 months agoСнова уязвимость в io_uring
Sergey Matveev [Fri, 26 Sep 2025 07:52:18 +0000 (10:52 +0300)]
Снова уязвимость в io_uring

https://www.opennet.ru/opennews/art.shtml?num=63946
Ну почему я не удивлён?
c90bc350818e72ab786ff46ad4aae4739ca98c8b
22505814479aaf4c678693c54e36f8cc148b4b08