Sergey Matveev [Sat, 28 Dec 2024 22:51:55 +0000 (01:51 +0300)]
Собрал деревянный пазл
Подарили на день рождения, но собрал под конец ноября. Не картонный, а
деревянный, толстый. Формы элементов самые разнообразные и, как мне
друзья сказали, что раз женщины нет, то хотя бы на их формы в пазле
можно полюбоваться будет. На картине мужик флиртует с дамой, но если
издалека посмотреть, то видно будет лицо Зигмунда Фрейда. Собирать
подобный, как мне показалось, проще чем классические, где только по
картинке ориентироваться можно.
Sergey Matveev [Sat, 28 Dec 2024 09:53:45 +0000 (12:53 +0300)]
Архитектура экосистемы интернета
https://ii.org.ru/magazine/internet-iznutri-arhitektura-ekosistemy-interneta/
https://ii.org.ru/wp-content/uploads/2024/08/ii_bookwebfix4-1.pdf
Как же я офигел от факта наличия подобной книги! Уйму времени пытался
найти что-то подобное, но всё лишь только по маленьким кусочкам то тут,
то там. А тут увидел упоминание журнала в одном блоге, пошёл его искать,
дальше пошёл глядеть на разделы, где упоминалась эта книга. Причём в
разделе "все номера" есть всё, кроме этой книги.
Sergey Matveev [Fri, 27 Dec 2024 09:29:54 +0000 (12:29 +0300)]
linkmeup подкаст про спутниковую связь
https://linkmeup.ru/podcasts/2725/
https://ru.wikipedia.org/wiki/Орбита_«Молния»
Со школы тема спутников и космических кораблей у меня в жизни всегда
была, ибо и город этому посвящён и родители на космос работали. Затем в
институте учился строить эти самые корабли с разгонными блоками. И даже
на работе тема со спутниковой связью имеется.
И вот в этом выпуске linkmeup-а я не только почти ничего нового не
узнал, но и куда больше мог бы ещё рассказать, причём не только по теме
самой связи, но и тех же орбит или особенностей работы аппаратов. Блин,
ну как можно сказать что орбита "Молния" это нечто среднее между
геосинхронной и низкой (потому что ни то, ни другое)? Или то, что именно
в комментариях сказали про орбиты захоронения? Вроде ещё неточности или
даже ошибки были.
Sergey Matveev [Fri, 27 Dec 2024 09:24:10 +0000 (12:24 +0300)]
Год прошедший
Относительно насыщенный вышел у меня год.
* был на грани увольнения с работы. Как и куча дум об уходе из профессии
в принципе. Но благодаря одному коллеге, пока повременил со всем этим
* в пух и в прах разосрался с коллегой, даже не здороваемся. Хотя прежде
были дружеские отношения и тьма времени проведённая за разговорами не
касающимися работы
* сделал предложение выйти замуж. Получил отказ. Потерял 5кг веса после
* понял, что мне надо брать отпуск в августе, ибо именно в этот месяц
меня накрывает недовольство и раздражение всем и вся
* во второй раз стал крёстным отцом
* побывал в Новосибирске, очень доволен поездкой. Был рядом с местом
появления первого фидошного узла в СССР. Основной целью было отмечание
дня рождения музея вычислительной техники Дмитрия Бачило
* на работе ощущение, что толком ничего не делал в этом году. Хотя вроде
бы и уйму кода писал постоянно, админил что-то, отлаживал, но неужели
это всё за 12 месяцев происходило? При этом во внутренних документах
меня успели сделать и "senior разработчиком", и "архитектором
решений", недавно и "старшим разработчиком криптографических
протоколов". Но чувство бесполезности как и на самой работе, так и
вообще по жизни -- всё сильнее и сильнее за последние месяцы
* начал ходить на оперы, и с нетерпением жду очередных. Огромное
удовольствие от некоторых получил
* а вот на рок/метал концертах совсем мало побывал. Зато был на
выступлении Пахома, авангардного психоделического панка
* попробовал вернуться в FidoNet, но не нашёл работающего софта под
современные UTF-8 терминалы. Похоронил для себя эту сеть, всё
* прослушал (прочитал) кучу подкастов linkmeup.ru, просмотрел курсы по
построению ЦОДов, понял что в некоторых местах я уже знаю теорию куда
больше чем преобладающее большинство курсов мне могли бы дать. Ещё
больше навозился с BGP, стал ещё и на работе его применять
* перестал поддерживать .ru домены. cypherpunks.ru превратился в
cypherpunks.su. cryptoparty.ru в следующем году протухнет (стал
cryptoparty.cypherpunks.su). А других и не осталось. Также протух
GoVPN.info. Надежда что Госуслуги не нужны будут для не .ru/.рф
* пересел за HiDPI монитор, очень доволен
* добавил ещё 40TiB сырого места в сервер основной
* сменил изнашивающийся Philips сотовый телефон на Nokia с поддержкой
VoLTE. Заряд держит почти так же долго, VoLTE даёт отличный user
experience. Но да, всё ещё не отказался от сотового телефона
* на Хабре написал три статьи: по *PGP vs age/ssh, про VoRS, про
эффективное общение на работе
* сделал маленькую систему issue tracking-а на основе plain text файлов
и директорий, называемую schwabrak
* сделал continuous integration систему, переросшую в систему сборки и
управления пакетами. Изначально называемую zwoki, затем BASS. Перевёл
200+ пакетов на своём компьютере в неё. На работе используется для
боевого проекта. Доволен результатом, не ожидал что будет и просто и
так отлично работать
* для неё написал детерминированный pax архиватор detpax, который и вне
BASS-а использую. Запомнился тем, что его написать было не самым
тривиальным делом
* написал своё VoIP client-server решение, VoRS. Вовсю использовали и
используем с коллегами. Простота, хороший user experience,
защищённость (причём никакого TLS, Noise вместо)
* сделал компактный, детерминированный, потоковый, простой формат
сериализации данных. Изначально названный YAC, затем переименованный в
KEKS. Плюс реализации на Си, Go, Python, Tcl. Си и Go на одном уровне
с MessagePack по производительности. А также форматы сертификатов и
аналогов CMS-ок на его основе
Sergey Matveev [Fri, 27 Dec 2024 08:57:37 +0000 (11:57 +0300)]
Парсинг команд в Adventureland
https://monsterfeet.com/grue/notes/56
https://ifdb.org/viewgame?id=dy4ok8sdlut6ddj7&reviews
В игре очень примитивный парсер команд, ибо она вообще для TRS-80
создавалась изначально. В ней есть головоломка с медведем, на которого
надо накричать (scream), чтобы он так поразился этому, что упал бы в ущелье.
Один рецензент написал, что в детстве никак не мог пройти этот этап в
игре, не знал что надо делать. И написал "screw bear". Но парсер
вычитывает только первые символы каждого слова. "screw" и "scream" у
него совпали, поэтому "The bear is so startled it falls off the ledge".
Sergey Matveev [Fri, 27 Dec 2024 08:00:24 +0000 (11:00 +0300)]
10GbE twinax DAC vs витая пара 8P8C
Дома у меня два сервера соединены twinax DAC-ом, а мой NUC через обычный
Ethernet по витой паре (5 или ниже категории) 8P8C соединением. ping-ом
можно увидеть что у витой пары и задержка больше и её колбасит и ошибки
приёма регулярные. Но 10Gbps вытягивает, без проблем.
Но я такие 10GbE соединения называю ненастоящим 10GbE. Ибо из-за
задержек user experience будет отличаться даже невооружённым глазом.
Делаю find . -exec stat {} + >/dev/null на сервере в директории с
музыкой, чтобы прогреть его ARC кэш. Делаю umount и mount (чтобы кэша не
было) этой директории по NFS на компьютерах подключённых DAC-ом и витой
парой. Ну и выполняю такой же find.
На DAC-е это занимает ~5сек. На витой паре ~10.5сек. На 1GbE, правда
идущем ещё и через WireGuard, занимает вообще 46сек. Ошибок передачи на
витой паре при этом не было (счётчики не вырастали). При этом, компьютер
с витой парой и мощнее и сетевуха в нём получше, понавороченнее.
Sergey Matveev [Thu, 26 Dec 2024 08:45:31 +0000 (11:45 +0300)]
Заценил "Мрьтвоземъ" альбом Всполоха
https://vspolokh.bandcamp.com/album/mertvozem
Очень понравились их два имеющихся у меня альбома. Когда узнал что в
этом году должен был выйти ещё один -- то прям ждал его. Появился вот.
Однозначно прям лучший что у них слышал! Взяли всё самое лучшее что
умеют и отточили. Превосходный альбом, который слушал снова и снова!
Sergey Matveev [Wed, 25 Dec 2024 12:41:10 +0000 (15:41 +0300)]
IPv6 vs IPv4 от Етайп провайдера
https://etype.ru/ipv6-vs-ipv4-chto-luchshe
https://lentel.ru/internet/services/internet2.0/
"В основе протокола IPv4 – технология NAT"
"IPv6 отошел от системы NAT, и каждый пользователь получил собственный IP-адрес"
"IPv6 представляет собой адрес в виде 8 чисел. Есть возможность создать
340 вариантов комбинаций"
"IPv6 протокол основан на шестнадцатеричном коде"
"Протокол применяет IPsec-шифрование, которое целиком скрывает трафик.
Из-за IPsec-шифрования его фактически невозможно расшифровать. В IPv6
она вшита по умолчанию"
"За применением IPv6 следит Google"
"Преодоление ограничений NAT дало расширить список адресов с 32 до 128 бит"
"Оба IP-протокола являются безопасными, но эксперты считают, что
переход на новую версию еще не завершился, поэтому его юзеры уязвимы
в отличие от пользователей 4-ой версии. Но последние благодаря
провайдерам получают доступ к контенту IPv6, применяя IPv6-туннели.
Именно ими можно воспользоваться для атак."
О чём тут вообще речь идёт?
Впрочем, некоторые вещи приятно отметили: быстрее обрабатывать
заголовки, отсутствие фрагментации, NAT-а, QoS потенциальный,
автоматическая настройка адресов.
Провайдер Лентел же называет IPv6 "Интернетом 2.0".
Sergey Matveev [Wed, 25 Dec 2024 09:47:42 +0000 (12:47 +0300)]
EXPLAIN команда PostgreSQL и оптимизация запросов
https://habr.com/ru/companies/spectr/articles/869472/
Очень много статей на тему планировщика запросов в Postgres, упоминаний
важности EXPLAIN команды, но не вспомню были ли примеры того, как можно
использовать информацию из EXPLAIN-а. Типа всё очевидно и сами догадайтесь
что можно подкрутить для ускорения запроса? На моей практике то так и
было всегда, но с картинками и чёткими примерами с work_mem и индексами
куда приятнее читать.
Sergey Matveev [Tue, 24 Dec 2024 18:21:24 +0000 (21:21 +0300)]
Sierra On-Line Video Catalogue
https://archive.org/details/SierraOnLineVideoCatalogue1988
Посмотрел три видео-каталога игр от Sierra. Там так часто повторяют
"3D animated adventure", хотя даже prerendered 3D никакого нет. Чистый
2D, ничего кроме. Ещё забавно слышать "cinematic" качество, хотя кадры
из игры при этом возможно даже возможности простого VGA не вытягивают.
Но многие игры там хороши, спору нет.
Sergey Matveev [Tue, 24 Dec 2024 08:44:20 +0000 (11:44 +0300)]
Барьеры и модели памяти
https://habr.com/ru/articles/869188/
https://www.puppetmastertrading.com/images/hwViewForSwHackers.pdf
Интересная вводная статья поясняющая что такое модель памяти и какие
проблемы возможны связанные с ними. Мне пока не приходилось с этим
сталкиваться. Точнее на практике все обращения к shared/concurrent
данным всё равно идут через, хотя бы, использование mutex-ов.
Sergey Matveev [Tue, 24 Dec 2024 08:21:51 +0000 (11:21 +0300)]
Выручка компьютерных клубов 25+млрд₽
https://habr.com/ru/news/869222/
В 2000-х у меня много одноклассников прогуливало уроки, чтобы провести
время за Counter Strike в Интернет-кафе. Интернет нафиг никому не нужен
был. Коллега, который постарше, говорит, что его одногруппники уже ради
Интернета туда ходили, ибо в общежитии он был слишком медленным. Потом я
вообще перестал видеть упоминание компьютерных клубов где-либо, ибо
Интернет у всех дома появился. И лишь несколько лет назад начал обращать
внимание на то тут, то там появляющиеся киберспортивные заведения.
Мне казалось, что современный домашний Интернет по Ethernet (который так
распространён в области) имеет достаточно низкие задержки, чтобы было
бессмысленно играть через локальную сеть. Но коллега говорит, что всё
равно разница заметна на практике. Выходит, это у нас киберспортсмены в
клубы активно ходят? Хотя я тоже задумывал как-нибудь побывать там,
чтобы хоть раз надеть очки виртуальной реальности (а есть ли они там?).
Sergey Matveev [Tue, 24 Dec 2024 08:13:10 +0000 (11:13 +0300)]
Снова YouTube не работает
https://lenta.ru/news/2024/12/23/youtube/
Про замедление ничего не знаю -- у меня его ни разу не было. Просто
вообще не работает TCP/HTTPS до CDN серверов. Но сейчас нечто другое:
мне по HTTPS-у Google-овые CDN сервера отвечают 403. И вот как мне
поверить в то, что это не именно Google занимается блокировкой? Или я
настолько не понимаю устройство сетей? Чтобы "наши" смотри засунуть в
TLS-защищённое соединение 403, то это же надо сделать полноценный MitM.
А я проверял: там и домены и сертификаты от Google. Именно они выдают
403, чего прежде не было.
Sergey Matveev [Sun, 22 Dec 2024 18:23:58 +0000 (21:23 +0300)]
Сходил на рождественский концерт оркестра волынщиков "City Pipes"
Были с отцом в марте (438b3abba28b1c19cf976457e11805464c2fb53c). Он
отказался идти на оперы, на всякий рок и метал, но только на волынки
захотел. В этот раз нам обоим понравилось даже больше чем их программа с
рок хитами. Атас как нам их выступление понравилось! И какие же они
громкие, что чуть ли не уши готово заложить, без всяких усилителей,
особенно после вчерашнего концерта виолончелистов!
Среди всяких Beatles, Queen, AC/DC и другого рока, даже Prodigy был. Ну
и конечно и наша "В лесу родилась ёлочка", со всякими "Silent Night" и
прочими английскими рождественскими, по тематике.
Sergey Matveev [Sun, 22 Dec 2024 12:54:23 +0000 (15:54 +0300)]
Язык лёгкого поведения
https://habr.com/ru/articles/867002/
Очень понравились мысли автора, так как абсолютно точь-в-точь такие же
волнуют и меня. Жутко бесит, когда используют слова, аналог которых у
нас вовсю есть. Если и нет, то почему бы не придумать?
Когда поклонялись Франции, у нас был фризёр. Поклонение Франции
сменилось поклонением Германии, фризёра выкинули и заменили
парикмахером. Сейчас, когда идолом стала Америка, уже почти родного
"парикмахера" заменило слово "барбер".
Я бы просто принципиально не пошёл бы в место, где в названии есть этот
"барбер". А так да, точно также бесят, и я никогда не употреблю,
"акцептовать" или "таргет", как у нас всякие чиновники любят. Что
ИТшники у нас большей частью являются позорными проститутками (на фоне
СВО стало заметно), что даже в языке проституция проглядывается.
Sergey Matveev [Sat, 21 Dec 2024 22:13:18 +0000 (01:13 +0300)]
Посмотрел "Падение империи"
https://ru.wikipedia.org/wiki/Падение_империи
Ибо порекомендовали. Но... я не понял ради чего и что там было смотреть.
В крупнейшем террористическом государстве началась небольшая буча и
внутренние волнения.
Особо никаких ужасов не показывают. Ну да, разрушают столицу, что
происходит в каждой стране куда они суются. Ни одного изнасилования,
ни одного бесчеловечного отношения в фильме нет, чего ну не может не
сопровождать этих вот.
Единственного персонажа показали, который по признаку "кто откуда?"
сразу же убивает. На весь фильм такой один нашёлся. Да у нас под боком
многомиллионная нацистская организация таких вот. Уж лучше посмотреть
"Солнцепёк" (3a378f33ce667972c1019caaa29732c80811f23c).
Ну и да, конечно же, президента в фильме должна кончить негритянка.
Sergey Matveev [Sat, 21 Dec 2024 20:11:34 +0000 (23:11 +0300)]
Сходил на Magic Cellos Band исполняющих мировые рок-хиты
Три виолончелиста, басист, барабанщица, скрипачка исполняли хиты
AC/DC, Metallica, Rammstein, Nirvana, Queen, очевидную Deep Purple,
Cranberries, ещё что-то знакомое, но забыл названия. В целом то
понравилось, но виолончели не как у Apocalyptica с distortion-ом,
так что звук не сильно насыщен. Даже на волынках его было куда больше.
Sergey Matveev [Sat, 21 Dec 2024 11:28:37 +0000 (14:28 +0300)]
100+Mbps 5G или 8Mbps ADSL?
Один знакомый из Голландии до сих пор использовал ADSL на несколько
мегабит. С месяц назад пересел на 5G провайдера. Скорости под
100-120Mbps.
Но никакого IPv6 ни в одном месте (а ведь в этой стране всё очень хорошо
с ним, насколько слышал, даже на ADSL). Никаких статических IP адресов.
Обнаружилось, что трафик между машинами в локальной сети через этот 5G
маршрутизатор не идёт вовсе. Действительно, кому нужно чтобы машины в
LAN общались между собой? Точно не известно, не понятно, но похоже что
также не работает всё корректно и если на одном MAC-адресе будет
несколько IPv4 адресов. Про такие особенности/ограничения вообще не
слышал прежде. А потом ещё обнаружилось, что банальный fetchmail
получающий по POP3/IMAP4 почту с VPS-ки отваливается регулярно, виснет
и, проще говоря, не работает.
В итоге он вернулся назад на ADSL. Скорость более чем на порядок хуже,
но хотя бы хоть как-то вменяемо работает. А 5G решение от того
провайдера прям насквозь пропитано чисто потребительской задачей, где
устройства только к облакам всяким в Интернете подключаются.
Sergey Matveev [Sat, 21 Dec 2024 11:14:28 +0000 (14:14 +0300)]
Сходил на оперу "Фауст" Шарля Гуно
https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D1%83%D1%81%D1%82_(%D0%BE%D0%BF%D0%B5%D1%80%D0%B0)
Боялся что французский язык всё испортит, но нормально, не сильно резал
слух. В целом понравилась, но не такой восторг чтобы я захотел снова на
подобное сходить, в отличии от "Летучего голландца" или "Реквиема". Но
лучше Аиды (411cc4cd20be6c375c0cbb101330d1aa2fd7fae8), как по мне. Очень
понравилась игра Мефистотеля.
Sergey Matveev [Sat, 21 Dec 2024 11:10:10 +0000 (14:10 +0300)]
34 indie игр
https://www.youtube.com/watch?v=OW22UW1rzS0
Не раз говорил, что всякие mainstream игры вот не тянуть в них поиграть.
Недавно видел Anger Foot (6abd846d0d5d7551aadee1c2e137232d090ff0a5), в
который бы не прочь поиграть. А в подборке по ссылке чуть ли не все
вызывают интерес (Anger Foot там тоже есть).
Sergey Matveev [Wed, 18 Dec 2024 19:08:48 +0000 (22:08 +0300)]
Морковный кекс
Недавно я переименовал свой "YAC" кодек в "KEKS". На днях занимался
оптимизацией производительности этого кекса. А пару часов назад я
осознал, что по пути домой я взял морковный кекс. Даже не вспомню
когда я сам захотел именно кекса поесть.
Sergey Matveev [Wed, 18 Dec 2024 19:04:08 +0000 (22:04 +0300)]
Показали Go код написанный ChatGPT
С одной стороны, можно спать спокойно: даже для простой задачи этот код
был полным говном. Которое бы ни в какую не прошло бы моё review. Да,
должен работать. Да, задачу выполняет. Но говно с кучей прекучей всякого
лишнего и ненужного.
С другой стороны, фиг уснёшь, потому что если всякие junior-ы будут
незадумываясь тырить подобный код, то потом нечего удивляться почему его
поддержка так дорога и почему он такой медленный.
А ещё ChatGPT любит в программах интерактивно считывать входные
значения, прямо как в школе учили "введите число n: ". Был у нас один
стажёр, который довольно быстро сдал задачу с такой вот интерактивщиной,
но после моего ревью ни одного куска кода мы больше не увидели. Теперь
уверен, что это ChatGPT написал.
Sergey Matveev [Tue, 17 Dec 2024 08:57:40 +0000 (11:57 +0300)]
Let's Encrypt будет выпускать 6-ти дневные сертификаты
https://letsencrypt.org/2024/12/11/eoy-letter-2024/
https://dxdt.ru/2024/12/16/14387/
https://www.schneier.com/blog/archives/2024/12/short-lived-certificates-coming-to-lets-encrypt.html
Автор статьи на dxdt ещё считает что и броузеры вскоре перестанут
поддерживать сертификаты относительно продолжительной жизни. И да, для
подобных сертификатов уже подразумевается использование ACME/whatever,
ибо по два раза в неделю (с опережением же надо) вручную продлевать
сертификаты никто не станет. Даже неделю ваши ресурсы уже не смогут
проработать без третьего лица.
Sergey Matveev [Mon, 16 Dec 2024 20:17:52 +0000 (23:17 +0300)]
Небольшая история появления CBOR, а также Binc формата
http://ugorji.net/blog/go-codec-cbor
http://ugorji.net/blog/announcing-binc-data-interchange-format
http://ugorji.net/blog/update-on-binc-data-interchange-format
Один чувак пошёл в IETF стандартизовывать свой CBOR, а другой делать
быстрый и простой Binc формат. Про последний я поэтому и не слышал
прежде. Выглядит приятно, идея с символами (reusable строчками) мне
нравится и сам думал про что-то такое, но это усложнило бы для embedded
решений реализации. Оба были не удовлетворены тем, что в MessagePack нет
времени как типа данных, ну и дифференциации строчек.
Sergey Matveev [Sat, 14 Dec 2024 17:31:49 +0000 (20:31 +0300)]
Отключали свет на четыре часа
Появился повод выбраться к родителям поболтать.
Но произошло нечто удивительное: после этого все, ранее недоступные,
сайты с Hetzner стали открываться. Совсем недавно одному коллеге
пришлось перезагрузить компьютер, ибо его сетевуха сбоила. У другого
коллеги надо было домашний маршрутизатор перезапустить, так как часть
ресурсов Интернета работала, а другая нет. И мы в шутку брякнули о том,
что нашим бы провайдерам перезагрузить их оборудование. И вот моему это
точно помогло :-)
Sergey Matveev [Fri, 13 Dec 2024 20:46:38 +0000 (23:46 +0300)]
Производительность декодера YAC
Реализации YAC (вскоре KEKS) ещё даже не покрыты тестами (кроме Python
версии), пока ещё всё в процессе и прогрессе. Но я так ни разу и не
мерил производительность чего бы то ни было. Совершенно не знал что
можно было бы ожидать от того что наваял.
Исходные данные взял с коллегой из
https://github.com/getml/reflect-cpp/tree/main/benchmarks, где есть
licenses с кучей вложенных словарей/списков со строчками, и canada, где
куча вложенных списков с float-ами. Так как float-ы никакой реализацией
не поддерживаются, то преобразовали их в начале в список из двух int-ов,
а потом в словарь с двумя короткими ключами.
Сравнивали с MessagePack msgpack-c и github.com/shamaton/msgpack/v2
реализациями. CBOR, судя по тому что говорит Интернет, везде медленнее
(он и куда сложнее!).
В целом, и Си и Go версии работают такого же порядка быстро как и
msgpack. Версия canada с list-ами в Go работает раза в полтора хуже
из-за существенно большей нагрузки на heap и GC, так как мы не можем
заранее создавать slice/map-ы нужного размера, так как YAC/KEKS не
передаёт количество элементов контейнеров, в отличии от MessagePack.
Что, с другой стороны, является плюсом, так как даёт возможность
потокового кодирования. Но кол-во аллокаций у нас почти в два раза
меньше. Версия canada с map-ом или licenses -- почти идентичны, но в два
раза меньше аллокаций. Если в YAC не делать валидацию UTF-8, то он
становится быстрее msgpack. String interning позволяет ещё в разы
сократить аллокации, но двухкратной ценой времени декодирования.
В Си же проверка UTF-8 отнимает примерно треть времени. Если её не
учитывать, то Си реализация примерно раза в два медленнее. И судя по
профилированию кода, всё упирается не в скорость декодирования атомов, а
в то, как оно хранится в памяти, в совершенно иные структуры данных.
Раза в два медленнее это значит YAC занимает 20мс, а MessagePack 10мс.
MessagePack аллоцирует зоны из кучи, тогда как в cyac можно один раз
передать область памяти и не использовать кучу вовсе, что полезно для
встраиваемых систем. Плюс в cyac структуре можно легко вставлять в
середину списка какой-то элемент например.
Изначально я легко мог ожидать и то, что всё будет очень медленно. Ибо о
производительности не задумывался. Но теперь видно, что и Си и Go версии
находятся в такой же весовой категории как и MessagePack, что приятно.
Sergey Matveev [Fri, 13 Dec 2024 20:44:21 +0000 (23:44 +0300)]
YAC → KEKS
Сегодня коллеги вновь подняли вопрос о названии кодека YAC. Да и мне оно
до конца не нравилось и вообще было рождено как "надоело уже думать,
пускай просто yet another будет".
Сошлись на "KEKS". Легко пишется, короткое, вкусное, легко произносимое
и выговариваемое. Ну и я придумал аббревиатуру что эта штука значит,
правда на немецком: kompakt, entschlossen, knapp, strömend, что означает
compact, deterministic, concise, streaming.
Буду переименовывать всё. Кекс мне уже куда больше люб.
Sergey Matveev [Fri, 13 Dec 2024 20:41:02 +0000 (23:41 +0300)]
Ещё одна критика JSON
https://mcyoung.xyz/2024/12/10/json-sucks/
"Никого не увольняют за использование JSON, но может быть пора?".
Показаны примеры того, что многое при декодировании JSON-а зависит от
конкретной реализации. Тот же Go внутри себя может number-ы JSON-а
декодировать в float64, что потом будет означать возможную потерю данных
для относительно длинных целых чисел. Плюс всякие проблемы с Unicode-ом,
UTF-8 и разным поведением.
Sergey Matveev [Thu, 12 Dec 2024 10:24:33 +0000 (13:24 +0300)]
Промышленный дизайн СССР, СФИНКС
https://habr.com/ru/articles/865878/
https://www.ixbt.com/live/chome/sovetskiy-umnyy-dom-proekt-sfinks-unikalnaya-kompyuternaya-sistema-ostavshayasya-mechtoy-uchenyh.html
https://www.factroom.ru/rossiya/sfinks-sistema-umnogo-doma-rodom-iz-sssr
https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D1%82%D1%83%D1%80%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F
https://ru.wikipedia.org/wiki/Футуризм
Вот люто мне нравится дизайн что в начале СССРа, что под его конец!
Нравятся угловатые машины, в отличии от обтекаемого ГАЗа.
Никогда прежде не слышал про СФИНКС. Офигенно выглядит.
Sergey Matveev [Tue, 10 Dec 2024 09:10:19 +0000 (12:10 +0300)]
История Carmageddon
https://www.youtube.com/watch?v=J-MM-Lmpov4
Одна из атаснейших игр на моей памяти! И действительно, как автор ролика
говорит, ни один заезд не будет похож на другой.
Очень понравилась речь автора о том, как люди любят устраивать охоту на
ведьм. Ведь, казалось бы, очевиднейшие вещи говорит о том, что во всяких
"колумбайнах" и АУЕ-related вещах причиной являются отнюдь не какие-нибудь
игры или прочие подобные вещи. Но вот недавно говорил со знакомым, который
прям точь-в-точь как все эти люди винит во всех бедах... не буду уж
детали говорить, но ещё до просмотра ролика, я ему те же самые слова
говорил, о том что на себя пускай посмотрел бы в первую очередь, а не
искал на кого бы свалить вину, найти козла отпущения. Ведь это самая
простая, самая недалёкая позиция. "Охота на ведьм" -- хорошая фраза.
Sergey Matveev [Mon, 9 Dec 2024 14:32:58 +0000 (17:32 +0300)]
"Лори" Стивена Кинга
https://fantlab.ru/work1030804
Специально я у Стивена Кинга ничего не читал, но он постоянно попадается
в сборниках всяких аудиокниг. И он мне очень нравится! Не даром его
называют королём ужасов. Каждый раз его истории прям ощутимо выделяются
на фоне остальных.
А тут вот короткий рассказ про то, как у одинокого мужика появляется
щенок, к которому он привыкает. Пока слушал эту историю, которая уже
должна к какой-то развязке подходить, зная что это же Стивен Кинг, то
чуть ли не переключить хотел аудиокнигу на что-то другое, ибо ожидал,
что что-нибудь плохое с этим псом произойдёт, ведь сколько внимания
посвящено тому, как главный герой дружит с ним.
Но Кинг бы не был Кингом, если бы всё было так предсказуемо и ожидаемо!
Всё оказалось про другое. Но только после "прочтения" я понял, что он
заставил таки меня попереживать, напрячься, потрепать нервы, ещё до того
как главное событие этой истории произошло.
И вот любопытно: именно этого эффекта он хотел или это я так переживаю
за собачек? Если всё шло по плану автора, то он, конечно, крут, очень.
Sergey Matveev [Mon, 9 Dec 2024 14:17:44 +0000 (17:17 +0300)]
Посмотрел "Правила игры"
https://ru.wikipedia.org/wiki/Правила_игры_(фильм)
Пишут что это -- шедевр. Но я так и не понял почему. В целом мне было
неприятно на всё это смотреть: все со всеми изменяют, флиртуют и не
боятся рядом находящихся супругов. То говорит что любит одного, через
пару минут -- другого, через десять уже целуется с третьим. Такое
впечатление, что им там просто настолько всё осточертело и нечем
заняться, что придумывают себе интриги увеселительные.
"Искренние люди так скучны", как они сказали.
Sergey Matveev [Sun, 8 Dec 2024 19:50:45 +0000 (22:50 +0300)]
zstd [...] --long=31
Я уже давно считаю, что Zstandard должен по умолчанию использоваться
почти везде. Собственно, ряд популярных дистрибутивов уже перевели давно
свои пакеты на сжатие с ним. Скорость сжатия быстрее чем у gzip, при
этом и результат компактнее. Самое главное -- умопомрачительная скорость
декомпрессии.
Сильные настройки zstd делают его сжатие более медленным чем у xz. Ну и
что? Сжатие делается один раз, зато разжимается быстро. Кроме "-19" ещё
есть более серьёзные (-22), которые активируются --ultra опцией. С
которыми уровень сжатия у него почти идентичным xz становится.
Недавно познакомился и начал использовать ещё и --long=31 опцию. Минусом
является существенно большее потребление памяти при декомпрессии. Но
зато какая разница может быть в сжатии с "--ultra -22":
Sergey Matveev [Sun, 8 Dec 2024 11:06:49 +0000 (14:06 +0300)]
Конец САРа
Удручающие новости о том, что Сирии конец. Не ожидал я такого быстрого
краха. По ощущениям, ведь, совсем недавно там был. И работу выполненную
жалко, теперь не нужна там никому.
Sergey Matveev [Sat, 7 Dec 2024 08:48:51 +0000 (11:48 +0300)]
Мультимедиа контент eXoDOS
https://www.retro-exo.com/exodos.html
https://www.retro-exo.com/scummvm.html
Есть потрясающая по полноте и качеству подборка DOS игр eXoDOS (наравне
с отличным сборником eXoScummVM). В его последних версиях есть огромное
по размеру дополнение с медиа-контентом для игр. В нём также полностью
присутствуют ISO образы "BBS: The Documentary", "GET LAMP", "Infocom:
Documentary" и даже RetroAhoy выпуск про Secret Of Monkey Island
(b07c5380bed92966503f78db27a662683863e659). Очень достойно!
Sergey Matveev [Fri, 6 Dec 2024 10:11:16 +0000 (13:11 +0300)]
Раздача 2Gbps из гаража
https://habr.com/ru/articles/864434/
Статья про "подкроватный хостинг", где с S3 раздавали видео. Закончилось
тем, что арендовали за 25k₽ сервер в ДЦ с 22TB HDD.
Недавно уже упоминал (61c944f7802007ed7f25a0e11750caeb481d137b), что не
смотря на жирный канал, держать не всякую нагрузку легко дома из коробки.
Вот и у авторов статьи тоже проблемы.
Я на днях удалял cypherpunks.ru из конфигов своих DNS/Web серверов.
Осталась ещё где-то неделя до конца срока его действия, но, пока есть
время, уже заранее его грохнул. И на мой DNS большая лавина запросов
связанных с этим доменом идёт, как и ответы "я не в ответе", так что у
меня curvedns аж третья одного ядра съедал! Закончилось, когда в панели
управления регистратора убрал свои привязанные DNS-ы.
Sergey Matveev [Thu, 5 Dec 2024 17:08:47 +0000 (20:08 +0300)]
fheroes2
https://www.youtube.com/watch?v=gOA7V1UWU5c
Преобладающее большинство знакомых, если и любят каких-нибудь Heroes Of
Might And Magic, то третью часть. Я лишь одного знаю, кроме себя, кто
любит вторую. А тут вот нехилый движок именно второй части пилят. Я его
даже собирал -- всё работает, всё тип-топ. Мне даже графика третьей
части не то что не нравится, но не притягивает, в отличии от pixel art-а.
Sergey Matveev [Thu, 5 Dec 2024 08:27:57 +0000 (11:27 +0300)]
Эпичная по дерьмовому качеству статья про сетевые протоколы
https://habr.com/ru/companies/timeweb/articles/848604/
Мне кажется хуже статьи я не встречал. Почти к каждому предложению,
каждой фразе, каждому определению можно не то что придраться, но
серьёзно покритиковать. Прям хоть на собеседовании давай и проси найти
хотя бы сотню недочётов в ней.
Sergey Matveev [Thu, 5 Dec 2024 08:07:41 +0000 (11:07 +0300)]
Новый логотип Mozilla
https://www.opennet.ru/opennews/art.shtml?num=62346
Пишут, что флаг на нём напоминает голову дракона. Я не одну минуту
потратил, крутя головой и картинкой, но так и не смог увидеть ничего
похожего на хоть что-либо, кроме буквы M.
Ну и да, конечно же, на фотографиях обязательно должно быть 50/50 мужчин
и женщин, обязательно наличие китайца, негра, латиноса, белого.
Sergey Matveev [Mon, 2 Dec 2024 15:20:53 +0000 (18:20 +0300)]
Enshittification
https://habr.com/ru/news/863132/
Сабж выбран словом года в одном из словарей. "Постепенное снижение
качества услуг или продуктов, в особенности интернет-платформ, в
результате их стремления к увеличению прибыли". Со стороны вижу как люди
пользуются особенно online-услугами и точнее про них и не сказать.
Sergey Matveev [Mon, 2 Dec 2024 12:33:25 +0000 (15:33 +0300)]
Физические кнопки vs сенсорные в автомобилях
https://habr.com/ru/companies/atom/articles/862968/
https://habr.com/ru/news/781534/
Вот кем надо быть, чтобы додуматься до замены не-сенсорных кнопок,
переключателей, тумблеров, ползунков, регуляторов, whatever на сенсорное
дерьмо? Я, будучи водителем, помню насколько ты в слепую выполняешь все
эти манипуляции, в том числе переключение трэков музыки. Я бы вообще
считал подобное преступлением: ибо напрямую негативно влияет на безопасность.
Sergey Matveev [Mon, 2 Dec 2024 10:13:49 +0000 (13:13 +0300)]
Hetzner и доступность других сайтов
Дома у меня недоступно всё (?) что на Hetzner
(4494f037677971054527662a377e5c91f6dde7b1), и что-то расположенное на
OVH. В другом месте, на другом провайдере, это всё работает. Но не
доступны некоторые другие сайты, с которым нет проблема из дома.
Причём ни по IPv4, ни по IPv6.
Sergey Matveev [Mon, 2 Dec 2024 09:44:41 +0000 (12:44 +0300)]
Почему E-Card использует FreeBSD, а не GNU/Linux
https://dzone.com/articles/why-we-use-freebsd-over-linux-a-ctos-perspective
Да всё по тем же самым причинам: стабильность и производительность
(100k RPS) на многопроцессорных железках с терабайтами памяти, простота
и гармоничность софта в ОС (берём произвольный GNU/Linux дистрибутив и
начинаем гадать кем и где же правятся настройки сети), ZFS, Jails.
Sergey Matveev [Sat, 30 Nov 2024 20:47:41 +0000 (23:47 +0300)]
За пределами Norton Commander
https://www.youtube.com/watch?v=5y_6F1BxGQA
Интересное выступление с массой слайдов, показывающее историю и
альтернативы NC. О том что было до них -- не был в курсе. Сами мы
использовали, как и автор, Volkov Commander. Не знаю и про
навороченность DOS Navigator -- нигде его в живую не видел.
Sergey Matveev [Sat, 30 Nov 2024 20:42:52 +0000 (23:42 +0300)]
Сходил на "Реквием" Дж.Верде
https://en.wikipedia.org/wiki/Requiem_(Verdi)
Дико понравилось! Теперь я точно понимаю, что я реально поклонник оперы.
Не каждой (411cc4cd20be6c375c0cbb101330d1aa2fd7fae8), но на всём, что
было в "Новой опере" мне очень понравилось. Реквием -- это полностью
забитая сцена с кучей музыкантов (духовые, струнные, ударные), десятками
людей хора и четырьмя солистами разных тембров. Когда все хоры
(мальчиков и девочек) одновременно все вместе поют со всеми
инструментами, то это лютейшая мощь!
У меня уже взято несколько билетов на будущие выступления. Жду с таким
же нетерпением как и метал всякий.
Sergey Matveev [Fri, 29 Nov 2024 11:16:33 +0000 (14:16 +0300)]
Резка трафика до Hetzner
https://www.linux.org.ru/forum/admin/17790021
https://ntc.party/t/недоступность-hetzner/12845
https://www.linux.org.ru/forum/talks/17445997/
Не разбирался с 368af62f2ebf5bc933a4bd275cde01554defdb30, но увидел на
ЛОРе описание проблемы. Похоже это первая блокировка от РКН, которая
меня (ну точнее ресурсы которыми пользуюсь) затронула. Насколько помню,
абсолютно все остальные недоступности связаны с блокировкой на
противоположной стороне (не считая YouTube). Особенно в Германии любили
блокировать в первую очередь. Собственно, позже нашёл и новость о том,
что со всеми кто из РФ, в Hetzner перестанут иметь дело.
https://zips.z.cash/zip-0215
https://github.com/hdevalence/ed25519consensus
https://github.com/crpt/go-ed25519consensus-sha3-512
В 61da829407c441ca19642b915388999e21e2c739 упоминал, что с правилами
валидации ed25519 всё как в Linux -- зоопарк. А тут для Zcash они и
правила написали и свои библиотеки блюдут. Впрочем, "честно" сделанные
подписи везде корректно будут валидироваться, так что и без этого можно
прожить.
Sergey Matveev [Thu, 28 Nov 2024 12:53:14 +0000 (15:53 +0300)]
Monocypher о нужности Ed448
https://github.com/LoupVaillant/Monocypher/issues/127
В прошлой записи упоминал Monocypher, где мне не нравится его решение о
не строгой проверке подписей ed25519. Но у него увидел мнение об Ed448.
Оно полностью совпадает с моим: 25519 достаточно для долговременных
секретов, ибо пока нет прецендентов к его серьёзной поломке.
Единственное что его на данный момент, как ожидается, может поломать,
так это гипотетические квантовые компьютеры. Но если они появятся и
смогут поломать 256-бит ECC, то и Ed448 не долго останется существовать.
То есть, если с *25519 будут проблемы, то и с *448 тоже.
https://github.com/LoupVaillant/Monocypher/issues/248
https://loup-vaillant.fr/articles/monocypher-4
https://hdevalence.ca/blog/2020-10-04-its-25519am
https://cryptologie.net/article/497/eddsa-ed25519-ed25519-ietf-ed25519ph-ed25519ctx-hasheddsa-pureeddsa-wtf/
Существует много вариаций ed25519 алгоритма. EdDSA, Ed25519-IETF, RFC
8032, PureEdDSA, Ed25519ph, HashEdDSA, ContextEdDSA, Ed25519ctx. Зоопарк.
А ещё существует много конечных реализаций. Посмотрел на Monocypher.
Автор в своём блоге и GitHub issues размышляет о строгости проверок ed25519 и решает не делать очень строгих, в отличии от libsodium, из-за
которого не все подписи проверяются в каких-то там криптовалютах. Вообще
жесть конечно: используя другую реализацию ed25519, не все подписи,
казалось бы такой ответственной задаче как криптовалюты, будут валидны.
Мне Monocypher стал неприятен этим решением и подобными рассуждениями.
Автор хвалится, что у неё высокая совместимость.
Как по мне, так это из той же серии как и вопросы кодирования данных и
проверки напротив схемы. Куда ни посмотришь из ASN.1 DER декодеров --
строгих не видно. Или схемы не строгие дальше пойдут. Тоже, небось,
хвалятся высокой совместимостью? В мире криптографии, по моему, всё это
просто недопустимо. Невалидно? Идёт нафиг, иначе какой смысл проверок?
Sergey Matveev [Wed, 27 Nov 2024 10:08:18 +0000 (13:08 +0300)]
Более вдумчиво прочитал "Design and Implementation of the FreeBSD OS"
https://www.oreilly.com/library/view/design-and-implementation/9780133761825/
Книга то у меня эта давно, но просматривал по диагонали. А сейчас прям
что-то захотелось уже больше конкретики узнать о внутреннем устройстве и
алгоритмах FreeBSD ядра. Не потому что именно эта ОС так интересует, а
чтобы получше понимать как устроен современный матёрый не простой софт.
Вообще очень интересное чтиво, которое проливает больше света на
различное поведение конкретно FreeBSD. Бросается ещё в глаза то, что это
не просто 4.3/4.4BSD, но в ней здоровая часть (хотя, как пишут, почти
полностью переписанная) от Mach микроядра (типа вся подсистема
виртуальной памяти), плюс очень много всего из Solaris, даже без учёта
ZFS и DTrace подсистем. И я бы сказал что красиво разделено на всякие
слои их подсистемы (тот же CAM, GEOM).
Про Linux я мало чего читал (да и нет желания), лишь просматривал,
активно работая scroll wheel-ом, но не припомню чтобы там так же красиво
всё было бы спроектировано. Но, возможно не потому что так пристально,
возможно недопонял, и вообще даже не помню про какую именно версию ядра
читал (может вообще 2.4 или древнее).
Sergey Matveev [Wed, 27 Nov 2024 09:17:23 +0000 (12:17 +0300)]
Познакомился с щенком корги. Чувство времени у собак
У знакомых появился щенок корги. Никогда их не видел прежде, только
взрослых. Какие же щенки милые!
Почти каждый день по пути на работу, проезжая на автобусе до железной
дороги, у одного дома есть собака, которая вылазит (длина цепи позволяет)
за ворота и просто сидит, рассматривая весь проезжающий автотранспорт.
Не только я поворачиваюсь к окну, чтобы поглядеть не глядит ли на нас пёс.
Ещё слышал о таком факте, как отсутствие чувства времени как у нас. Типа
собаки не очень понимают прошло ли пять минут или пять часов. Поэтому,
вернувшись домой через пару минут, они будут рады тебе точно так же, как
если прошло пять долгих дней.
Sergey Matveev [Wed, 27 Nov 2024 08:38:03 +0000 (11:38 +0300)]
Продолжение истории с ru.NTPPool.org
https://habr.com/ru/companies/yandex/articles/861538/
https://habr.com/ru/articles/434422/
https://en.wikipedia.org/wiki/NTP_server_misuse_and_abuse 6d288158c77c3572a4550eac074000a833911971
Как оказалось, во всём виноват Yandex, а точнее их "Яндекс Станции".
Но я не очень понимаю тучу наездов на них в комментариях. Да,
облажались, но о них выражаются как о конченых нахлебниках. У меня нет
сомнений, что тот же mirror.yandex.ru, это огромная помощь Рунету.
Я вот что-то не могу найти точную статистику и информацию о том сколько
потребляют подобные зеркала софта, но судя по тому что пишут об NTP,
судя по тому как я какое-то время держал (и не выдержал :-)) BitTorrent
tracker, это всё довольно весомые нагрузки.
Sergey Matveev [Tue, 26 Nov 2024 19:28:28 +0000 (22:28 +0300)]
Топ игровых soundtrack-ов
https://www.youtube.com/watch?v=HlhUrvipnIk
Я вот музыку очень люблю, постоянно она в ушах. Но ни в фильмах, ни в
играх я её вроде бы особо не замечаю. Когда люди говорят про музыку в
фильмах, то я, как правило, даже примерно не помню была ли там какая.
Конечно есть исключения, типа "Беги, Лола, беги"
(a60cf2f9630808ac988185b0bcfd5478f74311df), где без музыки фильм будет
совершенно иначе восприниматься.
Но я так много играл в Fallout 2, что там каждую миллисекунду каждого
трэка знаю наизусть. И даже имя композитора помню (Марк Морган) и даже
узнаю его почерк и в других играх (1a3127583b1f762a39ee32a9907d68b1fee5d297).
Но один soundtrack для меня выделяется среди всех. Тот, что стоит у меня
уже который год в качестве ringtone -- заглавная тема серии point and
click adventure про Monkey Island. Вот прямо сейчас с ходу и кучу других
композиций оттуда могу вспомнить. b07c5380bed92966503f78db27a662683863e659
Sergey Matveev [Mon, 25 Nov 2024 18:32:09 +0000 (21:32 +0300)]
Закалка стекла и капля Руперта
https://habr.com/ru/articles/861216/
https://www.youtube.com/watch?v=4yjNbj7nJk0
Не знал про такое явление как "каплю Руперта". Любопытная штука.
Очень мне нравилось материаловедение в институте -- очень было
интересно, но "проходили" мы конечно в основном только конструкционные
металлы.
Sergey Matveev [Mon, 25 Nov 2024 09:54:23 +0000 (12:54 +0300)]
Почему Solene'% ушла с OpenBSD
https://dataswamp.org/~solene/2024-11-15-why-i-stopped-using-openbsd.html
https://flatkill.org/
Этот человек довольно известен в определённых кругах, там где всякий
минимализм, suckless и подобное. Но она ушла с OpenBSD.
* (не)поддержка всякого железа -- ну тут всё понятно и ясно. Но лично
мне, вопрос работоспособности Bluetooth или игровых контроллеров,
выглядит странным
* Solene говорит про то, что во время крахов системы, которые случаются
не то чтобы редко, происходит потеря и порча данных на ФС. Я вот
прежде регулярно удивлялся: почему и как у людей этого не происходило
раньше, ибо в OpenBSD FFS же ни журналирования, ни soft updates.
Видимо, потому что люди дают разные задачи и нагрузку. Кто-то говорил
что у него и на ext2/3/4 ничего не терялось, что полностью противоречит
моему опыту. Кто-то говорил, что на UFS данные терял постоянно. Я за
более чем 10 лет ни разу ничего на ней не терял, но там хотя бы soft
updates был. То что FFS может быть надёжной -- никогда не поверю,
чисто технически. Solene подтверждает
* Далее говорит про контейнеризацию и возможность изоляции процессов.
Да, OpenBSD ничего из этого не имеет, в отличии от FreeBSD. Этот
недостаток я и сам прежде замечал. Нет ничего похожего на auditd и
SELinux -- с чем тоже согласен. И всё это вызывало недоумение про
постоянно читаемую мантру о безопасности OpenBSD. DOS тоже куда более
безопасен может быть, спору нет
* Она правда считает flatpack благом, как и systemd
Я уже давно убедился, что OpenBSD ни в коем случае не мог бы
рекомендовать с чистой совестью. Когда начинал писать на Си и хоть
как-то разбираться в средствах защиты типа ASLR, pledge и вообще всех
тем рядом с этим, то много чего начитался про OpenBSD, и попробовал. Не
то чтобы они где-то врут или недоговаривают, но даже их банальный "only
two remote holes in default install" говорит только про default install,
в котором sendmail MTA. Ну блин, да первым же делом многие будут менять
этот MTA на что-то более человечное -- и вот уже и не default install.
Средства защиты процессов имеются, спору нет, но нет firewall-а
системных вызовов или других подобных "ограничителей" для программы. Нет
контейнеризации. То есть, их софт -- безопасен, но вот сторонний (не
обязательно сразу же проприетарный или закрытый) при негожем поведении
может больше проблем сделать чем под FreeBSD или GNU/Linux. Как уже выше
было сказано, нет ничего типа AppArmor, SELinux, MAC (из FreeBSD). Нет
даже надёжной ФС, что для меня, скорее, является первой проблемой в этой
ОС. Даже фиг с потерянной производительностью, которая в разы может быть
хуже чем в других ОС (проверено на практике, чисто прикладном
многопроцессном софте). Я много и часто слышу аргументы про безопасность
OpenBSD, где не раскрываются деталей как именно, где и в чём она
безопаснее. И в то же время не слышу аргументов против FreeBSD или
NetBSD. Их, как правило, просто не рассматривают и сравнивают только
"GNU/Linux vs OpenBSD". Да, FreeBSD кодовая база куда больше -- ну так и
умеет куда больше. Один ZFS это колоссальный по размерам пласт кода.
Лишний? Ну да, давайте надёжную ФС считать лишней. Опять же, спору нет:
для маршрутизатора, который может и ничего не писать на протяжении почти
всего времени жизни -- это может быть и допустимо. Но так можно дойти и
до того, что и сетевой стэк тоже может оказаться лишним, ведь без него
уж явно куда безопаснее. DragonFly BSD вообще выпилила IPsec например.
Я много что уважаю в OpenBSD, она невероятно ценна была идеями, но
пригодна всерьёз только для ряда узкоспециализированных задач.
Sergey Matveev [Sun, 24 Nov 2024 11:38:48 +0000 (14:38 +0300)]
Почти нет серверов в ru.NTPPool.org
https://habr.com/ru/articles/860828/
А я вот давным давно перестал использовать ru.NTPPool.org, ибо в нём
постоянно, судя по (PTR) имени IP адресов, попадались всякие VPS-ки в
зарубежных облаках. Я хочу только российские IP, чтобы внутри наших
сетей были. Ну и тоже задавался вопросом: а почему наши провайдеры то у
себя NTP не поднимают? Я проверял нет ли в DHCP ответах намёков на них
(например на работе наш DHCP указывает предпочитаемый NTP).
Sergey Matveev [Sun, 24 Nov 2024 11:36:49 +0000 (14:36 +0300)]
RIP BGP
https://habr.com/ru/articles/860790/
Статья о том, что и без всяких SRv6, "классическим" подходами можно
обходится. В конце автор убеждает, что и RIP протокол более чем тоже
пригоден. Вот только, в нём нет возможности из коробки передавать IPv6.
Sergey Matveev [Fri, 22 Nov 2024 11:56:55 +0000 (14:56 +0300)]
Поаудиофилил на работе
Коллега задал какие-то вопросы про неведомые для меня Grado наушники,
ЦАПы и всю эту тему. Всё это было у него на работе. Я напросился
послушать как это всё звучит, на моей музыке. У меня то, как я считаю,
звуковая система consumer grade, ибо ЦАП от Asus, усилитель и наушники
от Beyerdynamic, который на слуху.
И... был разочарован, ибо ни в какое сравнение с моим звуком оно всё не
шло. Предложил своё принести для сравнения. Больше часа провели,
перетыкая мои, двое Grado, через два усилителя, два ЦАПа. На Joe
Satriani, Metallica St.Anger (8bcb37d67722216274ff337c6d5f59a6a0e4f0dc),
Meshuggah, ещё каком-то металле, Рахманинове.
Выводы все сделали такие: ЦАП не главное (или не такая существенная
разница), главное -- усилитель. Всё упёрлось в него. И мой A1 и
встроенный в Asus (но тянущий 600Ом) -- хорошо и там и там, но главное
чтобы они были.
А ещё колоссальная разница была на Grado от смены амбушюр, который
подальше держат динамики от ушей. 500₽ и качественный gain к качеству :-)
Sergey Matveev [Fri, 22 Nov 2024 11:47:47 +0000 (14:47 +0300)]
ReiserFS, Bcachefs, драйвера Tuxedo в Linux
https://www.opennet.ru/opennews/art.shtml?num=62276
https://www.opennet.ru/opennews/art.shtml?num=62274
https://www.opennet.ru/opennews/art.shtml?num=62251
Полный новостей день. Удалили ReiserFS из Linux. Ну тут то ok -- если
никто не поддерживает (Ганс всё ещё сидит, в любом случае), то понятно.
А разраба Bcachefs забанили в Linux, потому что всякие нажаловались на
его "Get your head examined. And get the fuck out of here with this shit".
И будущее этой ФС теперь под вопросом. Лично я то не то чтобы переживаю
за Linux или, тем более, файловые системы в нём, где всё плачевно (и
вроде бы за всю историю именно только ReiserFS и был достойной штукой,
написанной для Linux), но накалы страстей...
А ещё в Linux, как было, так и остаётся полно бинарных блобов (что стоит
считать закрытым ПО). Linux-libre проект старается решить эту проблему.
Но вылезла другая: драйвера для ноутбуков Tuxedo не то что свободны, но
вообще под GPLv3, что я яростно одобряю, особенно для драйверов.
А ещё кто-то предложил не самый свежий микрокод считать "уязвимым". Это
вообще тот ещё бред: типа новые прошивки априори более безопасны? Да,
так считают поставщики всякого этого проприетарного ПО, а наивные им и
верят.
Sergey Matveev [Fri, 22 Nov 2024 07:56:28 +0000 (10:56 +0300)]
Мой провайдер режет трафик до Германии
Где-то с неделю назад, что-то типа двух дюжин блогов (Atom) из дома у
меня не доступны. А на работе без проблем. Причём ping-и идут (судя по
времени -- вроде бы честные), но TCP до какого-либо порта уже нет.
traceroute показывает, что дальше первого же hop-а провайдерского ничего
не идёт. А whois-ом увидел, что какой из недоступных сайтов (точнее их
IPv4 (с IPv6 проблем не было)) не возьму, то он в Германии находится.
Sergey Matveev [Wed, 20 Nov 2024 09:02:07 +0000 (12:02 +0300)]
pedantic.software
https://pedantic.software/
Ещё одна философия создания ПО про простоту и минимализм. Топят за C89,
где объявление переменных в начале функций это фича, а не бага. А я вот
вовсе не хочу писать в таком виде -- это бесчеловечно.
Sergey Matveev [Tue, 19 Nov 2024 19:11:41 +0000 (22:11 +0300)]
Качество ответов ChatGPT
https://habr.com/ru/companies/sberbank/articles/859628/
В статье выкладывается теория о том, что бОльшую часть информации в
Интернете делают машины.
За последние недели мне неоднократно кидали ответы ChatGPT на самые
разные вопросы, по ИТ теме. По сути ни на один вопрос нормально ответа
не было дано. Скорее попахивало чем-то правдивым и вменяемым, но детали
люто искажены и лживы. И первым делом хотелось сказать что он выдаёт
статьи уровня паршивых на Хабре, когда, как будто, по паре предложений
из Wikipedia, человек пишет здоровую статью, но с таким лютым бредом, с
такой неразберихой и путаницей в деталях, что ничего, кроме как делать
palmface не приходит на ум.
Sergey Matveev [Tue, 19 Nov 2024 19:03:15 +0000 (22:03 +0300)]
Посмотрел "Любовное настроение"
https://ru.wikipedia.org/wiki/Любовное_настроение
Ещё на прошлой неделе. Здорово и необычно снят, очень много медленных
сцен, но которые вовсе не хочется проматывать. В отличии от скачущих
коней в "Властелине колец". Конец я правда не особо понял, не уверен.
Интересно и на быт китайцев посмотреть.
Sergey Matveev [Mon, 18 Nov 2024 09:12:11 +0000 (12:12 +0300)]
Сон про неуспеваемость
Жесть как я на нервах в последнее время. А сегодня приснился такой сон.
Я в квартире родителей. Их дом выстроен как-бы неким полукругом, с
большим пространством во дворе. В нём стоит огромная (Rammstein
позавидует!) сцена, на которой уже начали играть Tristania с Vibeke
Stene (66808d71341e0318adbec1ad9cc1ac4bddd58d4f). Почему именно эта
группа? Потому что днём назад я переслушивал их альбомы. У меня есть
билет на их концерт и билет я подарил тёте. Почему ей? Потому что
позавчера я для неё взял билет на один концерт в Королёве. Концерт уже
как с полчаса идёт и я тороплюсь спустится на первый этаж и дойти эти
несколько сот метров до концерта. Как оказалось, концертный зал на
территории какого-то предприятия, где, как издалека гласит плакат,
передвижение разрешено только на самокатах электрических. Прям вот таких
как в Москве полно. Я про себя думаю: то есть, без смартфона, я не могу
дойти до зала, ибо запрещено пешком? Билет у меня есть, никто не
предупреждал о такой засаде. Подхожу к КПП. Проверяют билет. Проверяют
одежду. Ведут дальше куда-то проверять. Сканируют какими-то
устройствами. Я как-бы немного на взводе, ибо концерт уже с полчаса как
идёт, охрана прекрасно это знает, но крайне неспешно всё проверяет.
Далее девушка, которая проверяет билет, снова по каким-то коридорам
ведёт на очередные проверки. Я стараюсь спокойной спросить, мол долго ли
ещё, много ли ещё проверок? Ответила, что 34. Я понимал: терроризм,
массовое собрание людей, безопасность, всё понимаю, но не... 34 проверки
же! Пока идём, она неспешно какие-то удлинители подключает, какой-то там
свет, явно не нужный ни для чего связанного со мной. Я начинаю
заводиться, но без грубых слов намекаю, что, может быть она побыстрее со
мной разделается, а удлинители можно будет отложить на потом, концерт то
уже идёт, тётя не раз звонила узнать когда я приду то. Ну и проснулся, с
негодованием от того, что эта девушка явно специально тормозила,
задерживала меня.
А у меня как-раз в пятницу подкинули крайне срочную работу. В
воскресенье целый день работал, но это даже не треть от выполненного
объёма. Сегодня подходил коллега с вопросом "сегодня не будет ли
готово?. Плюс ещё наложилось, что даже из другой компании один человек
неоднократно выразил сомнения в моей компетенции и квалификации как
программиста. Новости про современные собеседования и условия труда
(4cc592ae341b800dc36b7b904c4175abb0fc5bd1). А ещё коллеги сомневаются в
том, что ответ на мой частый вопрос на собеседованиях "по каком
протоколу работает Интернет" типа "IP", "TCP/IP", "IPv4/IPv6" является
корректным. И буквально через несколько минут после этого, другой
коллега отметил, что в одном из коммитов я вообще забыл добавить .[ch]
файлы, которые упорно у меня в git status вполне себе показывались. То
есть 4 дня я был настолько невнимателен, что даже забывал закоммитить
код, хотя всё это время находился внутри проекта. В общем, я на полном
взводе и уже уверен, что в ИТ мне делать более нечего. Я уже совершенно
не пригоден для выполнения задач. И в серьёзном конфликте месячной
давности (34780e342dd2489e684bab3bc927c1eae632d554) мне коллега тоже
сообщил, что моя работа нихуя ничего не стоит.
Sergey Matveev [Sun, 17 Nov 2024 07:58:10 +0000 (10:58 +0300)]
Собеседования на работу
https://www.youtube.com/watch?v=KSU36bAPYWM
Недавно один знакомый в пять компаний проходил собеседования. Везде было
только удалённое общение. Про себя я делаю вывод, что без проприетарного
ПО это не пройти. Но я не задавался вопросом, не проводят ли они и в живую
их, или это уже не вариант. Знакомый про какие-то "скрининги" и
"лайвкодинги" упоминает. Если второе по названию я ещё наверное могу
представить что такое, то первое для меня не ведомо. То есть, я даже не
понимаю о чём речь и что это за этапы собеседования. 10 лет назад ни о
чём подобном не слышал и как-то собеседовали же людей.
Где-то разрешено только за их ноутбуками с их установленной ОС работать.
Я бы понял чтобы такое было в оборонке, там где секретность и прочее. Но
речь про просто торговую компанию. Я вот вряд ли бы смог себя пересилить
и согласиться на такое. На другом железе -- ну ok, ладно. Но чтобы чисто
под чётко заданную ОС (типа наверное какой-нибудь Ubuntu), которые
меньшинство умеют администрировать и вообще понимают их устройство? Не
бывает инструментов одинаково или приемлемо удобных для всех людей.
Я понимаю, что на одной чаше весов -- гомогенные системы, где если у
одного что-то завелось, то и у другого из-за идентичности окружения тоже
должно. Но тот факт, что за всё время использования тебе будет яростно
неудобно и из-за этого эффективность будет страдать? Посидеть за
Блокнотом (VSC, whatever) пять минут ещё можно, допустим даже день, если
оказался в дерьмовой ситуации. Но не целыми же днями работать за
неудобными? Опять же, если не отталкиваться от секретности и подобных
вещей, где и пишущие машинки вместо ПК станут адекватным решением.
Я конечно не знаю как мой собеседник отвечал на вопросы, какие они были.
Без деталей. Но где-то его мурыжили и в итоге отказывали без объяснения
причин (хотя и не спорю, что и не обязаны их оглашать). И речь и про
крупные известные компании и какие-то маленькие. Создалось впечатление,
что как-будто специально строят преграды, чтобы ты расхотел к ним идти
работать. А потом ещё ноют, что не найти работников.
Или же это последствия того, как много стало в ИТ сфере нечестных
претендентов? Как-то мне скидывали видео на болтовню (не слушал, а
распознал и читал текстом, а то это длится 2ч) про, так называемых,
волков. Где платные услуги по тому, чтобы ты прошёл собеседование, а
потом пускай хотя бы n-месяцев продержишься, пока тебя с трудом не
уволят (ибо это дело не простое для работодателя).
Такая вот мысль проскакивает: а не дофига ли поблажек и плюшек дают
ИТшникам, из-за чего всякие "волки" создают лютый шум и проблемы
работодателям, из-за чего им приходится отсеивать хоть что-то
соображающих разработчиков (а я вообще бы не попал на собеседование,
судя по всему)? Сделали ИТ сферу лакомым кусочком, теперь не знают как
отбиться от роя налетевших прихлебателей, создавая барьер и так для
немногочисленных специалистов? Впрочем... мой знакомый таки устроился, и
именно в компанию где "будешь работать за чем скажем". Так что, видимо,
проблемы не в компаниях, а том, что современный ИТ всем отличается что
было 10+ лет назад. Даже зарплаты: в некоторых местах за junior-а платят
в разы больше чем за senior-а в мне известных (российских) компаниях.
Sergey Matveev [Sun, 17 Nov 2024 07:51:38 +0000 (10:51 +0300)]
Про "лучшие практики"
https://www.arp242.net/best-practices.html
Недавно в одной переписке с другом тоже упоминались лучшие практики. И я
почти то же самое написал что и автор этой статьи. К ним можно/нужно
прислушиваться, но нельзя брать на слепую веру. Новички по началу могут,
но вообще должны учиться пользоваться головой и понимать, что где-то
могут быть куда более разумные исключения. "Не используйте глобальные
переменные" (простые небольшие программки бывает быстрее и проще
написать с ними), "не используйте GOTO" (который при правильном
использовании может существенно улучшить читабельность кода, поэтому в
Go его не выкинули), "DRY" (примеров, когда проще скопировать кусок
кода -- полно), "SOLID" (не редко приводит к необратимым последствиям
недуга "ООП головного мозга", когда пара строчек простейшего кода может
превратиться в двести, без какого-либо profit-а, кроме усложнения на
пустом месте), "12 factor app" (даже не слышал про такое прежде, но,
вижу что сборник, действительно, адекватных рекомендаций, аналогично
SOLID).
Sergey Matveev [Thu, 14 Nov 2024 20:33:39 +0000 (23:33 +0300)]
Quake 2: Зов машины
https://www.youtube.com/watch?v=fi2INJJbNFo
Крайне (почти нет) мало игр которые меня захватывают во время просмотра.
Просмотрел абсолютно все уровни проходимые этим человеком. Играет на
nightmare, очень хорошо. Конкретно эта ссылка -- самый финал. Ничего
кроме адреналина нет, особо больше нечего смотреть. Но в предыдущих
эпизодах ОЧЕНЬ интересные уровни! Прям наслаждался как они спроектированы
и как выглядят. Интересные трюки и механики. Хотя я не и за "рулём".
Автор ролика говорит, что 10/10 оценку игре поставил бы. Однозначно
солидарен с ним, хоть я и не играл, но оценить могу, ведь всё же в
подобные FPS я играл много.
Sergey Matveev [Thu, 14 Nov 2024 19:50:52 +0000 (22:50 +0300)]
Новый механизм подписей на PyPI
https://www.opennet.ru/opennews/art.shtml?num=62234
https://blog.pypi.org/posts/2024-11-14-pypi-now-supports-digital-attestations/
https://blog.trailofbits.com/2024/11/14/attestations-a-new-generation-of-signatures-on-pypi/
https://peps.python.org/pep-0740/
https://blog.trailofbits.com/2022/11/08/sigstore-code-signing-verification-software-supply-chain/
В прошлом году они убрали (b3b47ad4d00d6daefad47943d8f4eaafadfd4bed)
поддержку PGP подписей, сделав невозможным "передачу" доверия напрямую
от автора конечному пользователю пакета. Теперь же они сделали систему,
построенную вокруг X.509, Certificate Transparency и OpenID Connect
третьего лица.
Sergey Matveev [Thu, 14 Nov 2024 09:36:15 +0000 (12:36 +0300)]
SMB хранилище на Astra Linux
https://habr.com/ru/articles/858080/
Автор хочет развернуть SMB-хранилище на Astra. И даже для такой задачи,
лучше ZFS, не нашлось. Недавно (80a3d2a50fcd3ee4172e43c2547b7fd019fdc1d9)
я хотел было пробовать ZFS на ней, но ядро просто паникует после загрузки.
В статье автор написал, что на не самом свежем ядре у него заработало.
Касательно его настройки ZFS: немного недоумеваю от его выбора
recordsize, в 16 и 8 KiB. Речь же про хранение файлов, а не СУБД или
виртуальных машин. Очень странный выбор такого маленького размера, что
вообще сильно негативно должно сказаться на производительности.
Впрочем... включение дедупликации ещё сильнее, скорее всего, её убьёт.
Sergey Matveev [Wed, 13 Nov 2024 08:09:21 +0000 (11:09 +0300)]
Форматы тезисов на открытой конференции ИСП РАН
https://www.isprasopen.ru/
Хочешь выступить -- отправь им тезис. Но для него предоставляется только
Microsoft Word шаблон. Который, очевидно (и благо!), в нашей стране нельзя
легально как-то приобрести. При этом, для докладов на английском языке
есть LaTeX шаблоны.
Sergey Matveev [Mon, 11 Nov 2024 12:46:15 +0000 (15:46 +0300)]
Ещё больше комнат в квартире
В 2a901a3bc832f0936979328c6527ccdc493cbaa7 я писал о том, что мне не раз
снилось, как у меня в квартире внезапно появляются новые комнаты. Так
вот после конфликта на работе, буквально через считанные дни, мне вновь
приснилось. На балконе внезапно для себе обнаружил шторки. Не мог понять
почему я их раньше не замечал и где они скрывались? Гляжу, а между окном
и стеной есть проём, в котором они прежде и прятались. Но он достаточно
широк оказался, чтобы я мог протиснутся в него. Проделав это, обнаружил...
ну конечно же ещё одну здоровую такую комнату пустую. Если в ряде снов
комнаты были полностью меблированы, то тут абсолютно голая.
Вообще, пытаюсь вспомнить есть ли у меня регулярно повторяющиеся темы в
снах. С ходу вспоминаю, что в детстве, когда был в детском саду, то мне
не раз снилось как я в одном и том же магазине на пр-те Королёва
потерялся и не мог найти маму, просыпаясь от страха. В подростковом
возрасте я очень много летал. Говорят, что если летаешь во сне, то это
типа растёшь.
На протяжении последних 10+ лет, мне гарантированно 2-3 раза в год
снится одна девушка, с которой я полжизни провёл вместе: на дошкольных
подготовительных занятиях, на протяжении всей школы от начальных до
старших классов, на дополнительных занятиях по английскому. С момента
выпуска, наши пути разошлись и в течении 5-6 лет мы случайно в
транспорте пересекались наверное от силы пару раз с того момента.
Ну и сейчас вот зачастившая тема с дополнительными комнатами в моём жилье :-)
Sergey Matveev [Mon, 11 Nov 2024 12:14:45 +0000 (15:14 +0300)]
Треть SIM-карт дают доступ к чужим учётным записям
https://xakep.ru/2024/11/08/sim-danger/
На практике показали ущербность идеи аутентификации через SMS.
Ибо за одним номером может стоять далеко не один человек.
Sergey Matveev [Mon, 11 Nov 2024 12:13:13 +0000 (15:13 +0300)]
go.work
https://go.dev/doc/tutorial/workspaces
Уже который месяц использую "go work" функционал в Go. Безумно удобно,
если есть подходящий use-case. Например использование ещё не готового
для go get модуля. Это как git worktree -- не всегда есть use-case, но
когда он появляется, то нарадоваться не можешь удобству.
Sergey Matveev [Sun, 10 Nov 2024 18:41:21 +0000 (21:41 +0300)]
Сходил на Баха с Вивальди
Снова (6dfb34781bc52cf88db6db7a4c08c4fb176afcc4) сходили на "Виртуозов
Москвы" Владимира Спивакова. В этот раз исполняли Баха и Вивальди. С
почти выключенным светом, специально концерт в темноте.
Понял что подобная симфоническая музыка -- не моё. Слишком "мало звука".
Нет ударный, мощных инструментов. Не чета тому, что на операх. И ни в
какое сравнение с музыкой Рихарда Вагнера там.
Sergey Matveev [Sun, 10 Nov 2024 18:36:49 +0000 (21:36 +0300)]
Поиграл в "Эпичную схватку боевых магов"
Подарили сабжевую карточную игру. "Битва на горе черепламени".
Поборолись вчетвером. Интересная штука. Порог вхождения очень низкий.
Просто из карт надо составлять заклинания, дальше оценивать очерёдность
хода и применять что написано на картах, чтобы побить остальных и
полечить себя.
Sergey Matveev [Sun, 10 Nov 2024 11:56:59 +0000 (14:56 +0300)]
Проверка пустоты списка по PEP8
https://blog.codingconfessions.com/p/the-pythonic-emptiness
Что-то я не помню чтобы в PEP8 были такие вещи. Советует
if arr, вместо if len(arr). У нас было принято как-раз
if len(arr) == 0 писать, ибо это ясно, чётко и явно.
Sergey Matveev [Fri, 8 Nov 2024 08:08:03 +0000 (11:08 +0300)]
Cloudflare, ECH, РКН
https://habr.com/ru/news/856928/
https://habr.com/ru/news/856354/
Чего все так разорались по поводу проблем с доступностью Cloudflare?
РКН конечно те ещё редиски, ибо блокируют не технологию/протокол обхода
блокировок, а технологию повышения приватности. Tor -- вот это обход
блокировок. А ECH это костыль к TLS (который тоже по сути является
костылём созданным из-за недостаточно быстрого внедрения IPsec с IPv6).
Проблема не с ECH, а с TLS, который исторически отсылает SNI в открытом
виде. Как, собственно, и SNI это ведь тоже костыль, связанный с не очень
быстрым внедрением IPv6.
Но ECH мне как не нравился, так и не нравится. Хочется зашифровать
handshake? Ну так поменяй протокол, сделай как старом древнем IKEv2, где
почти всё, сразу же после первого roundtrip, зашифровано. А не городи
костыль на костыле, ещё и с привлечением DNS, DNSSEC небось (лень
проверять). Ведь TLS 1.3 существенно отличается от всех предыдущих --
почти полностью иным образом устроен. Впилили же без проблем? Не
проблема же поменять его кардинально?
Но и Cloudflare та ещё параша. Почти всё что за ним размещается:
становится недоступно для web-обозревателей -- зачастую нужен
JavaScript, cookie, прохождение CAPTCHA. Если же он не даст тебе доступ
к ресурсу по этим техническим причинам, то не допустит из-за того что ты
из РФ/РБ. Плюс это, просто навсего, банальный такой большой MitM от США.
Если кто-то использует Cloudflare, то он и так уже давным давно
недоступен по одной из вышеназванных причин. Поэтому чего переживать?
Кто-то, кто из наших стран использует MitMed систему, позволяя скачивать
и выполнять произвольный код на своём ПК, потеряет возможность это делать.
Я вижу в этом перевешивающие плюсы. Много говорят о бесплатности Cloudflare.
Забывая, что бесплатный сыр только в мышеловке бывает. Не РКН отрубает
первым делом доступ к ресурсам, а сам Cloudflare уже задолго до СВО это
делает. Видимо, всё что остаётся -- это какие-нибудь явные анти-РФ/РБ
ресурсы, которые РКН и затронет.
Другой новостью было то, что РКН собирается что-то типа своего RPKI
делать. И опять же: не он первый начал рубить маршруты и всячески
вредительствовать нашим странам. Не он балканизирует Интернет, а Запад
уже много лет назад. Вроде бы, единственную блокировку которую я
встречал от РКН, был rutracker.org, наверняка из-за Михалкова
какого-нибудь. Все остальные ограничения -- со стороны сочувствующих
нацистам. РКН же в данном случае, как и в случае с нашей системой DNS,
просто заранее подстилает соломку и старается минимизировать ущерб от
очередных атак и зловредных действий.
Sergey Matveev [Thu, 7 Nov 2024 21:02:45 +0000 (00:02 +0300)]
На работе всё получше
Пару недель назад произошёл мощный конфликт на работе, как никогда.
И была серьёзная вероятность и готовность чтобы уходить. За это время,
пообщавшись с толковыми людьми, стало понятно, что конфликт был
катализатором других процессов в моей голове. Это не отменяет его
серьёзности и что меня с оппозиционной стороной рассадят подальше,
конечно же.
Но вопросы и думы о том, что делать дальше, чем заниматься, боязнь ряда
вещей -- это уже, как мне сказали, ближе к теме кризиса среднего
возраста, выгорания и всякого подобного. Убедили, неопровержимыми
аргументами, что уйдя отсюда -- почти гарантированно не будет лучше и в
любом другом месте при моём текущем состоянии. Предупредили, что дальше
будет ещё хуже и тяжелее (в голове моей) какое-то время.
Посоветовали повременить с какими-либо действиями бесповоротными. Но
оказалось, что речь не про 1-2 недели, как я подозревал, а про полгода.
Так сказать, санкции ко мне не применили, но убедительно попросили не
вестись на провокации. Что в наше время, действительно, крайне важно. Я
стал куда сдержаннее и спокойнее на два порядка чем был десять лет назад
(знакомые подтверждают), но ещё не до предпочтительной степени.
Sergey Matveev [Thu, 7 Nov 2024 08:25:32 +0000 (11:25 +0300)]
Устаканился формат кодирования YAC
Время от времени какие-то правки в формат кодирования этого кодека я
вносил чуть ли не каждую неделю. Чем дальше, тем меньше, ибо формат
более чем удовлетворителен в каждой мелочи.
Вот только кодирование int-ов меня напрягало. А ведь, казалось бы, самая
такая простая и базовая вещь в компьютерах, которые с числами и работают.
Закодировать фиксированной длиной: может быть большой overhead.
Закодировать с выбором длины (8, 16, 32, ...): тоже неплохо, но нет
bigint-ов. В тэге есть много места и напрашивается возможность вшивания
и длины и маленьких значений int-ов в него. И так у меня долгое время и
было: длины int-ов от 1 до 16 вшивались, и значения до 32-х тоже.
Не давала покоя мысль о том, что берёшь Tcl, берёшь Python -- и там
везде int-ы без ограничений по умолчанию. В MessagePack bigint-ов нет.
В CBOR они эмулируются через тэг добавленный к строке (тоже по сути нет).
Но раз YAC заявляет, что может заменить прозрачно JSON, то значит bigint
обязателен. Ввёл ещё 8 и 64-бит кодирование его длины. Вышло так, что
для кодирования int-а есть аж четыре разных способа в итоге. Перебор и
безумие. Хотя, да, компактно.
Всё это надоело и пришёл к следующему: оставляю только bigint
кодирование, сделанное в виде обычной уже существующей бинарной строки,
перед которой тэг указывает что это положительный или отрицательный int.
По факту -- как в CBOR, но только у меня нет тэгов, а это просто особое
кодирование int-ов. Тэги CBOR ой как не все поддерживают. 0/-1
кодируются двумя байтами. До 256 -- тремя. Не так компактно как было, не
так как в MessagePack или CBOR. Но схоже с ASN.1 BER. Зато экономнее
всего по коду, плюс появились bigint-ы, прозрачные для использования в
Tcl/Python.
И вот сейчас я полностью удовлетворён кодированием. Надо только тестами
уже покрыть это всё.
Sergey Matveev [Tue, 5 Nov 2024 18:08:26 +0000 (21:08 +0300)]
CMS от ФНС
Получил по почте один документ от налоговой. К которому приложена CMS-ка
(.p7s). И... один из сертификатов в ней не валиден с точки зрения ASN.1
X.509 схемы. Ну не работает ни X.509, ни ASN.1! Либо вы делаете не
строгие DER декодеры и схемы без кучи условий, либо у вас то тут, то там
не будут валидироваться документы/форматы, созданные всяким дрянным ПО.
Sergey Matveev [Tue, 5 Nov 2024 07:32:22 +0000 (10:32 +0300)]
Удобство Сбербанка
Сегодня, при оплате квартиры, после ввода PIN-а, банкомат
поприветствовал меня, показав большими буквами моё имя. Вот какого чёрта
им надо выдавать эти данные обо мне, чтобы окружающие могли с экрана
увидеть? При этом, если они так хотят сделать удобно, то:
* какого чёрта, учитывая что я через банкомат оплачиваю ежемесячно
квартиру, пополняю изредка сотовый и Интернет, ещё реже оплачиваю
домены, то среди им предлагаемых услуг/организаций *никогда* нету
кварплаты?
* при вводе номера квитанции, он не переключает клавиатуру на цифры,
хотя кроме них ничего не допустимо в этом контексте
А если вспомнить все мои предыдущие истории общения с ним
(2d02e4957900946c6ca10ea0b8ac8162ededc40f, 11dbf22326811dc02a84e89fcba25afa195d0454, 71d4d1391ad542b1c2ae9d8c976ac4f769303abc).
Ещё я что-то в блоге не нашёл наиболее запомнившуюся мне историю.
Заставили нас на работе получить банковские карты Сбербанка, чтобы
отказаться от выдачи зарплаты наличкой. Я был одним из последних кто её
получал таким образом. Приехали их сотрудники и засели в одном из
кабинетов. Вызвали людей к ним. Простоял час в очереди. И это на рабочем
месте же по сути. Когда подошла моя очередь, то сел к их сотруднику и
вижу, что на A4 листке со списком ФИО, моё имя подчёркнуто/обведено.
Сказали что что-то не в порядке с моими паспортными данными и пускай я
дую к ним в отдел. Полтора часа времени потрачено впустую и ещё мне
куда-то надо переть чтобы получить карту нафиг мне не нужную. А перед
этим ещё надо было, кстати, заполнить бланк, где присутствовал пароль.
В другой день явился к ним отделение. Проблем не было, кроме того, что
про бланк с паролем они ничего не знают и давай-ка я на месте его снова
буду придумывать.
Через какое-то время снова к нам являлись сотрудники Сбербанка и все мы
проходили через них. Что-то я уже вообще не помню зачем и чего они
спрашивали. Один только вопрос запомнился: мой номер телефона. Диктую:
+7-495-.... Сотрудник попросил сотовый. Говорю что нет. Его лицо
выразило искреннюю полную растерянность. Он встал и пошёл к старшему,
сидевшему неподалёку. Говорили они тихо, но всё равно слышал что "у него
нет ...", "ну а что поделать? отпускай так". С того дня я уже мог бы
сбиться со счёта сколько раз коллегам названивали оттуда со всякой
рекламой и предложениями.
Sergey Matveev [Mon, 4 Nov 2024 07:34:09 +0000 (10:34 +0300)]
Итераторы в Go
https://eli.thegreenplace.net/2024/ranging-over-functions-in-go-123/
Сам я только читал в нескольких статьях про них, но не пробовал
использовать и ещё не видел в чужом коде (впрочем, как и generic-и,
кроме родной библиотеки). В этой статье очень просто и понятно описано
что это и как пользоваться.
Sergey Matveev [Mon, 4 Nov 2024 07:13:14 +0000 (10:13 +0300)]
Kerberized NFS
https://blogsystem5.substack.com/p/demystifying-secure-nfs
Как-то (8c06f231834997791621ae1bc3efae3dbb29956d) я пытался настроить
NFS с использованием Kerberos. По факту я ни разу в жизни не использовал
Kerberos, кроме как поднимания центра и получения билетов (tickets), но
не более того. С NFS у меня ничего не вышло. Я грешил на то, что у меня
была 12.x версия, которая была с массой багов на тот момент (я годами не
обновлялся). Но я вроде бы точно ничего не делал касательно GSS, как это
указано в статье. А в ней и написано про скудность документации по этой
теме. Из-за отсутствия опыта и очевидности того, что ядерный NFS как-то
должен общаться с Kerberos (по аналогии с IPsec↔IKE), я и не вспоминал
про GSS-демона.
Не уверен что я снова хочу повторять попытку сдружить NFS с Kerberos,
так как я просто ограничиваю firewall-ом IPv6 сеть которой дозволено
ходить к NFS. И трафик этой сети может ходить только через WireGuard
(IPsec когда-то). Факт возможности обмениваться трафиком из этой сети
означает что машина аутентифицировалась в VPN-е, что авторизует её
доступ к NFS. Не скажу что я доволен этим решением, оно не изящно, нужно
помнить о корректности настроек firewall и маршрутизации. Но для меня
удовлетворительно.
Sergey Matveev [Sat, 2 Nov 2024 18:24:26 +0000 (21:24 +0300)]
Arch Wiki пакет
https://archlinux.org/packages/extra/any/arch-wiki-docs/
Единственное ценное в Arch Linux для меня -- это их wiki.
Действительно очень много полезной информации там находил.
Отнюдь не GNU/Linux специфичной.
Оказывается, есть даже статическая версия этой wiki в виде пакета.
Sergey Matveev [Sat, 2 Nov 2024 18:04:43 +0000 (21:04 +0300)]
Подкаст-выпуск про беспилотные автомобили
https://linkmeup.ru/podcasts/2710/
Вот тема беспилотных автомобилей меня как-то вообще не интересовала.
Ну типа надо, не без этого, пускай люди развивают, пускай больше таких
машин становится, но как бы вот и все мысли. А тут один из самых
интересных выпусков (для меня) на linkmeup.ru был. Понравилась история
про то, как робот остановился послушать музыканта. И как попросили
увеличить скорость света.
Sergey Matveev [Sat, 2 Nov 2024 13:22:02 +0000 (16:22 +0300)]
Работа за ещё более мощным железом
В 80a3d2a50fcd3ee4172e43c2547b7fd019fdc1d9 я радовался как приятно было
поработать с 38 ядрами на Xeon Gold и 192GB RAM. Сегодня взял железку с
56 ядрами (*2, если учитывать SMT) и 2TB RAM. Если 192GB RAM я ещё
понимаю чем можно бы было забить даже дома, то 2TB уже перебор :-)
Впрочем, когда у нас появился 600MB HDD дома, то мы тоже не знали чем
его можно бы было заполнить.
Sergey Matveev [Sat, 2 Nov 2024 13:17:47 +0000 (16:17 +0300)]
Метал признали самым интеллектуальным музыкальным жанром
https://naked-science.ru/article/psy/metal-priznali
Ну дык, конечно, редко можно встретить тех же программистов,
которые бы увлекались рэпом например :-)
Sergey Matveev [Wed, 30 Oct 2024 07:45:41 +0000 (10:45 +0300)]
Бан maintainer-а в почтовой рассылке LKML
http://lists.suckless.org/dev/2410/35774.html
Пишут, что одного из maintainer-ов Linux забанили в LKML рассылке. Судя
по его прошлым сообщениям, которые выдаёт поисковик, чувак довольно
конфликтный. Но он тоже не одобрял Rust, напоминая о проблемах с его
сборкой.
Sergey Matveev [Sun, 27 Oct 2024 12:15:46 +0000 (15:15 +0300)]
Предотвращая коллапс цивилизации
https://www.youtube.com/watch?v=ZSRHeXYDLko
Очень понравилось данное выступление! Не могу оценить действительно ли
всё так упирается в передачу умений/знаний другим поколениям. Но очень
понравились примеры постоянно глючащего софта, при этом большинство
считает это допустимым и нормальным. Вот почему сама мысль об
использовании смартфонов или JS-based приложений просто омерзительна и
безумна для меня? Потому что я вижу со стороны насколько это всё паршиво
сделано, насколько сбоит и ведёт ненадёжно. Мне, как человеку не
"обитающему" в мире "современных ИТ-технологий", просто бьёт в глаза как
всё паршиво и ненадёжно сделано. Всегда считал что это "на отвали"
подход к работе, но понимаю что нет -- просто люди по другому не то что
не умеют, но даже не задумываются о том, что это просто не нормально
когда программа ведёт себя насколько ненадёжно и некачественно.
Свои страхи о том, что непонятно а много ли где можно работать
программистом (34780e342dd2489e684bab3bc927c1eae632d554), у меня как-раз
именно, из-за ставшей нормой, переусложнённостью (на пустом месте) софта.
Как в выступлении показывается: вместо того, чтобы установить/перенести
приложение просто копированием .exe файла, теперь люди просто не в
состоянии даже подумать как можно обойтись без какого-нибудь docker.
Написать pure-HTML страничку без JS+CSS+IDE-ramework-ов.
Не раз в выступлении произносится слово "безумие". А также
"переусложнённость". А также "простота", за которые в этом году я топлю,
похоже, особенно много.
Мне хочется просто передать звук из одного места в другое -- это лютое
безумие использовать для этого WebRTC, исходный код который я вдоль и
поперёк смотрел и даже правил. Это безумное по сложности решение для
простой VoIP задачи. Поэтому родился мой VoRS клиент, где я даже от
X.509+TLS избавился как от ненужной сложности (хотя это скорее уже
just-for-fun было). Недавно я YAC формат сделал, тоже, можно сказать как
ответ на переусложнённый CBOR. BASS систему сборки, в которой и CI часть
есть. Всё это про тему борьбы с переусложнённостью.
Sergey Matveev [Fri, 25 Oct 2024 20:53:22 +0000 (23:53 +0300)]
Наличка на концерте
Забыл к предыдущей записи добавить. Я пришёл запоздало, так что наверное
80% зала уже была на месте. При входе написана стоимость. Я приготовил
наличные. Даю девушке проверяющей билет. Она спрашивает "а что это такое?".
Объясняю что наличные деньги, вход же платный, стоимость вы написали.
Спросил я один что ли на данный момент ей оплатил? Получил утвердительный
ответ. Я вот только не понял: молодая девушка удивилась факту оплаты
наличными или она их никогда не видела прежде? :-)
Sergey Matveev [Fri, 25 Oct 2024 20:30:58 +0000 (23:30 +0300)]
Сходил на Grima
В 960b8df5f90859c7d1629b47bc04c082869ff1fa упоминал впервые услышанную
Grima из Красноярска, которая сейчас вот колесит с выступлениями.
Сегодня было совершенно не то, что на видео по ссылке. Декорации
деревьев, тьма всякого светового оборудования активно постоянно
работающего, море дымовой завесы со снегом сыпящимся. Я наверное даже
такой никогда и не видел прежде. Причём он осаждается на вокалисте,
который одет и выглядит как дерево -- очень эффектно!
Здоровски, здоровски сыграли! Медлячки в тему. Кач имеется. Яростные по
скорости партии и целые песни -- тоже. Чисто медленный head bang -- тоже.
Народ начал слэмиться с первой же песни. Так и надо, молодцы! Черепа там
всякие на сцене есть, фигуры с рогами. В общем, куча позитива и весёлого
настроения!
Grima, действительно, очень и очень достойны в живую. Уважаю за такое
внимание к созданию атмосферы, всему этому свету и костюмам. Приобрёл
футболочку и три компакт диска. Но ещё даже не вскрывал, не то что слушал.
Sergey Matveev [Thu, 24 Oct 2024 18:00:35 +0000 (21:00 +0300)]
Лютейше говёный день
Так вышло, что с коллегой разосрался в пух и прах довольно быстро
перейдя на личности. Ни на йоту не стыдно, извиняться не за что, ибо...
затронуты темы, которые он не имеет права затрагивать и критиковать.
Особенно учитывая специфику где мы работаем. А он пошёл требовать чтобы
меня отсадили. И вот встала уже этическая проблема передо мной. Если
меня отсадят, то значит руководство/организация приняли решение против
меня, как-будто я в чём-то виноват.
Затронь мать родную или что-то подобное святое, то меня совесть не будет
мучить, если я обложу хуями этого человека. Если его отсадят, то значит
он, конечно же, будучи уверенным в своей непоколебимой правоте, тоже
вряд ли сможет свыкнуться с этим.
Но во втором случае организация рискует потерять ценнейшего сотрудника и
это типа будет напрямую связано со мной. У меня уже были случаи, когда
наказывали (за дело) плохо выполнивших свою работу -- а мне как бы пофиг
наказали ли или нет, лишь бы работа продолжала идти дальше.
А сделать так, чтобы никого не задеть -- я не знаю как можно. А вместе
мы находится в одном помещении не сможем. Поэтому пошёл говорить с
начальством, объяснив ситуацию и что я не вижу иных вариантов, кроме как
покинуть компанию. Особенно учитывая, что в ней уже не в первый раз с
руганью от меня избавляется команда. Как говорят, один раз --
случайность, но два раза -- уже закономерность.
В своей правоте не сомневаюсь (и здесь речь не про личные неприязни или
вкусы), но чтобы организация рисковала терять ценного сотрудника, пускай
и позволяющего говорить недозволенное, тоже не хочу (специалистов и так
нехватка). Меня попросили дать несколько дней на размышления, мол, может
быть компромисс какой-то возможен будет.
Ну и оставшаяся часть дня забила голову мыслями -- а что же делать
дальше? В планах у меня как бы не было увольнения. Да и после отпуска
мне сильно лучше стало. И эти мысли очень удручают.
Такое впечатление, что толком во всех конторах программистам надо
работать со всяким дерьмом типа Docker, качать сплошные бинари,
JavaScript-application как интерфейс для любой программы, и без
вариантов использовать прочую дрянь типа GNU/Linux. В каких-то узких
специализациях я не шарю. Или вообще пойти на СВО? Но там, судя по куче
знакомых которые подавались добровольцами -- развернут меня с моим
зрением, да и отсутствием физических данных, что даже не знаю как будет
болезненно. На этой работе мне давали относительную свободу в экосистеме
того что я использую, не мешая мне писать ПО выполняющее поставленные
задачи. Но так здесь то я почти десять лет уже проработал. В планах
работ у меня были только вещи связанные с криптографической темой, но в
ней скудное кол-во предприятий задействовано.
В общем, та ещё задача, жопа.
Sergey Matveev [Tue, 22 Oct 2024 17:06:43 +0000 (20:06 +0300)]
Linux выпиливает maintainer-ов из РФ
https://www.opennet.ru/opennews/art.shtml?num=62090
https://habr.com/ru/news/852632/
https://www.linux.org.ru/news/linux-general/17766938
https://habr.com/ru/news/852962/
https://lore.kernel.org/all/CAHk-=whNGNVnYHHSXUAsWds_MoZ-iEgRMQMxZZ0z-jY4uHT+Gg@mail.gmail.com/
https://www.opennet.ru/opennews/art.shtml?num=62100
https://lenta.ru/news/2024/10/24/rossiyskih-spetsialistov-otstranili-ot-raboty-nad-yadrom-linux/
https://lore.kernel.org/all/CADnvcf++bWv=Ohwc=dwSA-Hy5_G3jNS5hjWgA_-yx5HSiS1f4A@mail.gmail.com/T/
https://lore.kernel.org/netdev/2m53bmuzemamzc4jzk2bj7tli22ruaaqqe34a2shtdtqrd52hp@alifh66en3rj/T/
И был получен комментарий от Торвальдса, где он чётко говорит про
санкции и про то, что возврат патчей от русских это равносильно
*поддержке* (пунктуация автора сохранена) какой-то там "Russian
aggression". Он -- фин, говорит, а русских кличет только троллями.
Причём труды этих .ru людей он не удалил, а только упоминание. То
есть, патч от .ru-people это акт "агрессии", но, будучи ворьём, всё
равно труды примем. Линус уже не впервые это делает и целиком называет
ОС именно "Linux", не отдавая никакого credit проекту GNU, без которого
его творение было бы бесполезно с самых первых дней существования.
Вот и вся суть человека с запада.
Sergey Matveev [Tue, 22 Oct 2024 16:50:12 +0000 (19:50 +0300)]
FLAC ограничения
В одной рассылке обсуждения lossless форматов для архивирования,
отметили, что FLAC не держит более 8 каналов, не умеет DSD кодирование
(которое в SACD например). Я сталкивался с тем, что мне нужно 32-бит
float бы пожать, чего он тоже не умел.
Ну вот нафиг его. А я давным давно перешёл на WavPack. Хотя, конечно,
CPU он немного побольше ест.
Sergey Matveev [Tue, 22 Oct 2024 09:27:57 +0000 (12:27 +0300)]
IEEE не публикует документы в общественном достоянии
http://cr.yp.to/writing/ieee.html
DJB рассказывает, как одному студенту отказали в публикации работы,
так как он не передал на неё авторское право, а сделал public domain.
Sergey Matveev [Tue, 22 Oct 2024 08:01:35 +0000 (11:01 +0300)]
Снова про решения при разработке на Си
В прошлых проектах я всегда для всех структур и enum-ов делал typedef-ы.
Мне казалось, что без них как-то не очень отображаются человекочитаемые
имена в LLDB. Но то ли времена поменялись, то ли я чего напутал, но
сейчас проблем нигде не заметил. И стал указывать просто "struct XXX" и
"enum XXX".
В 5f1645eb510d76ffb07c07fa09bffdea01959c03 и 81768895c53201dd862f7164ded5c7a90de6c55b как-то заходила речь про тип
переменных для указания индексов в массивах и размерах данных. С одной
стороны много говорят про то, что с знаковым типом сильно проще, ибо при
переполнении он станет отрицательным. С беззнаковым будет использоваться
арифметика с модулями. И я склонялся к этому варианту и решению,
использованию каких-нибудь ptrdiff_t.
Однако, переполнение signed числа является undefined behaviour! Тогда
как переполнение unsigned чётко и понятно определено. На практике, так
как у нас 2's complement, поведение *скорее всего* будет определено, но
компилятор из-за UB может и проблем подкинуть из-за оптимизации которую
он решил проделать. Есть -fwrapv (3f2f2ebd3ca7c13eaa4f4bdb0043032d0daeac03)
опция, которая позволяет форсировать строгое поведение при переполнении
signed, но оно закрывает путь к некоторым возможным оптимизациям
(судя по тому что пишут).
Во многих случаях, что с signed, что с unsigned -- надо проверять не
произошло ли переполнение. Это в любом случае if-ы. Так что у меня выбор
свёлся либо к: использовать -fwrapv, либо без него. Без него означает
меньше требований к флагам компиляции и это даёт возможность
использовать на один бит больше. Так что для размеров я уже точно без
сомнений считаю, что в Си нужен size_t, не забывая про проверки
переполнения. В ЯПах без UB для signed переполнений, типа Go,
использовать signed тип, если не критично что один бит теряется.
Собственно, Go и использует int для len() и индексов массивов.