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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    use strict;
    use warnings;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17 months agoХранение SQLite в Git
Sergey Matveev [Wed, 1 Nov 2023 16:04:47 +0000 (19:04 +0300)]
Хранение SQLite в Git

https://garrit.xyz/posts/2023-11-01-tracking-sqlite-database-changes-in-git
Знал и помнил про этот трюк с:
    git config diff.sqlite3.binary true
    git config diff.sqlite3.textconv "echo .dump | sqlite3"
    echo "*.sqlite diff=sqlite3" > .gitattributes
но так никогда и не возникало у меня use-case чтобы на практике увидеть.

17 months agoАдекватность Hyperbola GNU/Linux-libre
Sergey Matveev [Wed, 1 Nov 2023 15:42:31 +0000 (18:42 +0300)]
Адекватность Hyperbola GNU/Linux-libre

https://wiki.hyperbola.info/doku.php?id=en:philosophy:incompatible_packages
Большой список, даже с отдельными страничками, всякого ПО, которое не
входить в этот дистрибутив. Многое я конечно одобряю, типа поделий
Поттеринга, но у них явно какой-то больной маразм есть на тему
"корпоративного ПО". Всё что касается Zstandard они не включают, потому что:

    Package is free and permissive licensed but nevertheless bloat
    within especially social and economical aspects as some projects
    implement it as mandatory dependency without any kind of choice left
    to fast select another interface and dependency. It is a corporate
    project imposing goals of free, libre culture and destroying other
    free software with imperative things (breaks portability, ignores
    backwards compatibility, and replaces existing services, forcing
    into adoption)!

Хорошо, допустим я чего-то не знаю, чего-то не учитываю? Но ведь
аналогичное написано и для банального Redis:

    Package is free and permissive licensed, but in its whole approach
    only usable in combination with specialized software. It is a
    Corporate project imposing goals...

Нет уж, явно у них с головой что-то не так. Ибо качество кода,
документации Redis выше всяких похвал, да и автор явно любит свой
проект и много писал интересного в блоге, это явно в душой сделанный
проект, а не состряпанный в душных офисах корпораций за деньги :-). Да
даже если бы было и так, то... что меняется то? Он как технический
инструмент становится хуже? Его качество падает? Zstandard действительно
сделан внутри Facebook, но по большей части известным в своих кругах
Yann Collet-ом. Ибо не удивительно, что богатая компания для выполнения
своих задач может и нанимает крутейших специалистов в своём деле.

А ещё у них есть отдельное заявление что для документации man-ов
достаточно и HTML в любом проявлении для неё это плохо. Тоже, аналогично
бред. Даже сами авторы идеи man-ов (когда я готовился к рассказу про
историю Unix (df0dda77f31e6a3823a10ef99a8182b66e780327)) говорили и
говорят, что ни для чего иного они не предполагались как для кратких
справок о небольших командах, то что можно бы было пихать в --help.

17 months agoAV1 в железе Apple и обязательность в Android 14
Sergey Matveev [Wed, 1 Nov 2023 11:17:41 +0000 (14:17 +0300)]
AV1 в железе Apple и обязательность в Android 14

https://fullystacked.net/posts/av1/
https://news.ycombinator.com/item?id=38083588
https://stackoverflow.com/questions/75459594/why-doesnt-edge-support-avif-images
AV1 активно форсируется даже в Apple экосистеме. Что вообще вряд ли
говорит о нём хорошо, ибо Apple ничего не поддерживает что не обмазано
бы было с ног до головы патентными отчислениями. Ходят слухи, что
Microsoft, именно поэтому и не хочет связываться ни с AV1, ни с AVIF.
Ибо все эти патенты на Западе -- минное поле. Также как и Google выпилил
поддержку JPEG XL (1a632f94b854e95a7ef76a5511734d596b859ef7) -- тоже
якобы из-за непоняток с патентами. Короче сплошная политика и делёж денег.

Но мне AV1, чисто с практической точки зрения, очень нравится: он
(SVT-AV1) тупо ощутимо быстрее кодирует с куда лучшим качеством чем
другие свободные аналоги. И не надо с указанием кучи опций париться при
кодировании.

17 months agoОбфускация времени нажатия/передачи клавиш в OpenSSH
Sergey Matveev [Wed, 1 Nov 2023 11:01:59 +0000 (14:01 +0300)]
Обфускация времени нажатия/передачи клавиш в OpenSSH

https://habr.com/ru/companies/ruvds/articles/770792/
http://undeadly.org/cgi?action=article;sid=20231004154107
Определять введённый текст, особенно литературный, анализируя время
между нажатиями -- довольно хорошо выходит на практике. Недавно были
новости что и просто по громкости нажатий тоже можно 90%+ нажатий
распознавать. У меня обновлённый OpenSSH с включённой обфускацией --
разницы при интерактивной работе не заметил никакой, не мешает ничуть.

17 months agoДоверие к CA после MitM-а на jabber.ru/xmpp.ru
Sergey Matveev [Wed, 1 Nov 2023 10:34:25 +0000 (13:34 +0300)]
Доверие к CA после MitM-а на jabber.ru/xmpp.ru

https://dxdt.ru/2023/11/01/11377/
http://stolyarov.info/node/404
https://mjg59.dreamwidth.org/66907.html
В 62233ed8f4fd2f9625cde5f3058b33eb36dc99b6 упоминал о нашумевшем
обнаруженном факте MitM-а на jabber.ru/xmpp.ru серверы. Я известный не
сторонник PKI и всего подобного, но даже я не говорю что Let's Encrypt
тут был чем-то виноват. Верно автор первой статьи замечает, что:

    “система хорошо известных УЦ” и раньше должна бы “вызывать доверие”
    равно в пределах разумной модели угроз, то есть – доверять ей можно
    только в сугубо определённых, узких случаях

Преобладающая часть X.509 сертификатов в WWW это так называемые "DV"
(domain validated). Что они (или УЦ) аутентифицируют? То, что трафик до
заданного домена (до заданных resolved IP) идёт и автор имеет над ними
какой-то контроль. Это не исключает наличия влияния хостера/провайдера
или подмены DNS записей.

Много говорили что многое чего решает Certificate Transparency. А что он
решает? Ну вот благодаря нему мы увидели что были выпущены как-бы не
легитимные сертификаты MitM-ом. Обнаружили это. Дальше то что? Более
того, это обнаруживает сам CA и типа почти случайно, из-за протухшего
сертификата. Но конечный пользователь не предполагается что должен
лазать в CT журнал для проверок. Экосистема CT не дружелюбна к тому
чтобы у себя сделать полную синхронизацию локально -- я пробовал, они
официально не советуют это. А лазать в CT каждый раз -- значит сливать
данные о том, куда ты ходишь и что посещаешь. В итоге от наличия CT
конечному пользователю ни холодно, ни горячо, а владельцу домена
предлагают постоянно следить за журналами CT? Следить за костылём
априори ущербной задумки?

Где-то помогла бы DNSSEC-подписанная CAA-запись в CA, говорят. То есть
зависеть от ещё одной вообще централизованной PKI системы, чтобы хоть
как-то сделать получше? Тогда почему бы сразу в ней и не хранить
аутентифицирующую DV информацию в виде DANE записей? Но нет, форум
броузеров не принимает это решение. Да и невозможно требовать DNSSEC
наличия, ибо, насколько помню, даже не все корневые зоны его вообще
начали использовать, не говоря про крайне малое количество вообще
подписанных зон. Ну и я молчу про то, что тут вообще единственный якорь
доверия (полностью управляемый НАТО).

Вообще-то изначально PKI задумывался как нечто, куда приходят с кипой
документов, информация из которых прописывается в сертификате. И
Столяров в своей заметке верно говорит, что это означает что нам бы
приходилось ездить, грубо говоря, в США, чтобы получать EV-grade
сертификаты. Чего, очевидно, никто (ну кроме банков там и подобных
серьёзных организаций) делать не будет. Поэтому будут оставаться
DV-grade сертификаты. Поэтому MitM прекрасно даже на уровне хостера
будет возможен. Поэтому на кой чёрт все эти свистопляски с Let's Encrypt
и прочими DV-grade CA? Ну да, чтобы не нажимать лишний раз на кнопочку
"всё равно доверить данному сертификату". Но только не надо заливать и
бросаться словами про безопасность.

17 months agoЛичинка заблокировала собачку в замке
Sergey Matveev [Wed, 1 Nov 2023 10:25:55 +0000 (13:25 +0300)]
Личинка заблокировала собачку в замке

https://dxdt.ru/2023/10/31/11370/
Пример суперпозиции в омонимах.
* из-за перекоса
* в одной из комнат

17 months agoПолитика Вассермана
Sergey Matveev [Wed, 1 Nov 2023 09:43:18 +0000 (12:43 +0300)]
Политика Вассермана

https://awas1952.livejournal.com/
В этом блоге давно не упоминаю всякую политику. Ибо нафиг надо, разве
что показать каких позиций ты придерживаешься и какого мнения, чтобы
понять кто полный гондон, а кто нормальный чувак. А то сложно забывать
что тот или иной человек сказал и разделять это с его профессиональной
работой и продолжать наблюдать за нею.

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

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

17 months agoПопытка человека использовать Bcachefs
Sergey Matveev [Wed, 1 Nov 2023 09:25:41 +0000 (12:25 +0300)]
Попытка человека использовать Bcachefs

https://kevincox.ca/2023/06/10/bcachefs-attempt/
https://www.opennet.ru/opennews/art.shtml?num=60021
Какой выбор современных вменяемых файловых систем сейчас имеется? Чтобы
и контрольные суммы велись и возможности снимков были и RAID-ы заменяли
(RAID write hole чтобы не было)? Чтобы и прозрачное сжатие (повышающее
производительность в целом, как правило). По сути это только
copy-on-write выбор. ZFS -- выбор очевиден, но только не для Linux,
в котором проблемы с этой ФС. BTRFS -- известна корявостью и может
заменить только простейшие RAID0/RAID1.

И вот я про себя думал что может быть в GNU/Linux мире всё же Facebook,
когда-то создавший bcache, но принесёт нормальную CoW современную ФС? С
bcache, давным давно, у меня были самые положительные впечатления (я
тогда ещё не вернулся на FreeBSD, а был под GNU/Linux). Но тут у
человека не вышло с ней подружиться -- он даже потерял данные. Что ж всё
так продолжает быть печальным в GNU/Linux мире?

Но я не злорадствую, в отличии от не уважаемой мною BTRFS, а хотел бы
всего хорошего Bcachefs. Правда вот бросается в глаза их фраза на сайте
о том, что проверено на 100TB+ данных... блин, да у меня в одном моём
сервере четыре диска это уже 72TB. Речь должна о многих петабайтах идти,
чтобы звучать хоть сколько то серьёзно. Как ZFS уже чуть ли не двадцать
лет вовсю пашет в production системах огромных.

17 months agodn42 сеть
Sergey Matveev [Wed, 1 Nov 2023 09:21:41 +0000 (12:21 +0300)]
dn42 сеть

https://dn42.eu/Home
https://habr.com/ru/articles/760866/
Сеть энтузиастов объединяющихся VPN-ами и запускающих BGP поверх всего
этого добра и fd00::/8 адресного пространства. Имеют собственный реестр
учёта и выдачи IP-адресов и номеров AS.

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

17 months agoYggdrasil обновлён до v0.5
Sergey Matveev [Wed, 1 Nov 2023 09:14:28 +0000 (12:14 +0300)]
Yggdrasil обновлён до v0.5

https://yggdrasil-network.github.io/2023/10/22/upcoming-v05-release.html
https://www.opennet.ru/opennews/art.shtml?num=60030
Новая версия не совместима с предыдущими. Поэтому куча участников
текущей глобальной Yggdrasil сети более не работают. Нужно вручную
обновляться. Вчера вот NNCP выпустил с обновлением Yggdrasil
зависимости, чтобы в v0.5 мире могла заработать. Вообще не очень конечно
приятно что за несколько недель, но внезапно всем всё надо обновлять. Но
сеть всё же не Tor: не централизованная, каждый сам себе может сделать
свой отдельный mesh, а глобальная Yggdrasil не шибко то больших масштабов.
Зато не паришься в обратной совместимостью, поддержкой всякого старья.

17 months agoЗачем ACPI?
Sergey Matveev [Wed, 1 Nov 2023 08:48:05 +0000 (11:48 +0300)]
Зачем ACPI?

https://mjg59.dreamwidth.org/68350.html
https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Security_risks
https://bugzilla.kernel.org/show_bug.cgi?id=204807
https://www.welivesecurity.com/2022/04/19/when-secure-isnt-secure-uefi-vulnerabilities-lenovo-consumer-laptops/
https://www.csoonline.com/article/575447/gigabyte-firmware-component-can-be-abused-as-a-backdoor.html
https://security.stackexchange.com/questions/61785/firmware-backdoor-protection
Ещё одно пояснение откуда растут ноги у ACPI. Не забывая, что это один
из backdoor-ов в компьютере.

18 months agoOpenBSD избавляется от syscall
Sergey Matveev [Tue, 31 Oct 2023 12:30:52 +0000 (15:30 +0300)]
OpenBSD избавляется от syscall

https://marc.info/?l=openbsd-tech&m=157488907117170
https://marc.info/?l=openbsd-tech&m=157489277318829&w=2
https://marc.info/?l=openbsd-tech&m=157507151909740&w=2
http://stolyarov.info/guestbook/archive/8/
http://stolyarov.info/guestbook/archive/8/#cmt126
Нельзя теперь просто так брать и делать syscall из ассемблерного кода.
Надо через libc это делать. Помню что и прежде они предупреждали о том,
что надо через libc делать вызовы и в Go какой-то версии эта особенность
уже учитывалась. Но теряется совместимость со статическими бинарями.

Столяров негодует и теперь этой ОС для него не существует. А я вот не
понимаю почему это всё так катастрофично. Что за дрочево на всю эту
совместимость? Любая программа должна мочь в любой момент быть
пересобранной из исходных кодов. С обновлениями ОС надо будет всё
пересобирать. Что в этом такого? Или боязнь того, что в новой версии,
под которую надо пересобирать, будут и в API обратно несовместимые
изменения и поэтому уже не выйдет пересобрать? Ни в коей мере не могу
сказать что одобряю или симпатизирую тому что происходит в OpenBSD, но
мне их изменения никак не мешают например. Да и, насколько понимаю,
статические бинари всё равно можно собрать, что они и сами делают в
базовой системе.

18 months agoРазница между OpenBSD, FreeBSD, NetBSD and DragonFly BSD
Sergey Matveev [Mon, 30 Oct 2023 17:30:57 +0000 (20:30 +0300)]
Разница между OpenBSD, FreeBSD, NetBSD and DragonFly BSD

https://unixsheikh.com/articles/the-main-differences-between-openbsd-freebsd-netbsd-and-dragonflybsd.html
Полуюмористическая статья представляющая каждую из этих ОС как какое-то
транспортное средство. С детства считал что самая крутая машинка это
Мерседес. Так вот, судя по статье, я как-раз на нём и езжу :-)

18 months agoТестовые примеры для ГОСТ TLS 1.3
Sergey Matveev [Sun, 29 Oct 2023 17:39:59 +0000 (20:39 +0300)]
Тестовые примеры для ГОСТ TLS 1.3

https://datatracker.ietf.org/doc/html/rfc9367
Увидел тут что в RFC для ГОСТ TLS 1.3 вставлены тестовые примеры. Не
отмечено что они сделаны мною, но это есть в каком-то ТК26 документе.
Оформление и вообще всё сопровождение и ведение, конечно же, уже делал
не я. Даже сам вывод их -- чисто мой отладочный вывод который был мне
удобен для многих полей. Но там только два примера из четырёх разных
сценариев.

Это всё генерировалось из обмазанного сверху донизу отладочными
print-ами Go 1.12 кода, в котором реализован не просто ГОСТ TLS 1.3, но
и куча всяких других возможностей TLS 1.3 протокола, штатно
отсутствующих в родной crypto/tls реализации. Благо Go код достаточно
простой и это всё было не сложно добавлять. И запускались
детерминированные по поведению тесты, где PRNG был подсунут
детерминированный. Много мегабайт вывода сохранялось в текстовый файл. А
дальше Perl скрипты, которые выдирали нужную информацию из получившихся
логов и вставляли в заранее полуавтоматически подготовленный HTML
шаблон, в котором, кроме таблиц, по сути только всякие <pre>-вставки с
plaintext-ом и были.

"HELO gost.example.com\r\n" это моя дань SMTP протоколу, в качестве
первого тестового application data.

18 months agoПосмотрел "Повелитель ветра"
Sergey Matveev [Sun, 29 Oct 2023 13:25:15 +0000 (16:25 +0300)]
Посмотрел "Повелитель ветра"

https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B2%D0%B5%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C_%D0%B2%D0%B5%D1%82%D1%80%D0%B0
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%8E%D1%85%D0%BE%D0%B2,_%D0%A4%D1%91%D0%B4%D0%BE%D1%80_%D0%A4%D0%B8%D0%BB%D0%B8%D0%BF%D0%BF%D0%BE%D0%B2%D0%B8%D1%87
Фильм про относительно недавний кругосветный перелёт Фёдора Конюхова на
воздушном шаре. Понравился, мог бы рекомендовать. Хотя из недавно
просмотренных я бы ещё раз пересмотрел "Вызов"
(62b23efafa08da98884dac04c718b409d091f6ee). Очень круто выглядят облака
и циклоны в фильме -- насмотреться не мог.

18 months agoЧеловек размещает свою автономную систему дома
Sergey Matveev [Sun, 29 Oct 2023 13:09:00 +0000 (16:09 +0300)]
Человек размещает свою автономную систему дома

https://aaka.sh/posts/20230129-bgp-at-home.html
https://news.ycombinator.com/item?id=34853136
https://varunpriolkar.com/2018/12/bgp-on-a-shoestring-the-definitive-guide/
Интересно про всё это читать и хочется поиграться со своими собственными
IP-адресами, ASN, BGP и multihoming. Только дорого и никакой практической
пользы не могу придумать.

18 months agoОх уж эти сны
Sergey Matveev [Fri, 27 Oct 2023 13:43:59 +0000 (16:43 +0300)]
Ох уж эти сны

Лёг я поздно, ибо дочитывал (934e7563c300bba059c4df350ae7a53ce09e4bbb)
Coders At Work. Забыл поставить будильник и проспал аж до 12:30, просрав
работу. Но когда проснулся, то было довольно мрачно и темно -- я думал
что только ранее утро. Посмотрел в окно -- ничего не видно. Надел очки
-- всё равно ничего не видно, но понял что уже из-за метели. В этом
полугодии ещё не видел снега и первая мысль: ох сколько ж времени то я
проспал!

Но до сих пор частично помню пару снов не связанных за эту ночь. В одном
из них я был у родителей дома -- до сих пор всё продолжает мне их дом
сниться (2a901a3bc832f0936979328c6527ccdc493cbaa7). Был какой-то ясный
солнечный день, но на горизонте вдалеке что-то горело -- много чёрного
дыма уходило в небо. А потом непонятно что происходило, но волной по
всей земле начало появляться пламя, асфальт как-бы загорался. Я во сне
сказал, что вот та дымящаяся штука типа рванула и на десятки (сотни? она
очень далеко) километров как дождём топливом всё залило и оно
воспламенялось. И мы в квартире, на 13-ом этаже, чувствовали повышение
температуры. А потом, типа секунд через десять, всё разом прекратилось,
как не бывало. По радио (во сне) и ТВ никаких новостей о происшествии.

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

И вот что за фигня только не приснится после чтения Coders At Work?

18 months agoКарманный компьютер фанатов научной фантастики
Sergey Matveev [Fri, 27 Oct 2023 10:16:12 +0000 (13:16 +0300)]
Карманный компьютер фанатов научной фантастики

https://storage.yandexcloud.net/wr4img/439250_149_i_005.png

18 months agoПрочитал Coders At Work
Sergey Matveev [Thu, 26 Oct 2023 22:04:56 +0000 (01:04 +0300)]
Прочитал Coders At Work

Которую начал 70e91862259101f51bd34bc4fd28d35d817d2140. Жутко
вдохновляющая книга! Меня ведь не раз уже посещали мысли что может быть
ну это всё программирование нафиг и пойти заниматься чем-то совсем
другим, пускай и низкооплачиваемым, но мне для жизни много и не надо
(тем более всё равно ж один живу). Ибо всё больше и больше думаю что я
банально уже не в состоянии решать задачи, и даже на всякие письма в
рассылке, не говоря о доработках, касающихся NNCP -- даже просто нет
желания читать полностью и думать обо всём этом.

Но читая интервью со всеми этими хакерами, вижу что моё направление
мышления, выводов, мнений, отношений, приоритетов и вообще задаваемых
вопросов -- неимоверно схоже и похоже. Споры которые возникали с
опытными коллегами -- такие же как и у этих разработчиков. Как они
подходят к задачам/проблемам, как пишут код, когда (не) пишут тесты, как
отлаживают, как читают код и где граница что его надо переписывать -- у
меня всё полностью аналогично и схоже (как и у коллег которых я серьёзно
уважаю как профессионалов). Отношение/мнение этих хакеров к формальных
доказательствам, literate programming, вопросам на собеседованиях (все
считают их просто бессмысленными), важностью документации и умения хоть
сколько-то грамотно говорить на человеческом языке -- я полностью на
одной волне со всеми ними. Что такое простой и красивый код, насколько
это важно -- аналогично. И ни у кого нет каких-то совсем уж выделяющихся
мнений и отношений ко всему что сейчас происходит в мире
программирования. Ну... только Кнут выделяется на фоне всех, но даже он
заметил, что, например, не то что не мог бы рекомендовать читать свой
Art Of Computer Programming от корки до корки, но даже не уверен смог ли
сейчас он сам это проделать.

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

Хакеры которые занимаются JavaScript -- имеют немного другие ценности, и
например плюются от Perl. Однако остальные, кто из мира Unix/Си и других
прекрасных вещей -- очень положительно о нём отзываются, что мне очень
приятно видеть, что крутые хакеры с которыми я на одной волне, точно так
же уважают и используют этот язык. Но Кнут заметил, что программирование
схоже религии -- есть вещи/ценности/верования которые объективно не
могут у всех сойтись.

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

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

18 months agoDeathcore в переходе
Sergey Matveev [Thu, 26 Oct 2023 12:53:44 +0000 (15:53 +0300)]
Deathcore в переходе

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

18 months agoGemini, Mercury, Spartan, Nex, Guppy протоколы
Sergey Matveev [Wed, 25 Oct 2023 22:05:43 +0000 (01:05 +0300)]
Gemini, Mercury, Spartan, Nex, Guppy протоколы

gemini://gemini.conman.org/boston/2023/10/25.1
https://geminiprotocol.net/
gemini://zaibatsu.circumlunar.space/~solderpunk/gemlog/the-mercury-protocol.gmi
https://portal.mozz.us/spartan/spartan.mozz.us/
http://portal.mozz.us/nex/nex.nightfall.city/nex/info/specification.txt
gemini://gemini.dimakrasner.com/guppy-v0.3.1.gmi
Как только люди не продолжают изобретать новые Gemini протоколы, упрощая
и упрощая всё, даже доходя до UDP. Автор первой статьи предупреждает о
пагубности последней идеи. А у меня чешутся руки написать своё видение
протокола из этой серии, но сдержусь.

18 months agoPyPI и pygost, pyderasn пакеты
Sergey Matveev [Wed, 25 Oct 2023 14:44:19 +0000 (17:44 +0300)]
PyPI и pygost, pyderasn пакеты

https://pypi.org/project/pygost/
https://pypi.org/project/pyderasn/
Вижу что после удаления проекта с PyPI, на его месте всё равно появился
проект (прежде выдавалась честная 404). Какие-то заглушки с описанием:

    A package to prevent Dependency Confusion attacks against Yandex.

Почему PyPI вообще разрешает что-то создавать поверх старого имени? Мда...

18 months agoEBCDIC не совместим с GDPR
Sergey Matveev [Wed, 25 Oct 2023 13:33:37 +0000 (16:33 +0300)]
EBCDIC не совместим с GDPR

https://shkspr.mobi/blog/2021/10/ebcdic-is-incompatible-with-gdpr/
Из-за того, что банк до сих пор использует древние компьютеры IBM с
EBCDIC кодировкой, в которой нет всяких "á, è, ô, ü", то на него клиент
подал в суд за нарушение GDPR, ведь его имя не смогли корректно ввести в
систему.

18 months agoПробую использовать nnn
Sergey Matveev [Tue, 24 Oct 2023 14:06:46 +0000 (17:06 +0300)]
Пробую использовать nnn

https://github.com/jarun/nnn
Почти всё время я перемещаюсь и оперирую файлами просто в zsh. Но
иногда, когда надо или оглядеть какую-нибудь мешанину и/или выборочно из
неё что-то удалить/скопировать/переместить, то запускаю ортодоксальный
файловый менеджер (7efac46178ded122377f4d32485a3ab02d9574ea) Midnight
Commander, ибо подобными (187fbd62f66088016c61da19a36f8f0a7b9a48fb
Volkov Commander, Far Manager (код ещё сидел под Microsoft Windows)) я
пользовался ещё с детства.

На днях надо было попрыгать по ряду директорий с фотографиями и
запускать в них "sxiv -t ." для preview просмотра их содержимого.
Запускать sxiv натравив на все директории -- слишком большой объём,
слишком долго ждать. Но в MC каждый раз приходилось набирать руками этот
sxiv вызов. На n-ый раз я быстро сделал one-line "foo" скрипт, тупо
чтобы меньше набирать пришлось.

Снова задался вопросом: есть ли приемлемая замена MC? Слышал я про
ranger, vifm, nnn и ещё наверное какие-то. ranger сразу отпадает:
написан на Python, значит будет тормозить, а мне надо чтобы всё
мгновенно запускалось. vifm когда-то пробовал, но как-то всё не шибко
было удобно с ходу. Главное что я хочу: progress bar отображающий cp/mv
операции, со скоростью и ETA. Ну и быстрое перемещение между двумя
местами, чтобы из одного в другое быстро что-то перебрасывать --
собственно, две панельки поэтому и удобны в ортодоксальных менеджерах.

nnn при выходе иногда оставляет coredump, с ходу пока не понял почему.
Но компилируется из одного .c файла, занимает мизерное место. С одной
стороны он не ортодоксальный и нет двух панелек -- но есть tab-ы (они их
называют контекстами), между которыми можно быстро прыгать tab-ом или
циферками. Быстрый fuzzy-like поиск и перемещение: "/", вводим часть
имени, если в выборке остался один элемент (и это директория), то сразу
переходим в него. Непривычно, не прощает опечаток, но нажатий клавиш
минимум.

По-умолчанию он использует xdg-open для открытия файлов. XDG ненавижу.
Но достаточно export NNN_OPENER=zsh-mime-open и мои .mailcap/.mime.types
файлы начинают работать как и везде и всякие .jxl сразу же начинают
просматриваться. Хочется мне запускать "sxiv -t ."? Просто добавляю plug
в виде NNN_PLUG='s:!sxiv -t .*' -- нажимая ";s" в nnn, будет запускаться
sxiv команда.

Выделять что-то, переключаться между контекстами и делать
вставку/копирование -- требует минимум нажатий клавиш. Прогресса
никакого нет. Точнее штатная документация говорит что под BSD системами
вы можете самостоятельно отправлять SIGINFO сигнал
(37bc49efafc88667a4bd371133e843ddbc6c0ce3,
b10b27905edfce6ad8054172f508ada4e3ebc09f,
954a5de29f23ee16e037b107e5847fd33799246e) и видеть прогресс копирования.
Но mv прогресс не покажет. Может быть можно написать собственный плагин,
который возьмёт selection и самостоятельно раскидает всё в tar и pv
например? Без проблем! Добавляю "c"-plug: NNN_PLUG='c:!_nnn-cd*' и
создаю _nnn-cd исполняемый файл:

    #!/usr/bin/env zsh
    set -e
    sel=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
    [[ -s $sel ]]
    read -d $"\x00" -A tgts < $sel || :
    size=$(du -A -c $tgts)
    size=(${=size})
    size=${size[$#size - 1]}
    for tgt ($tgts) ( cd $tgt:h ; tar cf - $tgt:t ) |
    pv --wait --interval 0.5 --size ${size}k |
    tar xf - --options read_concatenated_archives

В zsh можно сразу же удобно в массив прочитать null-terminated список
файлов selection-а. Натравливаю на всё это du чтобы хотя бы примерно
иметь представление о размере данных. А далее для каждой цели делаю по
tar архиву, чтобы в каждом из них только последний элемент явно
копировался (то бишь "music", а не "home/stargrave/music").

В nnn нельзя просто взять и указать "cd куда-то". Или переходить в ~,
или в /, или в какой-то bookmark и от них уже через "/" отправляться в
нужную директорию. Но ведь plugin может быть просто как-раз cd команда
же. А у меня есть время от времени используемая "cf", которая запускает
bfs и fzf, которыми можно fuzzy выбрать директорию для перехода.
NNN_PLUG='c:!_nnn-cd*;C:!_nnn-cd /*'

    #!/usr/bin/env zsh
    set -e
    [[ -n "$NNN_PIPE" ]]
    autoload ~/.zsh/functions/cf
    cf $1
    print -n -- "0c$PWD" > "$NNN_PIPE"

Последняя строка -- протокол взаимодействия с nnn через pipe. Тут мы ему
говорим чтобы сменил директорию. ";c" запустит интерактивный fzf от
текущей директории, а ";C" -- от корня.

Midnight Commander умеет и прозрачно переходить в архивы. nnn же
использует archivemount утилиту для этого, которая поверх FUSE монтирует
archive. Впервые использовал, но так как она работает через libarchive,
через которые вообще все tar/cpio/whatever в FreeBSD сделаны, то значит
поддерживает всё что нужно сразу же. Действительно -- работает. Во
временной директории nnn из под пользователя она всё монтирует. С
.tar.zst проблем не нашлось.

Когда-то я ещё использовал возможности подключения к FTP или SFTP в MC,
но уже наверное годами ни разу не использовал эти возможности, обходясь
ручным вызовом ftp/sftp ради единичных файлов.

Похоже, что nnn более чем удовлетворителен и годится на замену MC,
который тянет за собой GLib, libssh2 и S-Lang.

18 months agoMitM на уровне ДЦ на jabber.ru/xmpp.ru
Sergey Matveev [Sun, 22 Oct 2023 17:07:54 +0000 (20:07 +0300)]
MitM на уровне ДЦ на jabber.ru/xmpp.ru

https://notes.valdikss.org.ru/jabber.ru-mitm/
https://www.opennet.ru/opennews/art.shtml?num=59965
https://www.linux.org.ru/news/security/17386475
https://dxdt.ru/2023/10/21/11256/
https://habr.com/ru/news/768914/
https://www.devever.net/~hl/xmpp-incident
https://blog.thc.org/https-interception-by-a-state-actor-in-germany
Все новостные ленты забиты этой новостью.

18 months agoСпросили паспорт при покупке пива
Sergey Matveev [Fri, 20 Oct 2023 20:48:23 +0000 (23:48 +0300)]
Спросили паспорт при покупке пива

Брал сегодня пиво в магазине. Даже не для себя (я то вообще ничего
алкогольного не пью). Попросили показать паспорт. Стукнуло 36, а не
поверили что я дорос.

18 months agoВо второй версии udpobfs используется TLS 1.3
Sergey Matveev [Thu, 19 Oct 2023 15:59:28 +0000 (18:59 +0300)]
Во второй версии udpobfs используется TLS 1.3

В udpobfs (552979396ad8de1f3bbeb409f1c2a65f7446806b,
77002b8c0c2ee7bf0840141f8d972f63672f4d92) прежде не было ничего что
касается handshake, что не шибко удобно конечно.

Отталкиваясь от того, что уж TLS то должен работать, то пускай сначала
устанавливается TLS 1.3 соединение, а уж из него экспортируется ключевой
материал. И аутентификация двусторонняя появляется сразу же сильная, на
основе X.509 ключевых пар.

Также осуществляется посылка пустых (payload) пакетов каждые десять
секунд, если легитимного трафика нет. Ну и heartbeat по TLS каналу.
И сколько угодно параллельно сессий может работать, в отличии от
предыдущего варианта.

Вместо полноценного шифра использую BLAKE3 XOF который XOR-ится с
данными. На маленьких пакетах это немного медленнее ChaCha20-Poly1305,
но те кто приближается к килобайтному размеру -- уже быстрее. Poly1305
соответственно заменён BLAKE3-MAC. Для выработки ключей -- BLAKE3-KDF.
Размер MAC-а увеличил с 5 до 6 байт, за счёт уменьшения передаваемого
номера на 1 байт -- этого всё равно достаточно, судя по всему.
Шифрование заголовка Blowfish-ем так и осталось.

18 months agoБыстрое создание CA и EE ключевых пар в zeasypki
Sergey Matveev [Thu, 19 Oct 2023 08:02:42 +0000 (11:02 +0300)]
Быстрое создание CA и EE ключевых пар в zeasypki

Упоминал в 47b11bfd222d9f3f03664035e4fb4ca32cfa75de о том, что сделал
скрипт для управления X.509 сертификатами. С ним же ещё и генератор DNS
зон (d4eadab571bf5e8ea00d19598f129a708a322d15) интегрирован и он может
самостоятельно находить и создавать DANE записи.

Вот вчера понадобилось быстро сделать какой-нибудь CA и пару EE
сертификатов. Учитывая что zeasypki я отнюдь не каждый день пользуюсь,
то в 100% случаев начало работы с ним начинается с вызова без
аргументов, а дальше по usage становится всё понятно, что не перестаёт
радовать.

    $ zeasypki ca eddsa ca
    $ zeasypki new ee/eddsa/ca/server
    $ zeasypki new ee/eddsa/ca/client
    $ zeasypki keypair ee/eddsa/ca/server > server.pem
    $ zeasypki keypair ee/eddsa/ca/client > client.pem
    $ cp ca/eddsa/ca/cer.pem ca.pem

А ещё недавно менял шифрование ключей в нём с GnuPG на age. Ровно по
одной строчке в key_encrypt/key_decrypt функциях пришлось поменять.

Я прям вовсю ухожу с GnuPG и OpenPGP в целом -- они по сути остаются как
бы только для WoT/доверия и для почты. Прямо вот сейчас в рассылке
OpenPGP снова ругань Коха со всеми остальными и категорическое неприятие
им предлагаемых изменений, которые похоже прям вот-вот уже приведут к
конкретному расколу в стандарте и реализациях. А я уже вовсю подписываю
и релизы и Git-тэги (c5e9b245012a5a1ac1732b2c94fc89d9e760efe3,
d2890179a8bbb7bc3f2dcd807faa906e6ab78224), а также уже не оставил и
зашифрованных .gpg файлов.

18 months agoМуха устроила погром
Sergey Matveev [Thu, 19 Oct 2023 07:57:26 +0000 (10:57 +0300)]
Муха устроила погром

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

18 months agoКуча black metal на русском языке
Sergey Matveev [Thu, 19 Oct 2023 07:43:32 +0000 (10:43 +0300)]
Куча black metal на русском языке

Прослушал кучу дисков с прошлого (b82620abe745fd85916525228597ccb44068ad2a)
концерта. Мало того, что музыка много где нравится именно мелодичностью,
а не техничностью (хотя и такое есть), но и нравятся тексты песен. Не то
чтобы я всё разбираю, тем более понимаю смысл, но лексикон обожаем!
ca23bc85781a099a3f61719c1714957ac20c8e6c
113ca725be819d6c11d69bf98825da50bfc949fa
2d440a96b081b1740db1c2d1183ab04c3ecec2e0
Морок крут, в котором даже балалайки встречаются и клёвый женский вокал.
White Night/Black Forest дико местами напоминает мне Solefald
(77d6fc201a7da5267ba59ce5047ee0f57ec26269), даже внешний вид frontman.
Frostnatt инструментальный альбом прям погружает в атмосферу сибирской
зимы. Altwald, Credimus, Heretoir, Horn, Туга -- все понравились
музыкой. Громоверж прям сильно такой языческий, но очень классно
записан, атасный вокал, воодушевляющие слова, красивая музыка с огромным
количеством дудок. Split "Ural Megalith" содержит: Nothing, Темень,
Всполох и Вихрь. Слышал названия эти групп, но не ожидал что, особенно
две последние, такие интересные и прекрасные оказались. В общем, под
большим впечатлением и очень обрадован музыкальной кладези в стране.

18 months agoНачал читать Coders At Work
Sergey Matveev [Thu, 19 Oct 2023 07:35:58 +0000 (10:35 +0300)]
Начал читать Coders At Work

https://en.wikipedia.org/wiki/Coders_at_Work
В книге собраны интервью со всякими известными программистами и
хакерами. Пока я прочитал только о четверых. Очень нравится то, что
ничем особенным их ответы не выделяются относительно того, что и я бы
говорил. В плане рекомендаций и мнений относительно C++ какого-нибудь
и других технологий. Пока они все довольно чётко разграничивают то, что
делают академики со всякими комитетами и те, кто реально в
"промышленности", а не выдуманном мире первых. У всех самые сложные баги
связаны с конкурентной работой в программах -- как и я сколько раз
убеждался в сложности этого занятия. Не шибко много каких книг
рекомендуют, а вот читать код в один голос. Интересно что там будет в
интервью у Кнута какого-нибудь или Томпсона.

18 months agounum -- конвертер между числами, Unicode и HTML/XHTML кодами
Sergey Matveev [Mon, 16 Oct 2023 07:38:33 +0000 (10:38 +0300)]
unum -- конвертер между числами, Unicode и HTML/XHTML кодами

https://www.fourmilab.ch/webtools/unum/
Приятная утилитка, конвертирующая между числами в разных форматах,
HTML/XHTML и Unicode символами.

18 months agoOnly Fetish Fest 6: Чернее чёрного
Sergey Matveev [Sun, 15 Oct 2023 08:59:53 +0000 (11:59 +0300)]
Only Fetish Fest 6: Чернее чёрного

Более четырёх месяцев так и не выбирался на концерты. И тут вот посетил
наверное самый офигенный из всех black metal фестивалей за всю историю!
И крут он не только, так сказать, техническими сторонами, типа отличного
звука, отличной толпы и поддержки и количества людей, отличного
настроения и веселья, отличной подготовки performance музыкантов, но и
разнообразием black-а как такового в принципе. И медляки, и
полуатмосферные вещи, и нечто авангардное, и танцевальное, и true black,
и raw black, и с чистым вокалом, и с гроулом, и скримингом, и даже не
без горлового пения немного, и максимально мрачного, и задорно
плясовально танцевального, и яростно быстро агрессивного. Никакого death
не было и в помине! Это всё было просто интересно слушать, ибо
разнообразия хоть отбавляй! И похоже впервые я мог бы впервые сказать
что, пожалуй, моему организму достаточно distortion звука было, пресытился!

Открывали сей чёрный шабаш ребята из Саранска "По́́́тьма". Крутой вокал,
крутые музыканты, интересная разнообразная музыка, вообще headliner-ами
могли бы быть. Слэм уже начался на них.

Black Forest из Северодвинска были крутейше агрессивны и мощны. Очень
понравился их кавер на "I'm Gonna Be Your God" -- куда куда более
суровый чем у Slayer. Офигенны, народ бесился ещё как.

Следом были Credimus. Вот на них как-то всё было уныловато, хотя под
конец народ всё же побесился. Вроде бы и играют неплохо, долбят, делают
стену distortion-а гитарами, гроулят, в костюамх, но чего-то вот не
хватало. Возможно после Black Forest все силы были выжаты? Но у них
наверное был самый быстрый барабанщик из всех что слышал. Dysthymia
(82ad61dd650a01e72aa3a1c1c8d4f11ba2af20d4) делают больше ударов, но
ничего кроме них и нет, тогда как в Credimus всё очень сложно и
разнообразно. Но на одних барабанах не выедешь.

Meister Leonhardt мне уже знаком (37b4cb1c9b843cfe6353b539269e0f26b816bda8).
А судя по разговорам и вопросам в зале -- не многим. Всякий этот black
metal конечно должен иметь некую толику бунтарства, но тут ребята
перегнули палку. Пока настраивались, то ходили в нормальных (как у меня)
футболках. Но перед выходом на сцену все одели гавайские рубашки!
Задумка клёвая, отдельно респект. А вот вокалист, огромных размером, был
полностью в балахоне, в чёрных перчатках и полностью чёрной
непроницаемой одёже на голове -- ни кусочка тела не видно. Я то знал что
на них будет круто. Так и было. После выступления в толпе слышал "я же
тебе говорил что они ахуенны!".

Ведьмин Прах из Уфы, судя по разговорам, ждали многие. Вокалист в
ведьминой шапке, зелёная подсветка... прям чувствуешь что на каком-то
шабаше. На сцене только вокалист/гитарист и басист. Ударные -- drum
machine. Скорость и буйство знатные, но без агрессии, только весёлые
пляски. Это как взять какую-нибудь "Лесную царевну" у Ashen Light и
только подобное с забавными текстами и играть. Отрывался народ под всё
это знатно. Честно говоря, вообще не понимал откуда у людей могут ещё
браться силы на продолжение слэма -- судя по всему, из закромов
последние были. И греблю устраивали и сколько только людей не
перетаскали на руках. В общем, понял отчего и почему их так ждали.

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

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

Приобрёл 13 дисков и 4 футболочки.

18 months agoСовременные UI
Sergey Matveev [Fri, 13 Oct 2023 07:59:43 +0000 (10:59 +0300)]
Современные UI

https://artemis.sh/2023/10/12/scrollbars.html
Автор ругается на то, что scrollbar-ы становятся не то что меньше, а
вообще исчезают даже, скрываются. Тоже в каком-то LiveCD и современной
GUI программе видел такое. И не было ни одного раза чтобы я не
проматерился при этом, ведь scrollbar мягко говоря часто использую,
чтобы быстрее перемещаться.

Вчера же я пошёл оплачивать всякие домены и VPS свои. LiveCD на
отдельном ноутбуке приходится запускать, ведь нихера ничего не работает
под броузерами даже с JavaScript хотя бы двухлетней давности (которые у
меня в виртуальной машине есть). Отличился reg.ru. Его интерфейс
как-будто каждый 1-2 года меняется, как-будто прям полностью меняют
команду разработки UI. И каждый раз они умудряются переплёвывать себя в
неюзабельности. Я бы не поверил в это, но когда показывается список
доменов, то в нём отображается только их имена. Нет даже даты до какого
они действуют. Раньше там кроме этого были и даже NS-сервера видны.
Приходится буквально переходить на каждый их них чтобы увидеть дату.
Когда-то были ясные ссылки на услуги (домены там, VPS), а сейчас я с
трудом догадался тыкнуть на какую-то херь с чёрточками и это оказалось
ниспадающее меню. Нашёл иконку (да, даже если мышку навести, то никакого
всплывающего текста о том что это за кнопка не появится) с настройками
таблицы. В ней указано что всякие даты и куча другой информации мол типа
отображаются, это даже отключить нельзя. Тыкая на кнопочки переключения
видимости это информации мне выдаются сообщения о том что это нельзя
отключить (я думал что выключив и включив всё появится) -- и эти
сообщения заняли четверть экрана, очень неспешно по таймеру пропадая.

Если поперемещаться у них в помощи, то например кнопка на мышке или в
броузере назад -- не работает, ибо это же всё динамическое, AJAX, Web
2.0/x.0, поэтому ни штатных средств навигации, ни Home/End не будет
работать. На других сайтах, пока я всё это проделывал, тоже видел что
"назад" не работает, как частенько и PgUp/PgDown -- используйте
scrollbar и мышку... ой, а нету же scrollbar, вы должны туда
прицелиться, а потом перемещать ползунок, ибо тыкнуть в нужное место
scrollbar-а уже не выйдет.

Ввод телефонного номера например это на каждом сайте всегда по разному.
Где-то это просто вводится as-is текстом. Где-то они дают подсказку
серым цветом о том, в каком формате надо вводить, начиная с "+7": где-то
вводишь +7 и всё ok, где-то оно съедается, но дальнейшая часть номера
вводится, где-то съедается "+", а 7 становится первой цифрой после "+7".
Где-то, введя три цифры, надо нажать пробел чтобы он в дальнейшую ячейку
для 2-4 цифр перепрыгнул, где-то это происходит автоматом. Нажимая
КАЖДУЮ цифру, приходится смотреть на экран и смотреть где же мой курсор
и всё ли пошло по плану.

Отдельная "хвала" цветовой схеме. В некоторых местах read-only текст
показан бледным цветом. Настолько бледным, что я, не имея проблем с
монитором домашним прежде, вынужден был головой подвигать чтобы
действительно убедиться что там где-то в этом месте написан таки текст,
а не просто мне так показалось. Почему нельзя его сделать не бледно
бледно пребледно альбиносо серым, а нормальным ближе-к-серому цветом,
как в какой-нибудь Windows 95 элементы в интерфейсе показывались? Просто
с ходу про них вспомнил: всегда везде видно, на любом мониторе. Бывает
так, что текст там чёрный, а фон еле серый -- в итоге ты даже не
понимаешь что это read-only элемент на самом деле, поэтому тебе и не
дают его исправить. Но еле-серым на белом, почти невидимого цвета...
Плюс ещё сейчас мода все таблицы делать без рамок/разграничителей,
просто с висящими в воздухе элементами, когда даже не понятно кто из них
куда и как относится и является ли частью вот этой или другой формы.

Я реально охреневаю: это вообще хоть кто-то когда-либо пытался из
разработчиков/менеджеров/тестеров использовать? Думаю что да, но просто
такие сейчас стали стандарты юзабельности. Мир сходит с ума, лютое
безумие, идиотизм и дебилизм. Или это всё удобно на смартфонах может
быть? Какого хера уж интерфейсы то работы с регистратором доменов или
VPS-ок делать заточенными для смартфонов?

18 months agoCDN ivi, anycast, ECMP
Sergey Matveev [Fri, 13 Oct 2023 05:09:44 +0000 (08:09 +0300)]
CDN ivi, anycast, ECMP

https://habr.com/en/companies/ivi/articles/240237/
https://habr.com/en/companies/ivi/articles/237349/
Наткнулся тут во время поиска на старые статьи от бывшего коллеги из
ivi, рассказывающего про сетевое устройство их CDN-а. Много лет назад я
не шибко понимал всё что там написано. Когда запускали мои наработки на
прокси серверах, то чтобы вывести/ввести узел в строй, просто
опускали/запускали BGP демона. И я не понимал полностью все процессы что
за этим стоят и как так оно всё так работает. Сейчас же мне кажется что
ведь всё так очевидно и просто.

18 months agoСписок частей с BluRay
Sergey Matveev [Thu, 12 Oct 2023 20:43:43 +0000 (23:43 +0300)]
Список частей с BluRay

https://github.com/beandog/bluray_info
bluray_info утилита позволяет удобно получать метаинформацию
о мультимедиа данных BluRay диска. Причём сразу же в формате
пригодном для mkvmerge (--title X --chapters --xchap).

18 months agoТретье место
Sergey Matveev [Wed, 11 Oct 2023 17:15:17 +0000 (20:15 +0300)]
Третье место

https://en.wikipedia.org/wiki/Third_place
https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B5%D1%82%D1%8C%D0%B5_%D0%BC%D0%B5%D1%81%D1%82%D0%BE
Первое -- дом, где живём. Второе -- работа, где проводим большую часть
времени. А вот ещё выделяют третье, например бары, кафе, церкви,
библиотеки, спортзалы, парки, и т.д.. В примере русскоязычной страницы
указаны coworking и антикафе. Я про них только слышал, но не бывал. Как
и никогда не был, в отличии от большинства сверстников в Королёве, в
Интернет-кафе. Для меня третье место это явно концертные площадки, хотя
общения явного с окружающими там нет.

18 months agoRFC: The Twelve Networking Truths
Sergey Matveev [Wed, 11 Oct 2023 11:24:44 +0000 (14:24 +0300)]
RFC: The Twelve Networking Truths

https://www.rfc-editor.org/rfc/rfc1925

    Abstract

       This memo documents the fundamental truths of networking for the
       Internet community. This memo does not specify a standard, except in
       the sense that all standards must implicitly follow the fundamental
       truths.

    Acknowledgements

       The truths described in this memo result from extensive study over an
       extended period of time by many people, some of whom did not intend
       to contribute to this work. The editor merely has collected these
       truths, and would like to thank the networking community for
       originally illuminating these truths.

    1. Introduction

       This Request for Comments (RFC) provides information about the
       fundamental truths underlying all networking. These truths apply to
       networking in general, and are not limited to TCP/IP, the Internet,
       or any other subset of the networking community.

    2. The Fundamental Truths

       (1)  It Has To Work.

       (2)  No matter how hard you push and no matter what the priority,
            you can't increase the speed of light.

            (2a) (corollary). No matter how hard you try, you can't make a
                 baby in much less than 9 months. Trying to speed this up
                 *might* make it slower, but it won't make it happen any
                 quicker.

       (3)  With sufficient thrust, pigs fly just fine. However, this is
            not necessarily a good idea. It is hard to be sure where they
            are going to land, and it could be dangerous sitting under them
            as they fly overhead.

       (4)  Some things in life can never be fully appreciated nor
            understood unless experienced firsthand. Some things in
            networking can never be fully understood by someone who neither
            builds commercial networking equipment nor runs an operational
            network.

       (5)  It is always possible to aglutenate multiple separate problems
            into a single complex interdependent solution. In most cases
            this is a bad idea.

       (6)  It is easier to move a problem around (for example, by moving
            the problem to a different part of the overall network
            architecture) than it is to solve it.

            (6a) (corollary). It is always possible to add another level of
                 indirection.

       (7)  It is always something

            (7a) (corollary). Good, Fast, Cheap: Pick any two (you can't
                have all three).

       (8)  It is more complicated than you think.

       (9)  For all resources, whatever it is, you need more.

           (9a) (corollary) Every networking problem always takes longer to
                solve than it seems like it should.

       (10) One size never fits all.

       (11) Every old idea will be proposed again with a different name and
            a different presentation, regardless of whether it works.

            (11a) (corollary). See rule 6a.

       (12) In protocol design, perfection has been reached not when there
            is nothing left to add, but when there is nothing left to take
            away.

    Security Considerations

       This RFC raises no security issues. However, security protocols are
       subject to the fundamental networking truths.

    References

       The references have been deleted in order to protect the guilty and
       avoid enriching the lawyers.

18 months agoРыбные салаты в Иране
Sergey Matveev [Wed, 11 Oct 2023 10:11:54 +0000 (13:11 +0300)]
Рыбные салаты в Иране

https://moslenta.ru/news/lyudi/kukhni-11-10-2023.htm
https://moslenta.ru/lyudi/na-rasstoyanii/budete-est-rolly-v-irane-vas-nazovut-sumasshedshim-persiyanka-o-nacionalnoi-ede-pereezde-v-moskvu-i-russkom-mentalitete.htm
Иранцы не понимают прелести ни мимозы, ни селёдки под шубой. Именно эти
два салата я *всегда* беру в Глобусе себе. Больше могу никакой не брать,
но мимозу уж обязательно.

18 months agoМузыка в метро вернулась
Sergey Matveev [Tue, 10 Oct 2023 07:28:48 +0000 (10:28 +0300)]
Музыка в метро вернулась

С этих выходных появились снова места для выступления музыкантов. У меня
два перехода, где уже вовсю по пути на работу играет живая музыка. А то
со времён COVID прикрывали же это всё, к сожалению.

18 months agoПодарил проигрыватель пластинок папе
Sergey Matveev [Mon, 9 Oct 2023 18:52:57 +0000 (21:52 +0300)]
Подарил проигрыватель пластинок папе

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

Съездили с ним в магазин Аудиомания, проконсультировали, рассказали,
порекомендовали всякого. Приобрели Audio Technica неплохой. С
автоматической системой запуска/останова, которую раньше и не видели
никогда в действии.