]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
22 months agoRMS никогда не ставил GNU/Linux
Sergey Matveev [Fri, 30 Jun 2023 11:40:33 +0000 (14:40 +0300)]
RMS никогда не ставил GNU/Linux

https://www.youtube.com/watch?v=umQL37AC_YM
Многих поражающий факт: Столлман никогда не устанавливал GNU/Linux.

22 months agoZig хочет избавиться от LLVM
Sergey Matveev [Fri, 30 Jun 2023 06:55:05 +0000 (09:55 +0300)]
Zig хочет избавиться от LLVM

https://github.com/ziglang/zig/issues/16270

    I'm sorry honey, it's just not working out. Our relationship worked
    when we were younger, but we're both older now and we've grown
    apart.

Среди плюсов, первым является "All our bugs are belong to us".
И скорость компиляции должна на порядки вырасти.

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

22 months agoGmail уничтожает email
Sergey Matveev [Wed, 28 Jun 2023 15:11:10 +0000 (18:11 +0300)]
Gmail уничтожает email

http://www.igregious.com/2023/03/gmail-is-breaking-email.html
Ещё одна статья про то, как при куче корректных настроек и "чистых" IP
адресах, Gmail всё равно поместит письма в спам или задержит их чуть ли
не на полсуток. Для меня вообще ничего нового -- всё так и есть.

22 months agoЧем платят в разных странах мира помимо Mastercard и Visa
Sergey Matveev [Wed, 28 Jun 2023 06:34:40 +0000 (09:34 +0300)]
Чем платят в разных странах мира помимо Mastercard и Visa

https://habr.com/ru/articles/744126/
Просто любопытно поглазеть что ещё в мире бывает кроме США карточек.

Я же ни разу в жизни не имел кредитную карту, только дебетовые. Никогда
не оплачивал в магазинах ничего ими. Только через Интернет делал
пожертвования (на всякие программные проекты) и что-то из FSF shop
приобрёл. Далее пошли обязательные SMS-ки для всего этого дела и
JavaScript -- карточками перестал пользоваться совсем.

Шведский VPN когда-то (так было проще организовать PTR запись для
постоянного IPv4 адреса) я оплачивал переводом, приходя в отделения
банков. Переводом же оплачивал Lemote Yeeloong.

Но через несколько лет мне насильно дали дебетовую МИР, куда
перечисляется зарплата. Я был одним из самых последних людей на работе,
кому выдавали нормально всё наличкой. Но снимаю з/п только в двух
банкоматах, чтобы не палить где я географически бываю ещё.

22 months agoХьюго Гернсбек
Sergey Matveev [Tue, 27 Jun 2023 14:11:51 +0000 (17:11 +0300)]
Хьюго Гернсбек

https://habr.com/ru/news/744260/
Конечно же я не мог не знать про премию Хьюго, но не знал, что он
яростно популяризировал радиолюбительство, да и вообще был изобретателем.

22 months agoТэгтгрен на Northern Chaos Gods
Sergey Matveev [Tue, 27 Jun 2023 13:21:57 +0000 (16:21 +0300)]
Тэгтгрен на Northern Chaos Gods

https://ru.wikipedia.org/wiki/%D0%A2%D1%8D%D0%B3%D1%82%D0%B3%D1%80%D0%B5%D0%BD,_%D0%9F%D0%B5%D1%82%D0%B5%D1%80
https://en.wikipedia.org/wiki/Northern_Chaos_Gods
https://en.wikipedia.org/wiki/Peter_T%C3%A4gtgren
Петер Тэгтгрен, оказывается, играл на басухе и занимался производством
всего альбома норвежского black metal Immortal на предпоследнем альбоме.
Я знал что дядька крутой, но сейчас он стал ещё круче. Даже с
Septicflesh, Marduk, Borknagar, всякими грайндкорными группами и тьмой
других дело имел.

22 months agoКак снимали Хищника
Sergey Matveev [Tue, 27 Jun 2023 13:08:20 +0000 (16:08 +0300)]
Как снимали Хищника

https://habr.com/ru/articles/743210/
Понравился тот факт, что вообще изначально в роли Хищника снимался (и
это даже вошло в фильм) Ван Дамм. Но не заладилось с ним. В итоге решили
просто на обычную обезьяну надеть красный костюм и пускай она скачет по
деревьям. Тоже не вышло: обезьяна, видимо как и Ван Дамм, не слушалась.
В итоге играл Хищника баскетболист, которому предложили поохотиться на
самого Шварценеггера.

22 months agoВыступление 1349 на Hellfest
Sergey Matveev [Tue, 27 Jun 2023 07:22:47 +0000 (10:22 +0300)]
Выступление 1349 на Hellfest

https://www.youtube.com/watch?v=nzECDCGacDE
Одна из немногих групп на выступлении которой не прочь бы оказаться.
С 1349 вообще только в прошлом/позапрошлом году познакомился впервые.
Местами чуть-чуть попсоватые мотивы есть, но зато задорно и не однообразно.

22 months agoRedHat ответила на критику
Sergey Matveev [Tue, 27 Jun 2023 07:04:26 +0000 (10:04 +0300)]
RedHat ответила на критику

https://www.redhat.com/en/blog/red-hats-commitment-open-source-response-gitcentosorg-changes
https://www.opennet.ru/opennews/art.shtml?num=59347
Ответ на тему 632d5f83cf572b7466e4a00a1f126069e8ac15c7. Всё бы ничего,
но вот фраза:

    Simply rebuilding code, without adding value or changing it in any
    way, represents a real threat to open source companies everywhere.
    This is a real threat to open source

полностью соответствует риторике любой Microsoft или Apple. Открыто
сообщают о том, что им не нравится одна из (всего четырёх) свобод СПО.
Просто распространение кода -- это угроза "open source компаниям".

RedHat безусловно пишет много кода, по сути всю systemdOS, насколько
знаю, которая массово вытеснила Unix-like GNU/Linux, но, как я и прежде
говорил, публиковать это всё в виде СПО им не мешает только тот факт,
что всё равно никто не будет разбираться в сотнях тысячах строк кода их
ОС (пользователи systemdOS не такие, а остальным нафиг это сдалось).

22 months agoСамая быстрая машинистка
Sergey Matveev [Tue, 27 Jun 2023 06:43:17 +0000 (09:43 +0300)]
Самая быстрая машинистка

https://www.youtube.com/watch?v=maCHHSussS4
Автор доказывает, что заявления о 212 WPM (на Двораке) скорости было
ошибкой и Барбара никогда так быстро не печатала на самом деле. И всё
это по сути преподносится как просто навсего реклама раскладки Дворака.

Я же, сейчас запустив typespeed, ещё не позавтракав, имея тактильную
клавиатуру, всего лишь 60 WPM на английском тексте делаю. Уровень
начинающей машинистки. Быстро я никогда не печатал, но точно помню, что
ощутимо медленнее если бы это была не тактильная. Смотрю в блоге
упоминал ли я свою скорость раньше:
03f127af64f929eb93d9a804ca6236d04d3aedc2 -- 62 WPM
f19865ee0233da1647fc63ecfc0b9ed2c9683ed1 -- 59 WPM
Но зато полностью в слепую, на клавиатуре нет никаких надписей на
кнопках: 5a7acbc92c04ac87aef13d5c07c6388ae8c2fa88
Но зато точно знаю, что я существенно быстрее большинства в
редактировании текста, а не наборе, за счёт хорошего знания vi/vim и
использования их в том же zsh для командной строки и в libedit и
libreadline capable программах.

22 months agoПочему IP мультивещание провалилось и его можно считать мёртвым?
Sergey Matveev [Mon, 26 Jun 2023 21:03:56 +0000 (00:03 +0300)]
Почему IP мультивещание провалилось и его можно считать мёртвым?

https://etherealmind.com/folowup-ip-multicast-good-in-theory-bad-in-reality/
Как говорит автор, потому что мало кто его делает без косяков, без дикой
потери производительности. Он годен для сокращения bandwidth, но bandwidth
относительно дешёв, поэтому и смысла никакого экономить нет.

22 months agohost vs getent
Sergey Matveev [Mon, 26 Jun 2023 18:43:20 +0000 (21:43 +0300)]
host vs getent

https://lists.freebsd.org/archives/freebsd-questions/2023-June/003864.html
Человек негодует от того, что команда "host" под FreeBSD не выдаст хост
прописанный в /etc/hosts, тогда как GNU выдаст. И это считает что FreeBSD
abandoned common sense (это он про GNU/Linux?). Идиотизм конечно, ибо,
как верно ему заметили, вообще то задолго до появления Linux как такового,
для подобных задач использовалась getent команда. А host с самого начала
был для DNS.

22 months agoxxHash
Sergey Matveev [Mon, 26 Jun 2023 17:44:36 +0000 (20:44 +0300)]
xxHash

https://xxhash.com/
https://github.com/Cyan4973/xxHash/issues/62
Дико быстрая хэш-функция, работающая на десятках гигабайт/сек скоростях.
Где-то даже быстрее CRC32. Видел не раз, что её для быстрой проверки
целостности используют в проверках.

22 months agoBlue Oak лицензия ПО
Sergey Matveev [Mon, 26 Jun 2023 15:52:54 +0000 (18:52 +0300)]
Blue Oak лицензия ПО

https://writing.kemitchell.com/2019/03/09/Deprecation-Notice.html
Blue Oak считает, что время BSD/MIT permissive лицензий должно уйти,
так как в них нет даже слова о патентах. Плюс они типа не очень легко
читаются. Хотя на самом деле нет MIT-лицензии
(499d8afd7741e9056f0d4c9f969386f49a6a293f).

22 months agoFreedo
Sergey Matveev [Mon, 26 Jun 2023 13:59:05 +0000 (16:59 +0300)]
Freedo

https://en.wikipedia.org/wiki/File:Freedo.svg
Впервые случайно увидел талисмана Linux-libre проекта (я GUI броузер
редко запускаю, в основном сидя в консоли, где нет картинок).
Отчищающийся от всяких несвободных блобов пингвин.

22 months agoМожно ли делать REST API?
Sergey Matveev [Mon, 26 Jun 2023 07:51:53 +0000 (10:51 +0300)]
Можно ли делать REST API?

https://habr.com/ru/articles/743818/
Когда-то я старался делать web-backend с REST API. Ну чтобы все эти
красивые ресурсы в URL использовались, чтобы всё было лаконично и
понятно, под одну гребёнку. А также видел как этот REST пишут и другие.
И что почти каждый человек занимающийся подобными backend хочет REST.

Но по опыту, рано или поздно всегда всё равно придут случаи не очевидного
выбора (примеры из статьи):

    /coffee-machines/{id}/recipes/lungo/prepare ?
    /recipes/lungo/coffee-machines/{id}/prepare ?
    /coffee-machines/{id}/prepare?recipe=lungo ?
    /recipes/lungo/prepare?coffee_machine_id=<id> ?
    /prepare?coffee_machine_id=<id>&recipe=lungo ?
    /?action=prepare&coffee_machine_id=<id>&recipe=lungo ?

    GET /v1/state?user_id=<user_id>
    vs
    GET /v1/profiles?user_id=<user_id>
    GET /v1/orders?user_id=<user_id>

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

В итоге, уже более пяти лет я не сторонник REST, ибо по сути никогда не
видел успешных продуманных и лаконичных реализаций на нём. Если речь не
про совсем уж тривиальные задачи. И чтобы не париться, я по умолчанию
стараюсь использовать JSON-RPC (возможно поверх HTTP), где не паришься
ни о каких URL/ресурсах и просто делаешь вызовы методов, как если бы это
была обычная библиотека (собственно, делаешь RPC). И опытный коллега на
работе тоже пришёл к такому же подходу.

22 months ago.0 IPv4 адреса
Sergey Matveev [Mon, 26 Jun 2023 07:42:35 +0000 (10:42 +0300)]
.0 IPv4 адреса

https://labs.ripe.net/author/stephane_bortzmeyer/all-ip-addresses-are-equal-dot-zero-addresses-are-less-equal/
Не весь софт честно умеет работать с адресами с .0, хотя они ничем не
отличаются от любых других. Для меня тоже когда-то стало открытием что
они не особенные, но это по привычке видеть /24 (IPv4) сети, где .0 уже
является адресом самой сети. И как же круто, что в IPv6 убрали все эти
(лично меня раздражающие) "адреса сети", ну и broadcast адреса (в IPv6
нет broadcast).

22 months agoRedHat прекращает публикацию кода RHEL
Sergey Matveev [Sun, 25 Jun 2023 14:10:46 +0000 (17:10 +0300)]
RedHat прекращает публикацию кода RHEL

https://hackaday.com/2023/06/23/et-tu-red-hat/
https://www.jeffgeerling.com/blog/2023/dear-red-hat-are-you-dumb
https://www.opennet.ru/opennews/art.shtml?num=59343
Вообще с ходу, погуляв по сайту RedHat, вижу, что для получения даже
пробной версии RHEL, нужно зарегистрироваться, а значит стать их
customer. И вроде бы пишут, что для через этот портал можно получить
исходный код RHEL компонентов. По идее это не нарушает ничего в GPL.
Но если при этом они ставят ограничения на то, что вы не можете
полученный код распространять дальше -- то это безусловно нарушает.

Статью об анализе RedHat-а Брэдли Куном я прочёл уже после и он тоже не
видит проблем с получением кода через customer portal. Но упоминает и
примеры явных нарушений с их стороны.

Некоторые разработчики вот вообще убирают поддержку RedHat-based систем
на фоне всего этого. Я то вообще никогда не любил всё что связано с
RedHat, включая RPM. Это ещё до того, как они стали делать systemdOS.

22 months agoСлэм спровоцировал множество ложных звонков на 911
Sergey Matveev [Sun, 25 Jun 2023 11:00:30 +0000 (14:00 +0300)]
Слэм спровоцировал множество ложных звонков на 911

https://habr.com/ru/news/743738/
С точки зрения обученных машин, слэм сравним с врезавшимся автомобилем.

22 months agoWeb-based криптография это всегда шарлатанство
Sergey Matveev [Sun, 25 Jun 2023 10:29:17 +0000 (13:29 +0300)]
Web-based криптография это всегда шарлатанство

https://www.devever.net/~hl/webcrypto
Полностью согласен с основным посылом статьи о том, что любой E2E внутри
броузера -- просто навсего обман неработающий, ибо от кого он защищает?
И верно замечено что сейчас бум на E2E решения не потому что кто-то из
них реально заботится о безопасности, а потому что для бизнеса просто
приятно делать вид, что якобы они о ней заботятся.

22 months agoIT-шники не рациональны, регулярно следуют hype и маркетингу
Sergey Matveev [Sun, 25 Jun 2023 10:22:16 +0000 (13:22 +0300)]
IT-шники не рациональны, регулярно следуют hype и маркетингу

https://www.bitecode.dev/p/hype-cycles
В статье масса примеров всяких новомодных штучек-дрючек популярных в
своё время. И куча примеров современного безумия в тенденциях.

Я прям очень хорошо помню времена когда всюду рулил XML и все тащились
от идеи СУБД устроенной как XML. Куда ни плюнь -- везде XML и попытки
всюду применять XSLT. Далее, действительно, был hype по NoSQL. Далее я
со стороны видел как стэк из 20 технологий/framework-ов делал то, что
можно было и прежде на RoR+jQuery, только гораздо дороже, гораздо
сложнее и создавая неподдерживаемый код.

Далее пошло безумие на тему микро-сервисов, которые придётся засовывать
в Docker+Kubernetes, связывая MQ шиной. Верно статья отмечает, что даже
todo-list приложение уже стало безумно сложно поднять
(57bf047f30f77b41298badc4d1c02f9f419c1df5). Но решение есть: просто
используйте vendor-locked-in решение от облачного провайдера! Теперь, вы
можете потратить всего в десять раз больше денег на хостинг, нежели чем
в 10000 раз больше по ошибке. Затем появляется желание хранить
информацию о каждом клике пользователя. Теперь у вас тьма данных,
которые нужно искать как и куда запихнуть. Стало всё тормозить? Да
просто перепишите на Go или Rust! Ну а сейчас ваше приложение ничего не
стоит, если в нём нет machine learning и blockchain.

22 months agoПро неудавшийся мятеж
Sergey Matveev [Sun, 25 Jun 2023 08:45:25 +0000 (11:45 +0300)]
Про неудавшийся мятеж

Сегодня узнал что некоторые близкие мне люди, как оказалось, продолжают
симпатизировать Пригожину, от чего я, мягко говоря, офигел. Человек
выступивший против армии РФ, выступает и против РФ, против моей Родины,
значит и против меня. Я прослушал его сообщения, где он угрожает
уничтожать всех кто встанет на пути (когда он пойдёт по улицам наших
городов). Это буквально военный мятеж, удар в спину, предательство и
подлое, особенно во время СВО.

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

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

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

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

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

22 months agoПрошёл Quake
Sergey Matveev [Fri, 23 Jun 2023 10:07:47 +0000 (13:07 +0300)]
Прошёл Quake

Не, я с ним знаком конечно давно. Но мне кажется я никогда осознанно от
и до его не проходил. По сути то я с ним игрался только в детстве, а
дальше уже игрался в выходящие на тот момент Half-Life, Quake 2 и
подобные. А то ba2d4709fa4768060f8c3cc12233105c18733479 навеял
воспоминания.

В Doom 1 я толком прежде не играл, даже в детстве, так как Doom 2
появился раньше. Но его я всё же прошёл в прошлом году кооперативно
(4685212aa9a8d4497f4ade0f1816a1d55565f15f). Оказалось вполне себе не
долго и не сложно. Я боялся что будет как в Doom 2.

Doom 2 проклинается многими за то, что где-то начиная с 9-го уровня,
уровни становятся огромными и непонятно куда надо идти, забываешь уже.
Полностью солидарен с этим! Его огромные уровни -- неприятны. А вот 7 и
8 уровни я обожаю своей необычностью:
https://doomwiki.org/wiki/MAP07:_Dead_Simple_(Doom_II)
https://doomwiki.org/wiki/MAP08:_Tricks_and_Traps_(Doom_II)
Я наверное только, как минимум, с idclip проходил его до конца.

Quake 2 точно осознанно полностью проходил от и до. Как и Half-Life. SiN
(0a60b951f1ae358841b0891e5bf8416e0b525672). Но я уже был более взрослым.
Quake 3 на nightmare сложности мог пройти, хотя изначально считал что
это невозможно, ведь реакции многих ботов стремительны, точность 100%,
достаточно одного выстрела из рельсы чтобы сотню жизней выбить разом.
Duke Nukem в детстве дальше третьего уровня я наверное уже не мог
осилить, но позже, особенно когда появилась полная версия со всеми
эпизодами, уже была пройдена. System Shock 2 обожал даже чисто
эстетически, но дальше середины уже не мог пройти, ибо возрождающиеся
монстры, ломающееся оружие меня напрягало уж больно сильно.

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

Помню что в детстве мне сложно и стрёмно было играть в Quake, так как я
там что-то типа stealth тактики применял: аккуратно прицельно из-за угла
стреляешь, выманиваешь, убегаешь когда два врага против тебя. Это было
очень медленно. Сейчас же моя тактика была проста, даже если совершенно
не знаешь что тебя ждёт за дверью: просто бегом врываешься и поливаешь
направо налево всё и вся свинцом с гранатами, ни доли не секунды не стоя
на месте, а землю используя только для отталкивания. Короче всё как в
Quake 3. Отлично работает, полная совместимость такого подхода с этой
игрой. И я убеждён что именно так и надо в неё играть.

Вот только когда с spawn-ами встречаешься, то бежишь от них сломя
голову, даже shambler меня не так пугал. И от spawn-ов я больше всего и
умирал вроде бы. Только из-за них приходилось останавливаться перед
комнатой и забрасывать её гранатами предварительно. Ну и с vore
разбираться из-за укрытий. А с shambler, встретившись случайно нос к
носу, смог однажды разобраться с одной двухстволкой наперевес.

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

22 months agoСнова про мобильные кондиционеры
Sergey Matveev [Fri, 23 Jun 2023 09:54:33 +0000 (12:54 +0300)]
Снова про мобильные кондиционеры

https://habr.com/ru/companies/x-com/articles/743244/
Писал об этих штуках в f0b195faac59a95ceab92b423dfaceba137e52f6.
В статье всё верно отмечено: ниже КПД, занимает место, шумит. Но
насколько с ним просто! Взял в магазине, прикатил, включил, доволен.

22 months agoВНИИВСГЭ
Sergey Matveev [Fri, 23 Jun 2023 08:55:40 +0000 (11:55 +0300)]
ВНИИВСГЭ

https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D0%BD%D0%B0%D1%83%D1%87%D0%BD%D0%BE-%D0%B8%D1%81%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%81%D1%82%D0%B8%D1%82%D1%83%D1%82_%D0%B2%D0%B5%D1%82%D0%B5%D1%80%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B9_%D1%81%D0%B0%D0%BD%D0%B8%D1%82%D0%B0%D1%80%D0%B8%D0%B8,_%D0%B3%D0%B8%D0%B3%D0%B8%D0%B5%D0%BD%D1%8B_%D0%B8_%D1%8D%D0%BA%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8
https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D0%BD%D0%B0%D1%83%D1%87%D0%BD%D0%BE-%D0%B8%D1%81%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%81%D1%82%D0%B8%D1%82%D1%83%D1%82_%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B2%D0%B5%D1%82%D0%B5%D1%80%D0%B8%D0%BD%D0%B0%D1%80%D0%B8%D0%B8_%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8_%D0%AF._%D0%A0._%D0%9A%D0%BE%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D0%BA%D0%BE
Это филиал ФГБНУ ФНЦ ВИЭВ РАН.

22 months agoПосмотрел "Салют-7"
Sergey Matveev [Fri, 23 Jun 2023 07:56:17 +0000 (10:56 +0300)]
Посмотрел "Салют-7"

https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%BB%D1%8E%D1%82-7_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
С одной стороны понравился. А с другой неприятный осадок от того, что
всё что вне космической темы показывают мрачным: генералы и руководство
только угрожают и решают кто за что ответить, на человеческую жизнь всем
пофиг, что по СМИ только враньё и ничего кроме. Семьи космонавтов
показывают, но вот если их вырезать из фильма, то толком ничего ведь и
не поменяется в нём. Примером гораздо более крутого фильма у меня мигом
возникает недавно увиденный "Вызов" (62b23efafa08da98884dac04c718b409d091f6ee),
от того же режиссёра. Но в целом впечатление положительное от Салют-7.

22 months agoПосмотрел "Монах и бес"
Sergey Matveev [Fri, 23 Jun 2023 07:48:01 +0000 (10:48 +0300)]
Посмотрел "Монах и бес"

https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B0%D1%85_%D0%B8_%D0%B1%D0%B5%D1%81
Хоть заканчивается он и грустно, но в целом хорошее настроение всё равно
оставляет. В начале так я прям тащился от их речи и юморного текста.
Очень понравился.

22 months agoПосмотрел "К чёрту на рога"
Sergey Matveev [Fri, 23 Jun 2023 07:46:42 +0000 (10:46 +0300)]
Посмотрел "К чёрту на рога"

https://ru.wikipedia.org/wiki/%D0%9A_%D1%87%D1%91%D1%80%D1%82%D1%83_%D0%BD%D0%B0_%D1%80%D0%BE%D0%B3%D0%B0_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
Wikipedia говорит, что это самый кассовый фильм в Италии всех времён. Ну
что ж, действительно очень забавная комедия! И пересмотреть можно сразу же.

22 months agoПосмотрел "Барашка Шона"
Sergey Matveev [Fri, 23 Jun 2023 07:38:17 +0000 (10:38 +0300)]
Посмотрел "Барашка Шона"

https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D1%80%D0%B0%D1%88%D0%B5%D0%BA_%D0%A8%D0%BE%D0%BD_(%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
Только мельком видел и слышал о подобном мультсериале. А тут посмотрел
полнометражный фильм с ним. Видеоряд очень понравился, как и озвучка, и
то что там даже не используют речь.

22 months agoSecret Of Donkey Island
Sergey Matveev [Wed, 21 Jun 2023 15:42:32 +0000 (18:42 +0300)]
Secret Of Donkey Island

https://donkeyisland.zip/
Пародийная чешская игра на Secret Of Monkey Island.

22 months agoПереход на летнее время
Sergey Matveev [Wed, 21 Jun 2023 07:15:11 +0000 (10:15 +0300)]
Переход на летнее время

https://lenta.ru/news/2023/06/21/summertime/
НЕНАВИЖУ! Просто люто и яростно ненавижу этот переход на летнее и зимнее
время (5e9e1bc030d156e0c9e6bac5be5c311174f98f6d). Лучи поноса в каждого
кто эту инициативу выдвинул. Почти во всём мире этот переход -- ОТМЕНИЛИ.
Он много где был, но отказались. А мы, глядя на сраную отсталую Европу,
снова хотим в это мракобесие вернуться? Вся эта тема для меня была как
страшный сон. И вот он возвращается.

22 months agoDimension 5
Sergey Matveev [Tue, 20 Jun 2023 07:13:50 +0000 (10:13 +0300)]
Dimension 5

https://en.wikipedia.org/wiki/Dimension_5_(music_group)
Удивительно, но музыка со словами (даже гроулом где ничего не разобрать)
может всё же немного отвлекать от работы, когда надо очень сосредоточиться
на нетривиальном участке коде (в противовес многочисленной рутине).
Захотелось прям просто какой-нибудь тупой долбёжки в уши поставить.
Вспомнил про Dimension 5 группу, уже не припомню откуда у меня взявшуюся.
Пишут что это "goa trance". Подобная музыка круглосуточно играла на
первой работе в цеху по сборке серверов, где я какое-то время сидел
вместе с ребятами. Действительно, работается под это очень неплохо.

22 months agoГагарина не стало в Киеве
Sergey Matveev [Tue, 20 Jun 2023 05:14:20 +0000 (08:14 +0300)]
Гагарина не стало в Киеве

https://lenta.ru/news/2023/06/20/gagarin/
То что на Украине мракобесие творится уже давно -- это ясно. Но то, что
там снесли памятник Гагарину напомнило об одном человеке (в РФ), который
прям открыто заявил что стыдится Гагарина, стыдится что такой человек
был в нашей стране (в СССР). И тогда я понял, что есть какое то
совершенно непознаваемое безумие (с моей точки зрения) и ужас творящийся
в головах людей, аж страшно, ибо нельзя понять о чём думает человек и
чего от него ждать. Я ему как-то, задолго до начала СВО, прямо сказал,
что если будет какая-то заварушка, то он первым кто переметнётся на
противоположную сторону. Так и случилось -- он стал предателем. Гагарин
оказался хорошей лакмусовой бумажкой. Для меня отношение к нему, или в
какому-нибудь инженеру типа С.П.Королёву -- более яркий показатель, чем
даже когда люди считают Бандеру святым.

22 months agoНам нужно больше RMS, а не меньше
Sergey Matveev [Mon, 19 Jun 2023 11:47:41 +0000 (14:47 +0300)]
Нам нужно больше RMS, а не меньше

https://ploum.net/2023-06-19-more-rms.html
https://writefreesoftware.org/
Автор верно подмечает что Столлман был прав во всём (по своей теме) с
самого начала. Проблема не в нём, а в том, что люди плохо умеют слушать.
Copyleft -- архиважнейшая вещь, люто ненавидимая поганым бизнесом,
поэтому и всюду пропаганда permissive лицензий.

22 months ago30 лет FreeBSD
Sergey Matveev [Mon, 19 Jun 2023 11:33:31 +0000 (14:33 +0300)]
30 лет FreeBSD

https://freebsdfoundation.org/national-freebsd-day/
https://www.opennet.ru/opennews/art.shtml?num=59313
https://habr.com/ru/articles/490408/
Замечательнейшая ОС! Всякие Unix-like ОС я перепробовал, но именно
FreeBSD всё моё предпочтение отдаётся. Так держать!

22 months agoВедение журнала/дневника в Vim
Sergey Matveev [Mon, 19 Jun 2023 11:29:21 +0000 (14:29 +0300)]
Ведение журнала/дневника в Vim

https://peppe.rs/posts/plain_text_journaling/
Я бы так не стал вести, но в целом статья понравилась тем, что вот
человеку захотелось визуально подсветить что-то: написал подсветку.
Захотелось Unicode-ные закорючки красивые рядом с задачами иметь:
добавил. Немного shell-скриптования для создания записей -- пожалуйста.

22 months agonavindent
Sergey Matveev [Sun, 18 Jun 2023 16:56:49 +0000 (19:56 +0300)]
navindent

http://www.git.stargrave.org/?p=dotfiles.git;a=blob;f=vim/.vim/pack/stargrave/start/navindent/autoload/navindent.vim
Ещё в прошлом году переписал IndentWise плагин на vim9script. IndentWise
использую (cc51ae4ee57659cddd1476b8992272eb20ff68e1) довольно давно, и
не только с Python кодом (8e49bec8beb1c745ef756855ca3c693e96524ed0).
Сейчас постоянно и с Go кодом, особенно когда много всяких switch/case
элементов, где вставлять пустые строки довольно непотребно может
выглядеть, только ради навигации "{"/"}" motion-ами. Как всегда, размер
моей версии на порядок меньше, правда за счёт немного выпиленного
функционала нафиг не нужного. Плюс на vim9script.

Из сторонних vim9script-capable плагинов у меня LSP-шный
(e1edf490d610d29c0574443d63abd42dd67aad7c). Как всегда, небольшие косяки
и правки приходилось делать. Время от времени обновлял этот плагин и
сейчас дошло до того, что у меня остался ровно один мой коммит поверх их
основного дерева -- постоянно всякие мелочи исправляют, никакого bloat-а
не добавляют.

22 months agoЗаконодательное форсирование внедрения IPv6
Sergey Matveev [Sun, 18 Jun 2023 11:29:32 +0000 (14:29 +0300)]
Законодательное форсирование внедрения IPv6

https://habr.com/ru/companies/vasexperts/articles/737076/
Всё больше и больше уже форсируют мигрировать на актуальный IP протокол.
В Белоруссии, оказывается, всё зашибись с его поддержкой. У нас пока
довольно всё отстало. До сих пор вижу что когда пишут новый софт, то
упорно туда вписывают весь этот legacy и даже не делают возможность (в
Си) использования IPv4.

22 months agoПосмотрел "Призрачный мир"
Sergey Matveev [Fri, 16 Jun 2023 11:12:13 +0000 (14:12 +0300)]
Посмотрел "Призрачный мир"

https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D1%87%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B8%D1%80
Местами очень ржачный. Понравился. Люблю Стива Бушеми и тут он почти как
главный герой, предостаточно его.

22 months ago24p
Sergey Matveev [Thu, 15 Jun 2023 19:19:38 +0000 (22:19 +0300)]
24p

https://en.wikipedia.org/wiki/24p
https://en.wikipedia.org/wiki/List_of_broadcast_video_formats
Просто ужас сколько сложностей создаёт NTSC из-за которого до сих пор
продолжают использоваться 23.976 FPS в современных цифровых фильмах.
Казалось бы, уж сейчас то, с прогрессивной развёрткой, чего сложного в
том, чтобы 24/48/25/50/60/120/whatever кадров просто показывать картинка
за картинкой? Всё равно до сих пор продолжают на пустом месте люди всё
усложнять. Неужели где-то остались NTSC бытовые устройства для которых
критично чтобы им с современной цифровой компьютерной техники показывали
обратно совместимо?

22 months agoВсё же OSPFv3 вместо Babel
Sergey Matveev [Thu, 15 Jun 2023 14:33:40 +0000 (17:33 +0300)]
Всё же OSPFv3 вместо Babel

Недавно переехал на Babel (2748f68d104c4b8e5bd45911c88618da1352a485) с
OSPFv3 между своими машинами. Несколько строчек конфига же всего
поменять надо. Но вот вернулся назад.

Просто не понравилось то, что при удалении маршрута, информация об этом
просасывается десятки секунд, минуты. Всё штатно, всё так и должно быть,
даже в документации BIRD это написано, но пару раз уже напарывался на
непонимание что у меня что-то не работает, когда игрался с сетью, а это
просто маршрут ещё не до конца, так сказать, удалился на соседних
машинах. В OSPFv3/BGP propagation удаления делается быстрее чем я
переключаю вкладки tmux.

Плюс были случаи, когда непонятные маршруты оставались, типа:

    2a04:ac00:a:146::27    2a04:ac00:a:146::25    UG1    wg_mail3
    2a04:ac00:a:146::27    2a04:ac00:a:146::25    UG1    wg_mail3
    2a04:ac00:a:146::28    2a04:ac00:a:146::25    UG1    wg_mail3
    2a04:ac00:a:146::28    2a04:ac00:a:146::25    UG1    wg_mail3

и никем не подчищались. Причём это наверняка проблема BIRD, ибо Babel
поддержка в нём официально экспериментальная.

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

22 months agoПопулярная оптическая иллюзия?
Sergey Matveev [Thu, 15 Jun 2023 12:28:08 +0000 (15:28 +0300)]
Популярная оптическая иллюзия?

https://naked-science.ru/community/855945
Я не понял в чём тут прикол. Секунды две я потратил чтобы увидеть 571.
Говорят это и есть правильный ответ. По моему при медосмотре в военкомате
давали более сложные картинки.

22 months agoSecurity flag, Evil bit
Sergey Matveev [Thu, 15 Jun 2023 09:40:28 +0000 (12:40 +0300)]
Security flag, Evil bit

https://blog.benjojo.co.uk/post/evil-bit-RFC3514-real-world-usage
https://datatracker.ietf.org/doc/html/rfc3514
https://svnweb.freebsd.org/base?view=revision&revision=112929
В IPv4 заголовке был неиспользованный бит, который в RFC 3514 превратили
в Evil Bit. Все кто его видят желательно должны уничтожать такие пакеты.

Для IPv6 куда больше возможностей: evilness (в словаре не нашлось
русского слова для этого, а в немецком красиво звучащее Boshaftigkeit)
сопровождается либо hop-by-hop опцией (IPv6 расширенный заголовок) и
end-to-end онной. В обоих случаях указывается 128-бит сила злобы, и
128-бит идентификатор конкретной совершаемой атаки.

Linux уже известно (c90bc350818e72ab786ff46ad4aae4739ca98c8b) насколько
небезопасен, поэтому они так и не реализовывали "Security flag", в
отличии, конечно же, от FreeBSD, где есть sysctl настройки:

    This fulfills the host requirements for userland support by
    way of the setsockopt() IP_EVIL_INTENT message.

    There are three sysctl tunables provided to govern system behavior.

            net.inet.ip.rfc3514:

                    Enables support for rfc3514.  As this is an
                    Informational RFC and support is not yet widespread
                    this option is disabled by default.

            net.inet.ip.hear_no_evil

                     If set the host will discard all received evil packets.

            net.inet.ip.speak_no_evil

                    If set the host will discard all transmitted evil packets.

    The IP statistics counter 'ips_evil' (available via 'netstat') provides
    information on the number of 'evil' packets recieved.

    For reference, the '-E' option to 'ping' has been provided to demonstrate
    and test the implementation.

22 months agoБага с шафтом в Quake
Sergey Matveev [Thu, 15 Jun 2023 09:37:15 +0000 (12:37 +0300)]
Бага с шафтом в Quake

https://www.youtube.com/watch?v=4gNYTqn3qRc
Только недавно (ba2d4709fa4768060f8c3cc12233105c18733479) упоминал
Quake, а тут вот объяснение его баги с шафтом, позволяющая стрелять во
врагов вообще на другом конце карты.

22 months agoParquet, ORC, Avro, Arrow, Protobuf, Thrift и MessagePack...
Sergey Matveev [Thu, 15 Jun 2023 08:34:29 +0000 (11:34 +0300)]
Parquet, ORC, Avro, Arrow, Protobuf, Thrift и MessagePack...

https://habr.com/ru/companies/vk/articles/741702/
Честно говоря, я вот только названия слышал Parquet, ORC, Avro, Arrow,
даже не вспомнив о чём это примерно. Не сталкивался с подобными задачами.
Точнее только в составе уже готовых решений типа Hadoop. А вот с
форматами серилиазции при общении между микросервисами уже имел дело.

В ivi (сейчас не знаю как, ибо возможно уже всё переписано) тоже было
много микросервисов: когда пользовательское приложение делает REST
запрос, то за ним ещё с полдюжины запросов к разным БД и другим серверам
может породиться. В основном всё общение между ними было по REST-like
протоколу, где кидались всякие JSON-ы. Время затрачиваемое на
(де)сериализацию JSON-а -- очень ощутимо в Python было (тогда никаких
Py3 не использовалось). Даже если доли миллисекунды, то если
просуммировать все многочисленные round-trip-ы между разными
микросервисами, выдут десятки миллисекунд запросто.

Я написал middleware для Flask, который прозрачно при запросах/ответах
может смотреть на Content-Encoding заголовок и видеть в нём поддержку
lz4 сжатия. lz4 для Python использовал Си-библиотеку и поэтому был очень
быстрым. Это позволяло ощутимо экономить на трафике, на количестве
пакетов передаваемых по сети, уменьшая задержки (размен CPU на кол-во
пакетов в сети). Смотря на Content-Type и видя в нём поддержку BSON, для
сериализации мог применяться BSON: он значительно быстрее JSON, хотя
размер мог быть и больше. Но после lz4 сжатия размер уже роли не играл.
Связка из прозрачных BSON+lz4 позволяла в разы, насколько помню,
сократить задержки.

Самое главное было конечно же минимизировать задержки связанные с сетью.
Вместо того, чтобы просто из Flask программы подключаться
requests/urllib/whatever к другому серверу, поднимался локальный nginx
(не мой выбор, я то не люблю nginx) и подключения шли к нему. На
противоположной стороне тоже был nginx. Между собой они поддерживали
keep-alive HTTP соединение, существенно экономя на TCP roundtrip-ах.

BSON был выбран потому что достаточно было поменять "json.encode" (или
как там?) на "bson.encode". А сам BSON, как зависимость, уже
присутствовала из-за MongoDB. Но позже поменяли это на MessagePack,
который Си-binding-и имел к Python. Он был ощутимо компактнее и,
действительно, очень быстрым. Насколько помню, сериализация BSON была
сравнима по скорости с Python, а десериализация быстрее. MsgPack же в
обе стороны был шустрее. Не все типы данных в него можно было засунуть
как в JSON, но то ли нам повезло, то ли нужны были тривиальные правки к
Python словарикам сериализуемым.

А вот на серверах связанных с кэшированием контента, использовался
Protocol Buffers. Между собой они широковещательно рассылали огромные
потоки UDP пакетов со знаниями о том, у кого какой контент присутствует.
Эта лавина UDP пакетов далеко не всегда полностью успевала
обрабатываться и часть пакетов терялась по сути. Так как этот процесс
происходил регулярно, то рано или поздно знания о соседях
актуализировались. Так вот, чтобы уменьшить вероятность потерь пакетов,
можно просто попытаться уменьшить их количество. В protobuf можно
написать схему структуры данных которые мы хотим передавать, а дальше
генератор напишет эффективный код по (де)сериализации онных.
Действительно, получалось очень компактно (даже целые числа там имели
варьируемой длины формат) и очень быстро даже в Python коде. Это первый
и единственный раз когда я встречался с protobuf, но впечатления
остались самые положительные, хотя это десять лет назад было. Причём
protobuf сообщения нужно было в последствии слать между Python и Go
программами -- никаких проблем тут не возникло.

22 months agoGoogle считает io_uring небезопасным
Sergey Matveev [Thu, 15 Jun 2023 07:48:05 +0000 (10:48 +0300)]
Google считает io_uring небезопасным

https://www.opennet.ru/opennews/art.shtml?num=59297
Давно я злорадствую и поливаю какахами Linux за низкое качество и
халтуру. И давно я говорил, что если в Linux что-то посчитали готовым к
применению, то нужно ещё лет десять подождать чтобы это начать пробовать.
Вот Google всё это и подтвердила касательно io_uring подсистемы. Именно
поэтому, на фоне Free/Net/OpenBSD систем, которые хотя бы не врут
касательно готовности к промышленному применению, я и не признаю ни Linux,
ни в целом всю GNU/Linux экосистему (хотя качество многих GNU программ
наоборот, как ни странно, хорошее), превратившуюся уже в systemdOS. И
даже не смотря на то, что в BSD системах многие вещи годами могут
находится в experimental состоянии, они издревле были технологически во
многом более совершенны (716e82e70f4e9bfbd4c604575bf60787c45561ed).

И чем мне не нравится open source
(https://opensource.com/resources/what-open-source)? Они заявляют в "Why
do people prefer using open source software?" о том, что OSS хорош по
ряду причин:

* Control -- технически да, но на практике, особенно с systemdOS,
  никакого контроля люди не имеют, из-за огромной сложности системы даже
  в простых вопросах. Кто-то полезет в Си код править что-то, если нужно
  поменять поведение? Берёшь какой-нибудь daemontools и там, из-за
  простоты, действительно можно что-то править, а в systemd... увольте
* Training -- типа люди становятся лучшими программистами возясь с OSS.
  На практике же у нас куча программистов которые только умеют
  жонглировать framework-ами (а GNU/Linux мир это мир framework-ов, без
  готовых законченных решений), но не писать и вести софт с нуля
* Security -- ну тут без комментариев
* Stability -- для меня тоже без комментариев. Можно ли иметь OSS софт
  безопасным и стабильным? Да. Но выполняется ли это по умолчанию на
  практике? Лучший пример -- OpenSSL, который для меня является стыдобой
  всего OSS и опровержением "закона Линуса" (given enough eyeballs, all
  bugs are shallow)
* Community -- тут не знаю, да и profit-а не вижу

В итоге, все их заявления ничего не стоят, и на практике не достигаются.
Тогда как заявы о свободном ПО (те четыре свободы) выполняются без вранья.
OSS это бизнес терминология, из которой следует и весь этот marketing
bullshit, ничем не отличимый от заяв Microsoft или Apple, лицемерие. И
такое же паршивое качество. А СПО говорит о возможностях (свободах), но
использовать ли их это уже другой вопрос.

22 months agoПосетитель концерта Roger Waters откусил ухо мужчине
Sergey Matveev [Wed, 14 Jun 2023 06:36:43 +0000 (09:36 +0300)]
Посетитель концерта Roger Waters откусил ухо мужчине

https://lenta.ru/news/2023/06/14/ear/
Я вот был уже полторы сотни концертов, общался (учился) с панками в
институте, и точно знаю что самые безопасные концерты это всякий death,
black, grindcore. Самые небезопасные, где в слэме лучше не падать, это
панки и... heavy metal, ибо на последнем частенько бывают люди пришедшие
не из-за музыки, а просто побухать, просто деваться некуда, просто
лясы поточить, тем более что на таком металле то народу много бывает.
На последнем концерте (40363086670e80c67dc1bb4ec981e4d460d0d694)
нас с отцом даже не обыскивали -- ибо на Crust не пойдут непойми кто.

Так чего же ожидали парни на концерте основателя Pink Floyd? На всех
билетах не даром пишут что посещение концерта это повышенная опасность.

22 months agoЕщё иноагенты
Sergey Matveev [Wed, 14 Jun 2023 06:15:41 +0000 (09:15 +0300)]
Ещё иноагенты

https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D1%85%D0%B0%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9_%D1%86%D0%B5%D0%BD%D1%82%D1%80
https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%B1%D0%B5%D1%80%D1%82%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D0%BF%D0%B0%D1%80%D1%82%D0%B8%D1%8F_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8
В продолжении eabedbc6fbd775cf3401612346c764ef160b336a, Сахаровский
центр, где на YouTube записи моих выступлений неоднократных, тоже
является иноагентом.

Вспомнил тут, что у меня же как-то была "дискуссия" с Либертарианской
партией на тему цензуры (9c51476a382f92bf3691e10bd843899f7b97d6de). Судя
по Wikipedia, у них там полная Санта-Барбара с поножовщиной внутри
организации. Даже на флаге изображена возбуждённая змея, что для меня
говорит только о том, что не жди ничего кроме яда токсичного -- именно
это впечатление токсичности (и ничего кроме неё) я и не встретил от них,
действительно.

22 months agoИнициализация PRNG в FreeBSD
Sergey Matveev [Tue, 13 Jun 2023 16:58:22 +0000 (19:58 +0300)]
Инициализация PRNG в FreeBSD

По умолчанию kern.random.initial_seeding.bypass_before_seeding=1, что
означает успешную отдачу якобы случайных данных, даже при отсутствии
должной инициализации генератора. man 4 random явно отмечает что это
не безопасно, что так и есть. Впрочем, в dmesg должны по умолчанию
вываливаться сообщения о попытках чтения до инициализации
(kern.random.initial_seeding.disable_bypass_warnings=0), чего не
происходит. /dev/random инициализируется из /entropy файла, сразу после
подключения корневой ФС.

А список источников энтропии можно посмотреть (и настроить маской):
kern.random.harvest.mask_symbolic:
PURE_RDRAND,[UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER],NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED

22 months agoИстория Quake
Sergey Matveev [Tue, 13 Jun 2023 09:02:29 +0000 (12:02 +0300)]
История Quake

https://www.youtube.com/watch?v=DCX_q5oQj6Q
Местами уж чересчур пафосный текст, даже выключить хочется, но... никуда
не денешься, ведь Quake это действительно революционное творение. А ещё
стоит посмотреть 23d464891159e0719159a6a946df6843c1de6680.

22 months agoЗеркалирование AUR зеркала
Sergey Matveev [Tue, 13 Jun 2023 08:08:46 +0000 (11:08 +0300)]
Зеркалирование AUR зеркала

https://github.com/archlinux/aur
Есть Git-репозиторий со всеми AUR пакетами. Каждый находится в своей
ветке, а это почти 115k штук. Просто так сделать git clone не выходит
из-за этого. Но можно доставать все эти данные частями, просто получив
список веток, а дальше по тысяче (например) штук их запрашивать:

    git ls-remote https://github.com/archlinux/aur.git |
    cut -f2 | sed -n "s/^refs.heads.//p" |
    xargs -L1000 | while read pkgs ; do
        for pkg in $pkgs ; do echo ${pkg}:${pkg} ; done | git fetch --stdin origin
    done

А ещё стоит сделать "git config gc.auto 0", так как Git упорно запускает
gc при всём этом, сильно тормозя весь процесс. gc можно вызвать руками потом.

22 months agoIncubation
Sergey Matveev [Mon, 12 Jun 2023 20:25:40 +0000 (23:25 +0300)]
Incubation

https://www.youtube.com/watch?v=sGWYiuXxHd4
https://en.wikipedia.org/wiki/Incubation:_Time_Is_Running_Out
Небольшой рассказ про игру 1997-го года. У дяди пытался играть в неё, но
было сложно, непонятно и страшно. А позже, уже на своём компьютере,
проникся ею и даже в 2010-х под Wine-ом запускал. Отличная тактическая
стратегия, где приходилось неслабо голову ломать -- каждая новая миссия
это отдельный пазл, никакого разнообразия.

22 months agoПовозился с Noise
Sergey Matveev [Mon, 12 Jun 2023 20:20:24 +0000 (23:20 +0300)]
Повозился с Noise

http://noiseprotocol.org/
Про Noise framework для построения криптографических протоколов я
конечно же знал прежде (75602bef8d50e9f327ff4e1e6565aab107c78cf8), с
чистой совестью рекомендовал бы всем. Использую его в NNCP. WireGuard
его Noise-IK pattern реализует (f6f262828dfebff1ae5f0fd3c8cfadacf45bdcde).
Но не приходилось его реализовывать с нуля (ну вот надо). Теперь уже
внимательно его документацию пришлось читать. Очень понятная, очень
простая, очень ясная. И очень круто, что они в таблицах приводят
свойства и уровни безопасности на каждом из шагов каждого pattern.
Пример для подражания.

22 months agoL'Homme Absurde, Gnot и Crust
Sergey Matveev [Sun, 11 Jun 2023 09:46:59 +0000 (12:46 +0300)]
L'Homme Absurde, Gnot и Crust

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

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

L'Homme Absurde открывали сие мероприятие. Отлично отыграли, народ с
середины уже начал слеймиться. Далее по афише должны были быть Мерзость
из Нижнего Новгорода, но облом, не было. Поэтому шли Gnot из Питера.
Полу-эмо, полу блэк, народ завёлся уже окончательно.

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

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

В общем, один из самых впечатляющих концертов! Ну и, конечно же,
прикупил недостающих альбомов Crust, альбом Gnot и Sönma.

22 months agoКак работали модемные ISP?
Sergey Matveev [Fri, 9 Jun 2023 20:50:01 +0000 (23:50 +0300)]
Как работали модемные ISP?

https://blog.randomstring.org/2023/06/09/how-did-dial-up-isps-work-/
Ничего нового для себя не узнал кардинального, но хотя бы просто
упомянуты примерные скорости каналов связи у самого ISP, примерное
оборудование.

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

А я через модем в Интернет почти не ходил. Одну, может быть две карточки
РОЛ приобретал (94009b3b008d26208b4fb31f1ffad60857085ed9), но и то на
всякий случай, email там завести, авось пригодится. Во-первых, а что в
этом Интернете было делать? Во-вторых, качество телефонных линий у нас
было такое отвратное, что это сущая боль даже пытаться на 9600bps
соединиться стабильно, даже с V.Everything Courier и "русской" прошивкой.
И мне очень не нравился факт того, что платишь за время, угнетал. И
когда GPRS начал появляться, становиться доступным, как и сотовые, то
вот тогда я уже полноценно стал членом сети Интернет, пускай тоже на не
высоких скоростях, но хотя бы не думая про время. И это всё у меня уже
через FreeBSD выходило, как и FidoNet.

22 months agoХранение PCM на видеокассетах
Sergey Matveev [Fri, 9 Jun 2023 19:38:15 +0000 (22:38 +0300)]
Хранение PCM на видеокассетах

https://www.youtube.com/watch?v=E-v7RwnGzKE
Уже в 1970-х были *домашние* устройства для хранения PCM цифрового аудио
на видеокассетах. С неплохой защитой от ошибок, с совместимостью как с
BetaMax и VHS, в том числе в "медленных" режимах записи. За много лет до
появления первых компакт-дисков. Автор задаётся вопросом: почему же, при
их наличии так давно, их не использовали для компьютеров, как хранилище
на несколько гигабайт данных? И предположил что просто столько данных и
так неоткуда взять -- до широкого распространения CD-ROM на IBM PC,
вполне для всего хватало и дискет.

А вообще устройства для хранения данных то были даже у нас:
ad67e5a0dfca5056d07a782b99250e2c0db31024.

22 months agoTurboBoost, атаки по побочным каналам, overclocking
Sergey Matveev [Fri, 9 Jun 2023 19:16:45 +0000 (22:16 +0300)]
TurboBoost, атаки по побочным каналам, overclocking

http://blog.cr.yp.to/20230609-turboboost.html
https://timing.attacks.cr.yp.to/overclocking.html
Масса информации от Бернштейна (DJB) касательно TurboBoost,
overclocking, долговечности систем, быстродействия и безопасности.
Он не одобряет все эти фишки связанные с резкими случайными
оптимизациями изнашивающими аппаратные компоненты, а также являющимися
отличными побочным каналами по сливу приватных ключей.

22 months agoPCIe gen 3 vs 4
Sergey Matveev [Fri, 9 Jun 2023 06:55:23 +0000 (09:55 +0300)]
PCIe gen 3 vs 4

https://lists.freebsd.org/archives/freebsd-current/2023-June/003817.html
У человека NVMe случайным образом выдаёт ошибки под FreeBSD. Пишут, что
у gen 4 больше вероятность ошибок и поэтому сама ОС должна заниматься
перепосылкой запросов, для чего есть отдельный протокол. Проблема под
FreeBSD решилась понижением PCIe на gen 3.

22 months agoБуча-2 не вышла
Sergey Matveev [Fri, 9 Jun 2023 06:39:31 +0000 (09:39 +0300)]
Буча-2 не вышла

https://ria.ru/20230609/plotina-1877092711.html
https://ukraina.ru/20230608/1047051049.html
Тоже удивлён тому, что зарубежные СМИ молчат и даже не обвиняют РФ
ни в чём. Про Бучу то вон сколько ора было, в которых даже самих
украинцев убеждают. Явно всё очень плохо на Украине с их очередным
контрнаступлением, что она переключилась на очередные террористические
акты, на подрыв аммиакопровода (благо, вроде бы смертью гражданских это
не закончилось), на разрушение ГЭС. АЭС активно обстреливают уже сколько
времени. Видимо, до Запада как-то начинает что-то доходить об этих
отмороженных нацистах. Даже ООН недавно внезапно отметила, что она против
нацистов, говоря про ВСУ.

22 months agoacme.sh запускает произвольные команды полученные с сервера
Sergey Matveev [Fri, 9 Jun 2023 06:29:57 +0000 (09:29 +0300)]
acme.sh запускает произвольные команды полученные с сервера

https://github.com/acmesh-official/acme.sh/issues/4659
Китайский CA (HiCA) работает только с acme.sh ACME-клиентом, потому что
в него можно запустить произвольные команды, что HiCA и делает, даже
вызывая напрямую bash. Вообще люди уже совсем озверевают от того, что
нормой является запуск произвольного кода с серверов сторонних. Для
Web-а большинство вообще уже по другому не может ничего делать.

22 months agoМышгород
Sergey Matveev [Thu, 8 Jun 2023 10:03:44 +0000 (13:03 +0300)]
Мышгород

https://www.myshgorod.com/muzmish.html
В середине 2010-х мы с родителями были проездом в городе Мышкин. А там
единственный в мире "Музей мыши". До сих пор вспоминаю, хотя я ведь уже
взрослой дубиной был, с теплотой о нём. Тысячи всяких игрушечных мышей!
Не то чтобы я был к ним неравнодушен, но мне было очень интересно и
весело всё это разглядывать там. До сих пор, с тех пор, у меня в
кошельке живёт маленькая глиняная мышка.

22 months agoМногие годы мой firewall был совершенно некорректно настроен
Sergey Matveev [Tue, 6 Jun 2023 09:14:56 +0000 (12:14 +0300)]
Многие годы мой firewall был совершенно некорректно настроен

https://docs.freebsd.org/en/books/handbook/firewalls/
Чуть ли не десять лет firewall/NAT у меня был в постыднейшем состоянии.
Он работал, но жутко сильно грузил процессор. С переездом на свой btrtrc
BitTorrent клиент (c2928fb18b27df55c19dd745753b2e76bdf2172b), который
значительно больше соединений поддерживает и UDP-транспорт, проблемы с
firewall/NAT стали очень видны. С переездом на новую FreeBSD
(0cfadc4b3f5ed39dba025a4aecf5cede864f9ad1), проблема ещё сильнее
усугубилась: если активно что-то начинает качаться, то я даже не могу
сделать SSH временами, отваливается NFS и всё в таком духе. Когда я
поднимал (6e7bec429305b04a664e01e6913d54d49fc0aaff,
394eb39744924cc673fcc8815eae1508440c9d44) публичный BitTorrent трэкер,
то всё было просто неюзабельно.

Причём при переезде (0aca426f64a513068a0bfffa563ab85f238a7d9f) с IPsec
на WireGuard я оставил IPv4 трафик вне туннеля зашифрованного, так как
IPv4 это всякая legacy Web-фигня и BitTorrent трафик -- штатно я уже не
помню когда пришлось бы явно руками что-то делать с IPv4 адресами. То
есть нагрузка на сетевую подсистему и CPU стала ещё меньше, но
отзывчивость системы ужасна.

Я понимаю что это явно косяк с моей стороны: ну не может жалкий 100Mbps
канал так нагружать всё, что 4-core Xeon не справляется. На 100Mbps
спокойно VIA C7 700-800MHz процессор с FreeBSD, NAT, ipf+ipfw+dummynet
справлялся без проблем.

tracker.cypherpunks.ru много где остаётся прописанным -- выключил его,
ибо не справляется ничего. Но стало "много" (речь про несколько тысяч
пакетов в секунду всего) трафика на DNS -- "решил" traffic shaper-ом.
Позже я просто drop-ал пакеты на firewall к порту трэкера. Полная фигня.

По top/*stat утилитам ничего не понятно что и где именно тормозит всё:
они показывают что на 4-х ядерном Xeon 80+% CPU ест исключительно ядро.
Где-то нашёл вот такой DTrace скрипт:

    callout_execute:::callout-start
    { self->cstart = timestamp; }

    callout_execute:::callout-end
    { @callouts[((struct callout *)arg0)->c_func] = sum(timestamp - self->cstart); }

    tick-1sec
    {
        printa("%40a %10@d\n", @callouts);
        clear(@callouts);
        printf("\n");
    }

    BEGIN
    { printf("%40s | %s\n", "function", "nanoseconds per second"); }

который показал что в dummynet модуле (traffic shaper) больше всего
времени проводится. Удалил shaping вообще -- хуже ничего не стало,
dummynet исчез, теперь libalias самый дорогой по вызовам. А это NAT.

Ещё вот такой простой DTrace скрипт интересен был:
    profile:::profile-1001hz
    /arg0/
    { @[ stack() ] = count(); }

И так было очевидно что дело в NAT-е. Просто отключая его, вижу что
нагрузка пропадает, всё тип топ. Пора начать за эти десять лет всё же
разбираться как корректно прописать правила в firewall.

Я использую ipfw и не хочу его менять, ибо привык (хотя и не научился
настраивать :-)), нравится ясность и простота правил (хоть и не логики
работы). Против PF ничего против не имею, знаю что там много есть
отсутствующего в ipfw, но мне не нужно оно.

          ------------------------ >8 ------------------------

Короче говоря, достаточно было *внимательно* читать самый обычный родной
FreeBSD handbook на тему ipfw (ага, в кой да веки за десять лет, RTFM).
Основная проблема это то, как я заруливал трафик в NAT:

    [...]
    $add nat 1 ip4 from any to $ip4 in via igb_wan
    $add nat 1 ip4 from 192.168.20.0/24 to any out via igb_wan
    $add check-state
    [...]
    $add allow [...]
    $add deny all from any to any

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

    [...]
    $add nat 1 ip4 from any to $ip4 in via igb_wan
    $add check-state
    $add allow [...] keep-state
    [...]
    $add nat 1 ip4 from 192.168.20.0/24 to any out via igb_wan
    $add deny all from any to any

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

    [...]
    $add nat 1 ip4 from any to $ip4 in via igb_wan
    $add check-state
    $add skipto 1234 [...] keep-state
    [...]
    $add 1234 nat 1 ip4 from 192.168.20.0/24 to any out via igb_wan
    $add deny all from any to any

но и тут засада в том, что будет отрабатывать deny правило всегда.
Поэтому nat+allow добавляется после deny:

    [...]
    $add nat 1 ip4 from any to $ip4 in via igb_wan
    $add check-state
    $add skipto 1234 [...] out via igb_wan keep-state
    [...]
    $add deny all from any to any
    $add 1234 nat 1 ip4 from 192.168.20.0/24 to any out via igb_wan
    $add allow all from any to any

Меня пугал этот последний allow, но штатно до него пакет не дойдёт. В
часть с 1234-им правилом можно попасть только через отработавшее skipto
правило, которое явно разрешило прохождение трафика.

И после этого нагруженность ядра упала чуть ли не до нуля.

          ------------------------ >8 ------------------------

Не то чтобы проблема, но обратил внимание на тысячи динамических правил
в stateful firewall создаваемых. И среди них почти все это DNS трафик от
сервера в ответ кому-то ещё. Явно их быть не должно, ибо DNS трафик
извне на 53-ий порт разрешён, а сам сервер отправляет данные точно так
же с этого же 53-го. Было у меня такое правило:

    $add allow { tcp or udp } from any to "table(mein)" domain
    [...]
    $add allow ip4 from $ip4 to any out via igb_wan keep-state
    $add allow ip6 from any to any out via gif_tb keep-state

и исходящий ответный DNS трафик создавал state-ы из-за последних правил.
Если же сделать:

    $add allow { tcp or udp } from any to "table(mein)" domain
    $add allow { tcp or udp } from "table(mein)" domain to any

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

          ------------------------ >8 ------------------------

Насколько же всё проще с IPv6, когда нет NAT.

22 months agoПочему MPEG-TS до сих пор всё ещё используется?
Sergey Matveev [Tue, 6 Jun 2023 09:02:02 +0000 (12:02 +0300)]
Почему MPEG-TS до сих пор всё ещё используется?

https://www.obe.tv/why-does-mpeg-ts-still-exist/
Когда есть RTMP, WebRTC, да и просто контейнеры типа Matroska и MP4?
Ну лично я про это знал и догадывался: из-за синхронизации и потерь пакетов.

22 months agoБольшая подборка снимков экрана раритетных ОС и программ
Sergey Matveev [Tue, 6 Jun 2023 08:54:26 +0000 (11:54 +0300)]
Большая подборка снимков экрана раритетных ОС и программ

http://www.typewritten.org/Media/

22 months agoРазница подходов ко времени в Go и Rust
Sergey Matveev [Tue, 6 Jun 2023 08:35:52 +0000 (11:35 +0300)]
Разница подходов ко времени в Go и Rust

https://ntietz.com/blog/units-in-go-rust/
В Go Duration это просто int64, обозначающий наносекунды. В Rust это
приватная/закрытая структура где отдельно есть секунды и наносекунды.
Собственно, как субъективно написал автор, у Rust "extra complexity".
Для меня Rust это в первую очередь сложность, как-будто ради сложности.

22 months agoЗамена bzip2 сжатия на Zstandard в newsyslog
Sergey Matveev [Tue, 6 Jun 2023 08:30:12 +0000 (11:30 +0300)]
Замена bzip2 сжатия на Zstandard в newsyslog

В bba2ac00d08517ef338d73d376b5113bec64e7f9 обнаружил, что newsyslogd
умеет в Zstandard жать. После (0cfadc4b3f5ed39dba025a4aecf5cede864f9ad1)
переустановки ОС забыл проверить что там в его конфигах. А там bzip2 по
умолчанию. Вот так можно поправить все конфиги, заменив "J" на "Y" для
сжатия:

    perl -F'\t' -i -lanpe '($F[$#F] =~ s/J/Y/g) if $#F > 0; $_ = join "\t", @F'
        /etc/newsyslog.conf /etc/newsyslog.conf.d/*

22 months agoКрасная Луна
Sergey Matveev [Sun, 4 Jun 2023 19:39:41 +0000 (22:39 +0300)]
Красная Луна

https://ru.wikipedia.org/wiki/%D0%9B%D1%83%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B7%D0%B0%D1%82%D0%BC%D0%B5%D0%BD%D0%B8%D0%B5#Полное_затмение
Мимо окна прошёл, увидел Луну. Красного цвета, здоровая, прямо над
горизонтом сейчас, но уже поднимается. Никогда в жизни не видел её
такого цвета. Пишут что это на ней затмение.

22 months agoGoCheese 4.0.0
Sergey Matveev [Sat, 3 Jun 2023 18:32:54 +0000 (21:32 +0300)]
GoCheese 4.0.0

В новой версии GoCheese удалил поддержку PGP подписей, как это сделал и
PyPI (b3b47ad4d00d6daefad47943d8f4eaafadfd4bed) и Warehouse его.

Плюс в январе они переименовали "blake2_256" в "blake2b_256" (о чём
думали прежде?) -- тоже синхронизировал это изменение. Поэтому в storage
надо сделать: for i (**.blake2_256) mv $i $i:r.blake2b_256

При скачивании пакетов, GoCheese делал запрос в Simple API и в JSON API.
Из первого брал список файлов с хэшами, а из второго сопутствующую общую
метаинформацию. Проблема в том, что Simple отдаёт только SHA256 хэш, а
JSON отдаёт все хэши (насколько понимаю, BLAKE2b-256 есть для всех).
Поэтому теперь беру знание о BLAKE2b из JSON API в приоритете.

22 months agoRicing
Sergey Matveev [Fri, 2 Jun 2023 07:17:15 +0000 (10:17 +0300)]
Ricing

http://blog.stargrave.org/russian/d73e406f07ab9df35eab080ccf9a30cb2420349f#comment0
https://www.shlomifish.org/humour/by-others/funroll-loops/Gentoo-is-Rice.html
В комментарии разъяснили что такое "ricing" применительно к компьютерам,
к Gentoo конкретно.

А я ведь когда начинал знакомства с GNU/Linux и FreeBSD, то под
последней тоже всё пересобирал главным образом чтобы указать флаги типа
-mcpu=k6-2. Ну и вообще всякие замеры производительности делал и получал
проценты выигрыша. Но MPlayer было критично компилировать под заданный
CPU, иначе MPEG 4 ASP нельзя было проиграть -- чуть-чуть не хватало ему
производительности CPU.

23 months agoЯзык ИТ-молодёжи
Sergey Matveev [Thu, 1 Jun 2023 11:41:56 +0000 (14:41 +0300)]
Язык ИТ-молодёжи

https://habr.com/ru/articles/739092/
https://wiki.installgentoo.com/wiki/GNU/Linux_ricing
Восьмиклассник пишет про свой путь в GNU/Linux мире. По теме нечего
сказать -- ну, молодец, здорово что его это всё радует, так и надо!

Но я просто не понимаю, даже примерно, некоторые слова:

>иногда играли в Among Us (дада, сейчас это кринж, но тогда было оч круто)

"Кринж"... ну явно это что-то негативное, видимо постыдное.
А на работе мне в 2015-2016-ом объясняли что такое "зашквар".

>выкладывали туда рофельные посты

Могу только предположить что это "ROFL"-статьи, но тоже не уверен.

>Написал дефолт конфиг и кодил в нем не зная режимов, клавиш и тд (кекал как мог)

Даже примерно не догадываюсь что такое "кекал".

>Мы обменивались райсами систем и радовались

Не понял что такое "райс". Подумал что это может быть название чего-то
специфичного для пакетного менеджера или ОС? Ну типа "ебилдов",
"портов"? Полез в поисковик... оказалось что, "rice" это что-то типа
обмена dotfiles. Вот вообще ни разу не встречал этого термина в
контексте ОС. Наверное потому что те, кто обмениваются темами и
картинками -- вряд ли пересекаются со мной на информационных ресурсах
(ну, вот кроме Хабра). Но так и не понял почему оно так называется.

23 months agoSIGINFO для sleep
Sergey Matveev [Thu, 1 Jun 2023 07:05:55 +0000 (10:05 +0300)]
SIGINFO для sleep

Обнаружил что SIGINFO (Ctrl-T) у sleep-а покажет:
    sleep: about 4663 second(s) left out of the original 7200
Как же это удобно, о чём уже упоминал в 954a5de29f23ee16e037b107e5847fd33799246e.

23 months agoАварии с DNSSEC это причина его отключения людьми
Sergey Matveev [Thu, 1 Jun 2023 06:49:19 +0000 (09:49 +0300)]
Аварии с DNSSEC это причина его отключения людьми

https://utcc.utoronto.ca/~cks/space/blog/tech/DNSSECFailureDrivesDisablement
https://www.opennet.ru/opennews/art.shtml?num=59217
https://ianix.com/pub/dnssec-outages.html
Недавно у .nz доменной зоны были проблемы с DNSSEC, временно сделав их
поддомены невалидными. И DNSSEC очень неприятная штука в том, что сразу
понять всё ли в порядке -- не просто бывает. Я когда-то у себя тоже
делал свои зоны подписанными DNSSEC (мой регистратор доменных имён
позволяет это делать) -- и несколько ошибок совершал, да так, что неделю
домены были не валидны оказывается. И забил на неё вовсе, достала. Потом
я вообще не стал признавать эту технологию из-за единственного NATO-based
trust anchor.

23 months agoКак петь блюз
Sergey Matveev [Wed, 31 May 2023 13:28:47 +0000 (16:28 +0300)]
Как петь блюз

https://dzen.ru/a/ZHENHW3CJ3sM465e

23 months agoБлокировка OpenVPN
Sergey Matveev [Wed, 31 May 2023 09:16:58 +0000 (12:16 +0300)]
Блокировка OpenVPN

https://habr.com/ru/news/738790/
Пишут, что с вечера вчерашнего дня многие провайдеры начали вредить
OpenVPN соединениям. Я OpenVPN не использую, но WireGuard туннель до
VPS у меня, вплоть до утра, работал через раз -- мониторинг
(6b7aeaf101572663bf56b5959cbfd95fab179157) сотнями писем заваливал о
том, что "о, связь появилась", "опа, пропала". Причём началось почти
ровно в девять вечера, в течении часов плохо себя вело. А потом в шесть
утра снова. Сейчас всё ok. Тренируются явно. Что ж... конец Интернета
уже становится совсем близок? Если я не могу (±) произвольные данные
между компьютерами передать, то это равносильно отсутствию связи,
неработающему каналу. Хотя, наслышан что преобладающая часть людей в
мире именно такой доступ в Интернет и имеет.

23 months agonetmap
Sergey Matveev [Tue, 30 May 2023 12:31:37 +0000 (15:31 +0300)]
netmap

https://man.freebsd.org/cgi/man.cgi?query=netmap&sektion=4
https://man.freebsd.org/cgi/man.cgi?query=vale&sektion=4
Посмотрев на pkt-gen утилитку для генерирования трафика, вижу ссылки на
всякие vale(4) и netmap(4) подсистемы. Я слышал про DPDK, но никогда их
не трогал. netmap из этой же серии, но даже под Windows, пишут, может
работать -- то бишь, портируемый. API у него очень простой -- прям
хочется взять и что-нибудь написать с его использованием. man-ы говорят
про 40Mpps производительность на 40Gb NIC-ах на одном ядре. Intel-овые
распространённые NIC-и в FreeBSD/netmap поддерживаются. А даже если и
нет, то можно их "эмулировать" и это всё равно будет в несколько раз
быстрее обычного ядерного bpf.

23 months ago"Открытый код" про GNU GPL. Mos.Hub
Sergey Matveev [Tue, 30 May 2023 12:09:47 +0000 (15:09 +0300)]
"Открытый код" про GNU GPL. Mos.Hub

https://russiaos.ru/ospo/
https://habr.com/ru/news/721944/
https://www.opennet.ru/opennews/art.shtml?num=59218
Недавно появилась организация "Открытый код". Будет заниматься вопросами
"ОСПО" в РФ. Не встречал "ОСПО" прежде, аналог FOSS. Есть у них даже целый
раздел посвящённый GNU GPL и его применимости: всё ok у нас, проблем с
ним нет, как многие считают. Даже ГОСТ на определение СПО упоминается, о
котором мельком отписывался (2fcded0750f1250134c7df3638b22b807f4717d0).
Но то, что там упор на "open source" -- конечно удручает.

Вот и сегодня новость об открытии Московского (а для РФ?) аналога
GitHub. Регистрация идёт через mos.ru, который у меня не позволяет ни в
одном броузере пройти регистрацию. Впрочем это всё равно, так как пишут
что этот хаб -- просто instance GitLab, с CAPTCHA от Google и обращением
к внешним США-серверам. Вообще удручает, что на создание аналога GitHub
выделяют миллиарды. И, как и GitHub, этим навряд ли можно будет
пользоваться без скачивания несвободного ПО.

23 months agoCDN BBC
Sergey Matveev [Mon, 29 May 2023 20:31:20 +0000 (23:31 +0300)]
CDN BBC

https://www.youtube.com/watch?v=nzk-hFHfZ2I
Презентация-рассказ о том, как устроен CDN у BBC. Приятно мне то, что
вообще всё понятно как, что и почему. Раньше я вот про сетевую часть
точно не понял бы.

23 months agoСписок release asset-ов проекта на GitHub
Sergey Matveev [Mon, 29 May 2023 12:03:03 +0000 (15:03 +0300)]
Список release asset-ов проекта на GitHub

GitHub стал настолько уродским (уже давно), что в нём даже список файлов
для релизов не получить без запуска JavaScript кода. Но, оказалось, что
их API позволяет эту информацию получить. Например для LLVM:

    curl https://api.github.com/repos/llvm/llvm-project/releases |
        gojq -r ".[] | .assets[] | .browser_download_url"

23 months agoОрганизация рабпространства в ящичках
Sergey Matveev [Mon, 29 May 2023 10:34:59 +0000 (13:34 +0300)]
Организация рабпространства в ящичках

https://dlinyj.livejournal.com/872931.html
Буквально вчера, впервые в жизни, я разобрался с огромной коробкой
всяких винтиков, джамперов и других крепежей, распределив их в
зависимости от резьбы и типов. И вообще дома почти всё уже тоже
распределил по коробочкам и ящичкам. И сам процесс нравится и сам
факт порядка. Вот у папы моего вообще беспорядок в этом плане.

23 months agomemset(0) vs memset ('\x00')
Sergey Matveev [Mon, 29 May 2023 10:19:51 +0000 (13:19 +0300)]
memset(0) vs memset ('\x00')

https://habr.com/ru/articles/118716/
https://stackoverflow.com/questions/23810453/why-use-0-instead-of-0-for-memset
Некоторые люди заморачиваются с типом аргумента для memset-а. Говорят
что даже есть заметная разница для этого. Лично я пишу просто 0, так как
это один символ, хотя по хорошему меня тянет написать именно character
нулевой.

23 months agoКоммерческое at
Sergey Matveev [Mon, 29 May 2023 10:10:56 +0000 (13:10 +0300)]
Коммерческое at

https://www.computerra.ru/287644/znak-kak-simvol-tehnologicheskoj-revolyutsii/
Я давно знаю что "собакой" @-символ называется типа только у нас (ну там
СНГ ещё), а в английском официально это "commercial at". Оказывается, в
других странах в этом символе видят улиток, червей, уточек, обезьян,
слонов, змей.

23 months agoДонорство 1488
Sergey Matveev [Mon, 29 May 2023 09:44:48 +0000 (12:44 +0300)]
Донорство 1488

https://ru.wikipedia.org/wiki/14/88
Увидел тут рекламу предложения сдачи крови. Ну это регулярно на работе
проводится. Но в этот раз предлагают компенсировать денежную сумму в
размере 1488₽. Вот там точно не знают про особое значение этого числа,
которое вообще официально присутствует в списке экстремистких материалов?

23 months agoKorea -- Zion
Sergey Matveev [Sun, 28 May 2023 16:55:29 +0000 (19:55 +0300)]
Korea -- Zion

https://www.youtube.com/watch?v=3HjMSZFf6cc
Случайно поставил тут альбом (The) Korea группы, совершенно не помня кто
это и что это. Забойный такой djent пошёл. А потом на одном трэке чувствую
что по русски что ли там запели. Оказалось что да. Живьём вот выступают
бодренько. Не Meshuggah конечно по техничности, но оторваться можно отлично.

23 months agoБыть хорошим человеком -- плохо
Sergey Matveev [Sun, 28 May 2023 06:50:47 +0000 (09:50 +0300)]
Быть хорошим человеком -- плохо

https://habr.com/ru/articles/738048/
Как считает автор статьи. Призывает быть эгоистом. Достаточно понять
какой он урод, просто по факту написания:
    Свалил за границу, когда родина в опасности? Предатель.
А разве нет? Разве не предатель? Не перебежчик?

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

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

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

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

23 months agoПосмотрел "Цензора"
Sergey Matveev [Sat, 27 May 2023 19:53:34 +0000 (22:53 +0300)]
Посмотрел "Цензора"

https://en.wikipedia.org/wiki/Censor_(2021_film)
https://www.ivi.ru/watch/464660
Какого живётся цензорам фильмов? Фильм покажет, что лучше с ними не шутить.
На музыку в фильмах я редко обращаю внимание, но тут прям в тему хороша.

23 months agoБлок питания beta.stargrave.org издох
Sergey Matveev [Sat, 27 May 2023 05:47:05 +0000 (08:47 +0300)]
Блок питания beta.stargrave.org издох

Проснулся, зашёл в комнату с компьютерами, а там как-то тихо. Лампочки
на коммутаторе мигают исправно, NUC не перезагружался (значит
электричество не пропадало). А вот "второй" сервер не работает, на
котором BitTorrent пахал. При попытке включения издаёт жалобный писк
затихающий. Поменял блок питания -- всё заработало. Правда корпус
открыт, БД лежит сверху, ибо форм-фактор совершенно другой.

23 months agoАнализ Converso
Sergey Matveev [Fri, 26 May 2023 09:33:02 +0000 (12:33 +0300)]
Анализ Converso

https://habr.com/ru/companies/productivity_inside/articles/737752/
Статья рассматривает очередной E2EE, весь из себя безопасный, IM.
Выясняется, что там всё до смехотворного паршиво, чистый snake oil.
Автор ещё и пообщался с этой компанией и её ответы показывают всё
некомпетентность разработки.

23 months agoPyPI всех переводит на двухфакторную авторизацию
Sergey Matveev [Fri, 26 May 2023 05:56:17 +0000 (08:56 +0300)]
PyPI всех переводит на двухфакторную авторизацию

https://www.opennet.ru/opennews/art.shtml?num=59198
Шустро они. Я вовремя свалил (61b09aa1dc97dfdfff5e80684d20a74ad3b4ef21).

23 months agoКипелов стал заслуженным артистом
Sergey Matveev [Fri, 26 May 2023 03:31:55 +0000 (06:31 +0300)]
Кипелов стал заслуженным артистом

https://www.darkside.ru/runews/64133/
Давно пора! С коллегой-металлистом решили что, действительно, никого
больше нет из металлистов, кого бы уж наверняка бы слышали и знали все
в нашей стране.

23 months agoЛампочки тормоза у электромобилей -- сущий ад
Sergey Matveev [Thu, 25 May 2023 17:46:01 +0000 (20:46 +0300)]
Лампочки тормоза у электромобилей -- сущий ад

https://www.youtube.com/watch?v=U0YW7x9U5TQ
Европа так вообще отличилась: она прям буквально запрещала включать
лампу тормоза, даже если ты *люто* тормозишь рекуперацией.

23 months agoGraph::Easy
Sergey Matveev [Thu, 25 May 2023 17:17:26 +0000 (20:17 +0300)]
Graph::Easy

http://bloodgate.com/perl/graph/manual/
Кроме PlantUML я давным давно в курсе про Graph::Easy модуль для Perl.
Когда надо порисовать всякие box-ы со стрелочками, да чтобы в UTF-8-art,
то беру этот инструмент, хоть и не очень часто бывает.

23 months agoPyPI убирает поддержку OpenPGP
Sergey Matveev [Tue, 23 May 2023 16:27:58 +0000 (19:27 +0300)]
PyPI убирает поддержку OpenPGP

https://blog.pypi.org/posts/2023-05-23-removing-pgp/
https://blog.yossarian.net/2023/05/21/PGP-signatures-on-PyPI-worse-than-useless
С одной стороны я понимаю что PGP там наверное нафиг не сдался, ибо на
Python в основном пишут те, кто даже не знает что "PGP" такое. И понимаю
что нужно поддерживать это в инфраструктуре -- хотя ведь это просто ещё
один дополнительный файл для загруженного пакета, чего тут сложного?

С другой, мне совершенно не нравится их исследование. Автор почему-то
считает что все ключи должны быть обнаруживаемы на ключевых серверах? С
фига ли? Он пишет что "aren’t discoverable by the PGP ecosystem’s own
tooling" -- нет, GnuPG и его автор открыто говорят что предпочтительный
способ обнаружения ключей это уже давно WKD. Не все хотят загружать свои
ключи на ключевые сервера. Это уже дело конечного пользователя как ему
получать доверие над пакетом или ключом его подписывающим. И раньше PyPI
хотя бы предоставлял возможность это доверие от автора привносить.

Автор считает, что почему-то должны быть expire data, ключи же ведь
протухают. Опять же, с фига ли?

RSA-2048, считается, имеет 112-бит силу. Ok. Чем это проблема? То что
наверное новые ключи стоило бы создавать посильнее -- ну да, наверное.
Но на практике это означает что 112-бит будут скоро ломать? Я вообще
считаю что от RSA давно пора избавиться, но не потому что у него
какие-то практические проблемы с безопасностью.

Про ECC ключи он написал:
    It’s also probably pointlessly slow (for P-521 and brainpoolP512r1
    in particular)
но умолчал, что это также probably в сотни раз быстрее RSA (for *25519
in particular).

Довольно безграмотное исследование в целом. Хотя да, конечно есть и
слабые ключи, и глюкавые, проблематичные, странные. А если бы они
разрешали заливать minisig/signify ключи? Не вариант, ибо у них вообще
нет discoverability из коробки, зато с криптографией никаких вопросов?

Но PyPI в последнее время ведёт себя люто негоже: и двухфакторная
авторизация (61b09aa1dc97dfdfff5e80684d20a74ad3b4ef21), и пару дней
назад они прикрыли регистрацию из-за создания множества зловредных
пакетов, а сейчас ещё и деградируют свой функционал (хотя это наверное
из 99.99% Python-программистов и не заметили бы). Я рад что вовремя
оттуда удалился, ибо не дело.

23 months agoKrahnholm -- A Wind In The Cold Night
Sergey Matveev [Tue, 23 May 2023 10:52:37 +0000 (13:52 +0300)]
Krahnholm -- A Wind In The Cold Night

https://www.youtube.com/watch?v=RmBYYeZ_mhE
Из купленной кучи black metal дисков (691da676c243e4a8163092c74bdb63a6e3c023af),
альбом Krahnholm-а похоже заслушиваю больше остальных. Black-ом это
сложно назвать, ибо достаточно легко слушается, мелодично, нет агрессии
как в Marduk каком-нибудь, но я тащусь от вокалиста и нравятся слова
(смысл не пытаюсь декодировать), лексикон
(ca23bc85781a099a3f61719c1714957ac20c8e6c).

23 months agoHDD Clicker
Sergey Matveev [Tue, 23 May 2023 10:37:41 +0000 (13:37 +0300)]
HDD Clicker

https://liliputing.com/25-board-brings-satisfyingly-retro-hdd-clicks-back-to-your-ssd-equipped-computer/
https://www.youtube.com/embed/zxTtG9wmAFM
Моя мечта! В NUC нету даже лампочки дисковой активности
(6233aef81564620a2908e5340cd38317d7e64c7f). А тут и лампочка и эмуляция
звуков жёсткого диска! В видео, правда, используется Compact Flash
небольшой, который относительно медленный, а вот если будет быстрый
NVMe, то звук (если он на каждую операцию/поиск производится) должен
превратиться во что-то монотонно гудящее наверное.

Недавно родители ко мне заходили и мама сразу же заметила как у меня всё
громко у компьютеров. Серверы стоят же рядом, а в них по четыре 3.5" HDD,
на которых, на тот момент, проводился ZFS scrub и BitTorrent работал.

23 months agoComalies потерян
Sergey Matveev [Mon, 22 May 2023 19:10:33 +0000 (22:10 +0300)]
Comalies потерян

https://darkside.ru/news/147756/
Lacuna Coil недавно перезаписали свой альбом Comalies, которому аж
двадцать лет. У меня он в фирменном виде был куплен. С новым альбомом
2022-го года толком не знакомился ещё, только пару моментов с некоторых
трэков услышал -- чистого вокала Андре там не услышал, только гроул, что
мне нравится. А вот в той же Heaven's A Lie, вокал Кристины мне не
понравился -- на старом альбоме было лучше. Зато музыка тяжелее и
сочнее.

Захотел вспомнить старенький... и у меня все альбомы этой группы есть в
хранилище, кроме именно этого Comalies! А он всё же точно лучший. И
только его и нет. Как он пропал -- даже предположить не могу. Ведь даже
физический диск имеется. Сразу же пошёл доставать USB CD-привод чтобы
исправить этот фатальный провал.

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

23 months agoСтатьи про TLS, УЦ, DNS и всякое подобное
Sergey Matveev [Mon, 22 May 2023 14:07:59 +0000 (17:07 +0300)]
Статьи про TLS, УЦ, DNS и всякое подобное

https://dxdt.ru/2023/05/22/10124/
Понравилось, что в статье про certificate transparency явно отмечено,
что CT-журналы являются всего-лишь ещё одним дополнительным компонентом,
но который тоже может быть скомпрометирован. А то, чуть ли не поголовно,
люди считают CT какой-то панацеей от плохих CA.

В статье про CA сертификаты явно отмечено, что там пофиг на подпись и
алгоритм подписи -- поэтому даже с MD5/SHA1 *CA* сертификат годен для
использования. А то как-то народ со мной спорил на ЛОРе, видя CACert.org
сертификаты с "небезопасным алгоритмом".

23 months agoСнимок скачков уплотнения у истребителя
Sergey Matveev [Mon, 22 May 2023 09:19:55 +0000 (12:19 +0300)]
Снимок скачков уплотнения у истребителя

https://naked-science.ru/community/850082
Круто получилось, прям видны скачки уплотнения. У нас в книгах только
схематично показывалось какими они должны быть.

23 months agoМой сборник обложек музыкальных альбомов
Sergey Matveev [Sun, 21 May 2023 16:10:44 +0000 (19:10 +0300)]
Мой сборник обложек музыкальных альбомов

http://www.stargrave.org/images/meats/1.page.html
С института собираю приглянувшиеся обложки альбомов. Просто где увижу,
что понравилось, то сохраню картинку. С переездом на родное шифрование
ZFS (0cfadc4b3f5ed39dba025a4aecf5cede864f9ad1), у меня теперь нет
отдельного раздела для root-а и для шифрованного dataset-а. Поэтому
размер директории домашней страницы не ограничен. Иначе её пришлось бы
размещать на зашифрованном разделе, который при перезагрузке кто-то
должен открыть. На VPS места тоже достаточно. Поэтому выложил свою
подборку этих, зачастую стрёмных, картинок. Сортируются они по mtime,
так что новые картинки будут в конце.

23 months agogo.cypherpunks.ru/balloon/v2 и Nettle
Sergey Matveev [Sat, 20 May 2023 17:46:04 +0000 (20:46 +0300)]
go.cypherpunks.ru/balloon/v2 и Nettle

https://lists.gnu.org/archive/html/info-gnu/2023-05/msg00007.html
https://crypto.stanford.edu/balloon/
В новой версии Nettle появился OCB режим шифрования (GCM в GnuPG
например не признают, вообще решили оставить только OCB, даже EAX убрали
за ненадобностью (d7d5650cac3bbb74434b202924e72fec10b82db3)), SIV-GCM
(приятно что не забывают про SIV), а также Balloon хэширование.

Я следил за Password Hashing Competition, знаю что там победил Argon2, в
курсе что он добавлен даже в штатные библиотеки Python, но мне очень уж
нравится Balloon, который появился попозже, но, судя по бумагам про
него, лучше Argon2. А самое главное -- он значительно проще в
реализации. Balloon это надстройка над любым существующим хэшом. В
Nettle весь код Balloon умещается на одном экране. А Argon2 хоть и
основан на BLAKE2, но это не надстройка.

А так как тестовых векторов и reference реализаций Balloon не было
прежде, то тут уж каждый пишет её как хочет. Но в Nettle тестовые
вектора взяты из нескольких других библиотек, а значит некая де-факто
унификация между ними уже имеется. Вот и /v2 версию своей Balloon
библиотеки я тоже подправил, чтобы она производила совместимые
результаты.

А ещё Nettle поддерживает Стрибог и есть nettle-hash утилита, которая у
меня выдаёт 100MiB/sec.

23 months agoMyHouse.WAD
Sergey Matveev [Sat, 20 May 2023 15:57:02 +0000 (18:57 +0300)]
MyHouse.WAD

https://www.youtube.com/watch?v=i2eAXF1AqaE
https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%BE
https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%BC%D0%B0%D1%8F_%D0%B7%D0%B0%D0%B3%D0%B0%D0%B4%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B5%D1%81%D0%BD%D1%8F_%D0%B2_%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D0%B5
Про игры я всякие новости смотрю иногда, но почти никогда не возникает
желания поиграть. А тут прям гениальное стрёмное творение, слюни текут!