]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
2 years agoАссанжа в обмен на трёх подрывников
Sergey Matveev [Tue, 18 Apr 2023 08:42:15 +0000 (11:42 +0300)]
Ассанжа в обмен на трёх подрывников

https://ria.ru/20230418/simonyan-1866025170.html
Предложили обменять Ассанжа на трёх иноагентов. "Спасите одну
полезную жизнь ценой трех вредных" -- хорошо сказано, поддерживаю!

2 years agoТео отвечает в рассылке OpenBSD
Sergey Matveev [Mon, 17 Apr 2023 20:28:42 +0000 (23:28 +0300)]
Тео отвечает в рассылке OpenBSD

> What is the best supported servers by OpenBSD ?

The silver ones work a little bit better than the black ones.

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

> What is the maximum login length on OpenBSD ?

You can stay logged in as long as you want.

2 years agoHEVC vs VVC vs AV1 по оценке VMAF-ом
Sergey Matveev [Mon, 17 Apr 2023 07:36:09 +0000 (10:36 +0300)]
HEVC vs VVC vs AV1 по оценке VMAF-ом

https://chipsandcheese.com/2023/04/16/codecs-for-the-4k-era-hevc-av1-vvc-and-beyond/
Хорошая статья о сравнении этих современных кодеков. Оценки VMAF-а
конечно могут не совпадать с субъективным восприятием. VVC хорош на всех
bitrate, AV1 бьёт HEVC на <1.5Mbps для 4K. Но AV1 единственный кто не
имеет проблем с патентами и отчислениями. Но и надо учитывать, что у
него довольно низкие по качеству CRF-ы выбраны, экономные.

2 years agoDragonaut Fest
Sergey Matveev [Sat, 15 Apr 2023 20:58:30 +0000 (23:58 +0300)]
Dragonaut Fest

Побывал на концерте "Dragonaut Fest". Офигительно было. Такого смешения
и разнообразия совершенно разной музыки я наверное не встречал на одном
мероприятии. Всё же самый "жирный" и сочный звук, самый лютый distortion
на гитарах это на sludge и stoner музыке. Анонс был таков:

    Cамые самобытные артисты столицы соберутся на одной сцене, чтобы
    поразить вас ощущением слияния эпох. Психоделика 60-х,
    инструментальный рок 70-х, Kraut, Stoner и Cладж нулевых.

Почти всё конечно можно было отнести к stoner-у, но по сути большинство
участников несравнимы все между были. Очень уж всё разнообразно.

Открыли концерт "Инна Пиварс и Гистрионы". Одетые как хиппи, музыкой из
этого же времени. Здорово, ничего так, можно было бы ещё раз послушать.
В живую ничего такого не слышал прежде.
https://www.youtube.com/watch?v=1E-YKcEcLHw
https://f4.bcbits.com/img/0005825302_10.jpg

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

Затем шли "Black Aspirin", которые играли и каверы на Panthera и
подобную заводную музыку. Неплохо, отлично, заводно, но, конечно, не
моё, простовато.

Далее "Roswell Surgery". Барабанщик с Napalm Death футболкой как у меня.
Вокалистка с Obituary футболкой. А гитариста я уже видел в Шишкином Лесу
(d8da5d3e101eb1916ac3fe3412e321a4f9c012e0). А это значит что будет жутко
мрачный, медленный и сочный звук. Но, как и с Шишкиным Лесом, их
композиции бы раза в два сокращать. Один раз послушать интересно, но
дальше уже не особо бы захотелось.

Потом "Unhealing Wound". Люто понравились! Вообще чёрт знает что это
такое было в плане стилистики. На сайте написано что это "krautrock".
Впервые слышу. Но просто потрясающая вещь, которую не описать. Куча
энергии, авангарда, психоделики, кача, медляков и скоростных вещей.

Думал что этих парней ничто для меня не переплюнет. Но нет, ибо следом
вышли "The Re-Stoned". Под них я не выдержал, снял очки, резинку для
волос и оторвался бошкотрясом. Можно взять и смешать атмосферные запилы
Джо Сатриани, жёсткую ударную игру Джона Петруччи, психоделику и
заводного ритмичного идеального для бошкотряса мощного дж-дж -- вот и
будут Re-Stoned. Мощнейше!

Ну а заканчивал это всё "Drunk Shaman". Было весело, но от того, как всё
выступление было нелепо. Басист, гитарист, барабанщик, плюс сам этот
шаман. У которого на столе куча каких-то электроприблуд как у харш-нойзеров
и микрофон. Так вот половину выступления вокруг него носились аж два
звукача, тыкая в планшетах, пытаясь что-то сделать с тем, что его голос,
как и его электроника, были бы хоть как-то слышны. А шаману похоже что
было пофиг. Он стоит, собственно, шаманит там что-то с ручками. Ему
кричат что не слышно его вокала -- он только кивает. Когда сыграли
первую композицию, где на сцене два звукача были, никто так и не понял
было ли это уже начало выступления или типа только soundcheck. Между
второй и третьей, пока всё пытаются сделать вокал, гитарист свою гитару
настраивает, басист с барабанщиком там вместе что-то про себя наяривают,
а шаман шаманит. Но кач и звук у инструменталистов был хорош, но ничего
выдающегося. В общем, наверное более фигового выступления я наверное ещё
не слышал, но это даже было забавно. Действительно: на сцене чувак,
который что-то шаманит, пофиг на то что его не слышно, как бухому, и всё
это на фоне sludge/stoner музыки.

Прикупил шесть альбомов Maat Lander (ещё не слушал, но, судя по
фотографии группы, там гитарист из Re-Stoned), Re-Stoned и Uratsakidogi.

2 years agoШнайер о хаке суицида
Sergey Matveev [Fri, 14 Apr 2023 19:17:53 +0000 (22:17 +0300)]
Шнайер о хаке суицида

https://www.schneier.com/blog/archives/2023/04/hacking-suicide.html
Моральная дилемма: совершив суицид (fa604a3ec404299b4c41d35be9ad85bbc1eb725e),
попадёшь в ад навсегда. Поэтому ты убиваешь кого-нибудь. Тебя казнят, но
если ты сознаешься в грехах священнику прежде, то избежишь ада. Даже
такая проблема решается криптографами.

2 years agoSHAKE it
Sergey Matveev [Fri, 14 Apr 2023 18:51:06 +0000 (21:51 +0300)]
SHAKE it

https://www.iana.org/assignments/hash-function-text-names/hash-function-text-names.xhtml
https://datatracker.ietf.org/doc/html/rfc8692
https://datatracker.ietf.org/doc/html/rfc8702
https://crypto.stackexchange.com/questions/70565/shake-128-256-or-sha3-256-512
Для X.509 и CMS уже есть RFC с OID-ами для использования SHAKE128 и
SHAKE256 "хэшей" вместо SHA2 семейства. А Ed448 вообще с самого начала
используется только с SHAKE256. А в IANA списке хэшей, кроме MD5, SHA1 и
SHA2 есть только ещё SHAKE*-и. Так что внедряется SHA3 всё активнее.

2 years agoAnother Rapping Tomato
Sergey Matveev [Fri, 14 Apr 2023 18:35:31 +0000 (21:35 +0300)]
Another Rapping Tomato

В 33-ем сезоне Симпсонов, Гомер написал ещё одно стихотворение. Я и
первое (на много сезонов до этого было) помню до сих пор (в русском
переводе):
    Жил был помидор насильник.
    Он насиловал меня каждый день.
    И знаете что? Это был я.
Новое стихотворение ему даже не дали прочитать, но к камере тетрадь была
повёрнута:
    There once was another tomato
    The son of the rapping tomato.
    He rapped really smart
    with all of this heart.
    And then who cares he was famous

2 years agoХудший (WWWorst) AppStore
Sergey Matveev [Thu, 13 Apr 2023 20:22:37 +0000 (23:22 +0300)]
Худший (WWWorst) AppStore

https://www.gnu.org/philosophy/wwworst-app-store

    Представьте себе наиболее оскорбительный app store.
    Программы из него запускаются на вашем личном компьютере.
    Но вы должны быть в online для их запуска.
    Каждый раз при запуске, они соединяются с app store.
    Если есть более новая версия, то без вопросов она
        устанавливается автоматически.
    Если app store решила что вам более нежелательно запускать
        программу, то она больше и не запустится.
    Если сервера app store в offline (или вы), то забудьте о программе.
    Программы из этого app store должны хранить все данные за серверах
        этого app store.
    Если программа не запустилась, то и до прежде сохранённых данных вы
        больше не сможете достучаться.
    Возможно даже была опция по скачиванию резервной копии ваших данных,
        но вам ещё нужно понять как декодировать её.

Звучит ужасно? Но ведь это буквально описание современной экосистемы
web-а! Современный web именно такой app store и представляет.

    "Web приложения" чаще всего распространяются как JavaScript
        программы (прежде эту нишу занимали Java и Flash), автоматически
        без вопросов устанавливаемые и запускаемые.
    Проблема не в том, что они написаны на JavaScript (или WASM/whatever),
        а в том, что:
        * у вас нет контроля над тем, что программа делает
        * у вас нет контроля над тем, когда эта программа запускается
        * у вас нет контроля над вашими данными
    Владелец такого "app store" отбирает у вас контроль, тем самым
        получая контроль над вами.
    Использование подобных несвободных программ автоматом ещё и означает
        встроенные возможности слежки и универсального backdoor-а.

Как оказалось, я уже публиковал тут ссылку на эту страницу в
f517a665242649d6e0b15ab0ac68c1cc3285515c, но что-то совсем забыл про это.

2 years agoMetalink4 с Стрибог хэшом
Sergey Matveev [Thu, 13 Apr 2023 19:09:02 +0000 (22:09 +0300)]
Metalink4 с Стрибог хэшом

http://www.git.stargrave.org/?p=meta4ra.git;a=commitdiff;h=1efa4b2c0439a7f041a619d99e9b18c6a4045979
http://www.git.stargrave.org/?p=meta4ra.git;a=commitdiff;h=2d4783856dffafc91b9aa007c3dd922dea12599b
http://www.git.stargrave.org/?p=godlighty.git;a=commitdiff;h=60823f21a618760fa82ac72ac6c6c4e2974d4e4d
На сайтах для своего софта, в разделе скачивания, я публикую ссылку на
сам tarball, OpenPGP подпись над ним и SHA256 хэш. Позже я стал ещё
добавлять .meta4 файлы (542f9611780a28a67ebd52210bbdcb9845c2890c,
2374b93f88e7a3222c0e91999306b259bd9e276c), которые содержат и хэши
(SHA256 с SHA512) и ссылки на доступность по другим URL-ам. Эти же
.meta4 файлы я стал прикладывать к письмам оповещениям о новых релизах.
Сегодня задался вопросом: а зачем я дублирую значение хэша (и то, только
одного из) вне .meta4, раз он всё равно и в письмах и на сайте есть?
Кроме того, на сайтах PyGOST и GoGOST я ещё писал Стрибог-256 хэш. Что
мешает его добавить в этот же .meta4? Ну кроме того, что формально нет
RFC на это. А если Стрибог добавлен в meta4ra утилиту генерирования
.meta4 файлов, то автоматом Стрибог появится и во всех остальных местах,
остальных проектах. Собственно, вот и добавил его поддержку в meta4ra, в
godlighty web-сервер (чтобы в HTTP заголовке Стрибог хэш отдавал), а
также убрал хэши на страницах скачивания tarball-а, ибо излишне.

Вот правда моя pure-Go реализация Стрибога очень не быстрая. Пришлось и
распараллеливание расчёта Стрибог-256 и -512 сделать и убедить себя что
я никуда не спешу.

А ещё содержимое файла в meta4ra передаётся теперь через stdin, что
автоматом позволяет красивый прогресс хэширования через pv отображать
(c1fbe2c15a0e2c6475ca508b04c91e8ca9ce8e6a).

2 years agoМожно и постесняться было бы своих социальных связей
Sergey Matveev [Thu, 13 Apr 2023 13:18:42 +0000 (16:18 +0300)]
Можно и постесняться было бы своих социальных связей

https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B8%D0%BD%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B0%D0%B3%D0%B5%D0%BD%D1%82%D0%BE%D0%B2_(%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F)
https://m.vk.com/wall-182897206_24542
Знаю людей которые не участвуют во всяких PGP keysigning party, дабы не
раскрывать своих взаимосвязей с другими людьми. Это, безусловно, более
приватно, не поспоришь. Я не прочь был их показывать публично.

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

Экстремистская компания где был Навальный -- вон теракты уже устраивает
с бомбами. В ней же Леонид Волков, с которым не раз пересекался на
конференциях. Да и первого я видел в метре от себя на одной из конференций.
С Дмитрием Гудковым я тоже на конференции лично говорил (ну точнее задал
вопрос на тему "закона о забвении", мол чего они все так яро против него).

Роскомсвобода тоже иноагент. А я был самым частым докладчиком на их
CryptoInstallFest-ах. Тоже вижу на их сайте объяснения как предать страну.

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

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

2 years agoДаже FSF обеспокоилась забрасыванием JPEG XL в Chrome
Sergey Matveev [Wed, 12 Apr 2023 20:51:07 +0000 (23:51 +0300)]
Даже FSF обеспокоилась забрасыванием JPEG XL в Chrome

https://www.fsf.org/blogs/community/googles-decision-to-deprecate-jpeg-xl-emphasizes-the-need-for-browser-choice-and-free-formats
FSF предупреждает о том, что Google не поддерживает JPEG XL
(1a632f94b854e95a7ef76a5511734d596b859ef7) потому что AVIF проприетарен
и значит Google будет иметь контроль. Точно помню, что, как минимум,
HEIF контейнер, в который AVIF и суётся, патентован и не свободен. AV1
при этом можно и в Matroska и (это прекрасно работает) в WebM. Я думаю,
ещё одной причиной является банально то, что AVIF получше справляется с
low fidelity маленькими картинками -- а это весь Web, а Web-экосистемой
рулит полностью один только Google. Он (Chrome) является законодателем,
это факт. Поэтому сейчас огромное количество сайтов -- невозможно
открыть. Наши Госуслуги с Firefox 105-ым не открываются уже даже
(acd512dc1a00dba75b7f3c82dc992e37d0ecadb9), слишком старый типа.

2 years agoPyGOST то всё равно хэш не правильно считает
Sergey Matveev [Wed, 12 Apr 2023 20:43:18 +0000 (23:43 +0300)]
PyGOST то всё равно хэш не правильно считает

http://www.git.cypherpunks.ru/?p=pygost.git;a=commitdiff;h=63d5c5a81f29bfbb2e6eff3d8dc730a33ef80427
Пока тестировал одну тестовую программу, то взял код из другой,
обнаружив, что этот код не корректен был. Начал писать тест для этой
второй программы на Python (так сказать стороннюю реализацию), чтобы
проверить всё ли в порядке в остальных её частях. При этом нашлась бага
не в этой программе, а в PyGOST-е. Он некорректно обрабатывал .update()
в хэше! Тупейшая ошибка. Почему она за более чем год не нашлась? А
потому что де-факто у нас ничто не использовало этот .update(), а делало
просто GOST*(data).digest(). Но серьёзность максимальная.

2 years agoСоседи и секс
Sergey Matveev [Wed, 12 Apr 2023 20:36:25 +0000 (23:36 +0300)]
Соседи и секс

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

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

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

2 years agoНечто типа teambuilding на работе
Sergey Matveev [Wed, 12 Apr 2023 20:04:32 +0000 (23:04 +0300)]
Нечто типа teambuilding на работе

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

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

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

2 years agoДоска почёта и внешний вид
Sergey Matveev [Wed, 12 Apr 2023 19:50:03 +0000 (22:50 +0300)]
Доска почёта и внешний вид

На работе меня повесили (фотографию) на доску почёта при входе.
Расчехлял для этого случая пиджак. На прошлой работе я постоянно ходил в
костюме. До этого как попало. Но всю жизнь я хотел выглядеть как
металлюга, байкер какой-нибудь, как рокер. Собственно, самый крутой тип
кого я видел -- это Шварценеггер из второго Терминатора. Но до этого я
был дрыщом таким, что ничего не сидело. Когда стал жить один, то
растолстел достаточно, чтобы кожаная жилетка сидела нормально. Увидев
как-то у Шварца кольца с черепами, то тоже загорелся этой идеей и одно
из колец (с кучей черепов) уже ношу более десяти лет. Ремень тётя
подарила с кучей заклёпок. Цепочку состоящую из черепов. Футболки у меня
или с перевёрнутыми крестами, или расчленёнкой какой или чем-то подобным.
Плюс довольно сильно протёртые джинсы. Ну удобны они до жути, не менять
же из-за выцветания, пока дырок нет. Причём костюмы то я носил в том
числе, потому что, как говорили, женщинам это нравится -- мол наверное
могло бы повышать шансы с ними. Лично у меня ни на йоту ничего не
менялось, зато сейчас, когда вообще забил на все эти попытки знакомств и
отношений, когда пофиг что там эти женщины будут думать (ага, особенно
про носки с сандалиями (f2780ef522a1184ea5f686481c65a2f28d435c41)), то
прям удовлетворение от одежды такой, как именно мне хочется. Причём
недавно ведь ещё и перешёл на кроссовки
(9481e7992a8533aaad581eae87052c1fcd50c61d) и некоторые из них вообще не
сочетаются с рок/метал стилем никоим образом (мне их отдали просто так),
но зато удобные, а это главное.

2 years agoЭлектронные повестки в военкомат
Sergey Matveev [Wed, 12 Apr 2023 19:40:07 +0000 (22:40 +0300)]
Электронные повестки в военкомат

https://lenta.ru/news/2023/04/10/uklon/
В новостях пишут что как только в личном кабинете на Госуслугах появится
повестка, то это юридически будет равносильно вручению на руки. А как
быть если ты не заходишь на эти Госуслуги. Я там зарегистрирован ещё
наверное более чем десять лет назад, когда возможно даже и JavaScript не
использовался у них. С тех пор (а это вроде бы только нужно было для
получения заграничного паспорта для поездки в Иран) и не заходил. Плюс у
меня ни в одном броузере не показывается даже никакой формы логина: на
отдельном компьютере я какую-то довольно свежую Ubuntu запустил и в её
Firefox только крутится "загрузка" и больше ничего не происходит. То
бишь, даже при желании я на это дерьмо (а только так я называю все эти
single page application программы) зайти не могу. И удалить свою учётную
запись не могу, ибо для этого надо войти. И написать в техподдержку не
могу, ибо информация о ней нигде мне не показывается. Причём чую, что
без привязки мобильного устройства слежения туда всё равно не пустят,
чего я тоже не собираюсь делать.

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

2 years agoИнтернет яростно колбасит последние недели
Sergey Matveev [Wed, 12 Apr 2023 19:17:18 +0000 (22:17 +0300)]
Интернет яростно колбасит последние недели

То IPv4 имел со многими хостами большие задержки и скорости низкие.
Туннельный брокер IPv6 российский вообще как-будто явно включил shaping.
Очень много зарубежных адресов отвечало более чем через десяток секунд,
много timeout-ов в RSS reader. Потом внезапно всё стало не то что
летать, но DNS resolving стал таким быстрым, что у меня лента новостей
загружается как никогда быстро. Я использую корневые DNS серверы. Как
будто на них что-то поменялось или появились anycast более близкие
адреса. Проверить всё это можно, но ленно, да и пофиг. Зато с неделю
очень активно меняются публичные ключи/сертификаты на куче зарубежных
доменах. Причём смена бывает через несколько часов. Возможно это
балансировщики со своими ключевыми парами, но прежде такой активности не
наблюдал.

2 years agoRust стал мёртв для одного человека
Sergey Matveev [Wed, 12 Apr 2023 05:15:41 +0000 (08:15 +0300)]
Rust стал мёртв для одного человека

https://gavinhoward.com/2023/04/rust-is-dead-to-me/
Потому что на своих мероприятиях он запрещает проносить оружие. Потому
что нельзя его имя использовать как не полагается и где не полагается.
С ходу не вспомню, но в каком-то дистрибутиве тоже видел неиспользование
Rust из-за его несвободной торговой марки.

2 years agoDrew DeVault считает что FSF умирает
Sergey Matveev [Tue, 11 Apr 2023 13:24:05 +0000 (16:24 +0300)]
Drew DeVault считает что FSF умирает

https://drewdevault.com/2023/04/11/2023-04-11-The-FSF-is-dying.html
Drew DeVault вроде бы казался нормальным человеком. Ему не нравится что
происходит с FSF и он предлагает то, что могло бы сойти за
первоапрельскую шутку:
    It's time for Richard Stallman to go.
    We need more leaders of color, women, LGBTQ representation,
        and others besides.
И надо ещё сделать очередную copyleft лицензию, как он считает, а то
люди не понимают что такое free software, permissive, MIT (хотя нет
такой лицензии, 499d8afd7741e9056f0d4c9f969386f49a6a293f), GPL и прочее.

2 years agoЛучше WAVE чем FLAC
Sergey Matveev [Tue, 11 Apr 2023 09:45:53 +0000 (12:45 +0300)]
Лучше WAVE чем FLAC

Увидел тут в одном месте спор аудиофилов. Говорят, что чистый несжатый
WAVE лучше lossless формата, так как оно меньше нагружает процессор и,
соответственно, меньше электромагнитного излучения создаётся от него.

2 years agoЛинолеум vs ламинат
Sergey Matveev [Mon, 10 Apr 2023 05:00:55 +0000 (08:00 +0300)]
Линолеум vs ламинат

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

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

2 years agoОформление магазина "Красное и белое"
Sergey Matveev [Sun, 9 Apr 2023 12:22:38 +0000 (15:22 +0300)]
Оформление магазина "Красное и белое"

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

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

2 years agoВыживаемость людей при падении с высоты
Sergey Matveev [Sun, 9 Apr 2023 12:10:20 +0000 (15:10 +0300)]
Выживаемость людей при падении с высоты

Регулярно есть новости о том, как только в нас в стране, падают люди с
этажей 10-12 этажного дома, получают конечно же травмы, но остаются живы.
Кто-то и с 20-го попадает на машину и целёхонек. Я уже давно считаю что
надёжнее способа суицида чем размазживание об асфальт с большой высоты
нету. Чтобы чем-то отравиться, типа таблеток, то это надо знать какими.
Прострелить себе голову -- ну это ещё надо достать оружие как-то. Резать
себе вены -- тоже надо уметь, да и сколько случаев когда откачивают.
Утопиться -- надо далеко куда-то идти, а то и спасти тоже могут.
Повеситься -- тот ещё геморрой. А прыжок из окна прост и эффективен,
никто не сможет внезапно помешать, назад дороги не будет. Ну да, вот
только прохожие и те, кто будут убирать что останется -- им будет не
шибко приятно, это верно. Прыгнуть под поезд -- подпортить график
движения тысячам людей, плюс, опять же, сколько случаев когда не
насмерть покалечит. Травиться химией -- будет агония от боли. Сколько не
обсуждали способы суицида на работе, но я всё равно при своём мнении как
о простом и надёжном. Но новости намекают что нужно повыше забираться.

2 years agoНе могут разгадать сплав РД180
Sergey Matveev [Sat, 8 Apr 2023 18:59:24 +0000 (21:59 +0300)]
Не могут разгадать сплав РД180

https://lenta.ru/news/2023/04/08/splav/
https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D0%B9_%D0%BF%D0%BB%D0%B0%D0%B7%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B4%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C
США, покупая многие годы эти наши мощнейшие двигатели, не могут их
воспроизвести, не могут даже воссоздать сплав. Аналогично не могут и
сделать аналоги (хотя бы с такими же характеристиками) наших СПД
двигателей, которые десятилетиями производятся уже и которые как только
на распиливали и не разбирали. А они на каких аппаратах не применяются.
Теория теорией, а вот конкретные технологии изготовления фиг просто так
узнаешь. Я ведь именно на инженера-технолога КЛА и РБ учился, так что
именно к этому приближен в институте был больше всего.

2 years agoDiablo 2
Sergey Matveev [Sat, 8 Apr 2023 15:54:18 +0000 (18:54 +0300)]
Diablo 2

https://habr.com/ru/companies/ruvds/articles/727064/
Пишут что почти каждый знаком с этой игрой. А вот я нифига не знаком и
никогда не хотел. Точнее я играл непродолжительное время у знакомого в
Diablo первую часть и мне совершенно не понятна эта механика боя.
Совершенно не засасывала. Может быть это как Fallout vs Fallout 2:
выглядят одинаково, но совершенно разные весовые категории. И у меня ни
капли нет чувств к Diablo именно потому-что во вторую часть не играл.

Так же как с Heroes Of Might Magic: все боготворят третью часть, в
которую я не играл. Зато много времени потратил на вторую и переигрывал
многие годы спустя. Благо что есть и ещё люди которым именно вторая
больше заходит, чем третья. Или возможно это из серии "вторая is good
enough".

2 years agoПрочитал обзорную лекцию на работе про форматы сжатия изображений
Sergey Matveev [Fri, 7 Apr 2023 14:51:32 +0000 (17:51 +0300)]
Прочитал обзорную лекцию на работе про форматы сжатия изображений

DCT, DWT, JPEG, JPEG2000, JPEG XL, AVIF, HEIF, HEIC, AVC, MPEG, HEVC,
AV1, VP8, VP9, Theora, Daala, WebP, PNG, цветовые модели, chroma
subsampling, entropy coding и всё в таком духе.

2 years agoНа концерте Morbid Angel обрушилась крыша здания
Sergey Matveev [Thu, 6 Apr 2023 13:44:01 +0000 (16:44 +0300)]
На концерте Morbid Angel обрушилась крыша здания

https://www.darkside.ru/news/152516/
Когда увидел новость о концерте Morbid Angel и изображение здание со
сорванной крышей, то подумал что нехило они так сыграли, настоящий death
metal. Но, к сожалению, есть и погибшие и покалеченные. Хорошо что
подобная музыка не шибко популярна, поэтому зал был заполнен только на
пятую часть. Металлисты активно помогали разгребать это всё и выбраться
попавшим в западню.

2 years agomkvmerge --engage cow
Sergey Matveev [Wed, 5 Apr 2023 09:26:56 +0000 (12:26 +0300)]
mkvmerge --engage cow

          (__)
          (**)  Oh honey, that's so sweet!
   /-------\/   Of course I'll marry you!
  / |     ||
 *  ||----||
    ^^    ^^

2 years agoАудио в .mka вместо родного контейнера
Sergey Matveev [Wed, 5 Apr 2023 07:17:48 +0000 (10:17 +0300)]
Аудио в .mka вместо родного контейнера

https://matroska.org/faq.html
FAQ упоминает плюсы засовывания аудио в Matroska контейнер:
* метаинформация унифицировано для всех видов кодеков будет
  передаваться. В MP3 можно одни форматы засунуть, во FLAC другие, в
  WavPack третьи. В .mka всё будет под одну гребёнку
* можно все трэки засунуть в один файл, а дальше разделить его на части,
  главы, отдельные трэки внутри метаинформации. Многие делают .flac+.cue,
  а тут один файл, независимо от кодеков
* если вы разработчик, то не нужно заниматься написанием декодирования
  кадров, так как этим зам Matroska контейнер уже обеспокоился
* можно объединять в сборники файлы разных кодеков/форматов
* за счёт сжатия заголовков, результирующий .mka файл может быть меньше
  чем оригинальный. Действительно, например WavPack файлы у меня на пару
  десятков килобайт становятся меньше

2 years agoКак один банк IPv6 внедрял
Sergey Matveev [Tue, 4 Apr 2023 18:31:30 +0000 (21:31 +0300)]
Как один банк IPv6 внедрял

https://habr.com/ru/companies/rncb/articles/726182/
Всё выглядит как-то странно и так себе.

nginx они подумали выставить одним концом в IPv6 Интернет, а другим
концом в IPv4 LAN. "Но и у этой версии был существенный недостаток:
«выставлять» сервер «белым» IPv6-адресом в Интернет – довольно опасно."
Не могу понять чем это может быть опасно, чем плохо, что за фигня?

В итоге они сделали... NAT. Только IPv6↔IPv6. Вот не удивительно что
после этого народ и плюётся от IPv6 и не хочет с ним связываться, если
строить сети на нём самыми отвратными IPv4 подходами.

Интересной оказалась заметка о том, что некоторые смартфоны вообще не
считают WiFi сеть рабочей, если в ней IPv4 DHCP не отработал. То бишь,
IPv6-only сети они не будут воспринимать как нечто рабочее.

2 years agoПодсети IPv6
Sergey Matveev [Tue, 4 Apr 2023 08:22:53 +0000 (11:22 +0300)]
Подсети IPv6

https://blog.apnic.net/2023/04/04/ipv6-architecture-and-subnetting-guide-for-network-engineers-and-operators/
https://blog.apnic.net/2018/08/10/how-to-calculating-ipv6-subnets-outside-the-nibble-boundary/
https://afrinic.net/support/ipv6/nibble
Рекомендации и примеры деления на подсети в IPv6 мире. Никогда не
задумывался про "nibble boundary", действительно удобно ведь когда
оно кратно четырём битам. А ещё офигел от того, что Digital Ocean
раздаёт /124 сети -- издевательство какое-то.

2 years agoПервоапрельские шутки
Sergey Matveev [Sun, 2 Apr 2023 05:18:19 +0000 (08:18 +0300)]
Первоапрельские шутки

https://www.scummvm.org/news/20230401/
https://www.linux.org.ru/news/proprietary/17179257
https://www.linux.org.ru/news/opensource/17179553
https://www.linux.org.ru/news/gnome/17179727
https://www.linux.org.ru/news/linux-general/17179504
Нету в этом году на OpenNet агрегатора происшествий на эту тему. Лично
мне в RSS-ах и почте попалась ровно одна новость: ScummVM сделал ScummAI --
ИИ который играет в игры без участия человека.

Ну и на ЛОРе в заголовках увидел что Microsoft переходит на Wayland, ибо
20% прирост производительности может быть. Выход консоли ReactOS (по
названию понятно что это). GNOME удаляет QWERTY, ибо Дворак рулит. И
Arch с Gentoo сливают проекты воедино для создания ArchGen.

2 years agoКомментарии про ECC
Sergey Matveev [Sun, 2 Apr 2023 05:04:31 +0000 (08:04 +0300)]
Комментарии про ECC

https://www.opennet.ru/opennews/art.shtml?num=58894
Новость тут на OpenNet про MLS E2E шифрование. Такого в комментариях
поначитаешься, что только и остаётся делать palmface. Причём многократно
повторяя, так убеждённо и уверенно вот такую историю:

* ECDSA придумали всего лишь в конце 1990-х
* У нас в ГОСТах внедрили только в 2012-ом
* DJB представил свой *25519 и оно везде и всюду начало использоваться
* Но только у тебя *25519 126-бит ключ
* Типа это всё очевидно snake-oil и небезопасно
* И поэтому начали пилить quantum-resistant алгоритмы

Лютый бред конечно, явно даже странички Wikipedia не открывал автор. ECC
придумали задолго до: в 1980-х по сути всё что нужно для ECDSA и *25519.
И прошли десятилетия, прежде чем это начали использовать, ибо убедились
что ECC это безопасно после тьмы исследований и анализов. У нас в ГОСТах
ECDSA (аналог) был в 2001-ом, ибо даже стандарт называется ГОСТ Р
34.10-2001. *25519 придумал DJB ещё в 2005-ом, и только спустя лет
десять+ он начал хоть как-то более менее активно внедрятся. Ключ у него
256-бит, минус пара бит. 126-бит это уровень безопасности. Вот только,
как уже много раз везде отмечалось, это нельзя сравнивать с уровнем
безопасности обычного симметричного алгоритма -- эти 126-бит ECC это
нечто куда большее чем 126-бит перебора симметричного ключа. И скорость
внедрения ECC связана в том числе и с патентами, которые всюду упорно
тормозят прогресс. То есть, всё это, мягко говоря, десятилетия анализов
и осторожного присматривания, прежде чем это начинают внедрять и
использовать где-либо. А *25519 как-раз таки очень неспешно внедряют, к
сожалению.

Не даром так часто смеются над комментариями на OpenNet. Хотя такие же
неадекватные авторы, судя по нику, точно так же тусуются и на Хабрах.

2 years agoПоклонник Garmarna
Sergey Matveev [Sat, 1 Apr 2023 19:18:18 +0000 (22:18 +0300)]
Поклонник Garmarna

https://www.youtube.com/watch?v=htvJR9_qj4E
https://www.youtube.com/watch?v=eYsMuNLueNk
Со вчерашнего дня, случайно напоровшись на Herr Mannelig в их
исполнении (1941cd81d45f0193f3c37562cd8bbc980c029849),
познакомился со всем творчеством группы. Последние альбомы вполне
современны. А альбом "6" так вообще даже рэп содержит и я бы подобные
причислял к некой попсе. Но как же мне нравится вокал (видимо, ещё и
язык) Эммы Херделин!

2 years agoHerr Mannelig
Sergey Matveev [Fri, 31 Mar 2023 20:52:18 +0000 (23:52 +0300)]
Herr Mannelig

https://ru.wikipedia.org/wiki/%D0%93%D0%B5%D1%80%D1%80_%D0%9C%D0%B0%D0%BD%D0%BD%D0%B5%D0%BB%D0%B8%D0%B3
https://en.wikipedia.org/wiki/Herr_Mannelig
https://www.youtube.com/watch?v=vjhL4XS_6wY
В прошлом посте упомянул что исполнялась сабжевая песня (точнее
баллада). Нашёл вот в YouTube исполнение этой песни группой Garmarna.
Просто тащусь как же мне нравится этот язык! Вообще все эти германские
языки! Мне нравится даже просто произносить и читать немецкие слова.
Всякие шведские, исландские, датские я конечно не понимаю и не знаю их
звуков, но они ласкают мне слух. Как Palästinalied например
(802a66b0d0f741e7e7aa2943d946a45bd450da77), которую я как-будто тоже
знаю наизусть.

2 years agoКонцерт Nytt Land: Скандинавия, горловое пение, варганы и... кантри
Sergey Matveev [Fri, 31 Mar 2023 20:23:06 +0000 (23:23 +0300)]
Концерт Nytt Land: Скандинавия, горловое пение, варганы и... кантри

https://ru.wikipedia.org/wiki/Nytt_Land
https://www.youtube.com/playlist?list=PL0WHcByYOHKGpceGobUsq5a5_Amnkfdw1
https://www.youtube.com/watch?v=bkX1iNUq6Jw
Посетил сей замечательный концерт. Смесь всякого скандинавского,
финского фольклора, с горловым пением, варганами, норвежскими аналогами
гуслей. Ах да, и всё это наполовину в кантри исполнении. Они честно
признались что это эксперимент. Вышло неплохо, хотя я бы предпочёл
более аутентичное выступление, хотя оно наверное было бы чуть менее
ритмичным, но более мрачным.

Было в клубе Агломерат, который не перестаёт радовать отличным звуком и
отличным светопредставлением с кучей дыма. Последние концерты вот были в
Бумажной Фабрике и там вообще нет дымовой машинки, что соответственно и
освещение делает наполовину ненужным.

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

А вот чего меня порадовало на концерте, так это исполнение "Herr Mannelig"
песни. Я ж её, благодаря In Extremo, знаю наизусть (конечно же из серии
"ю-ма-ха" (you're my heart))! Мог бы подпевать типа.

На бис они исполнили, так сказать, немецкий современный фольклор:
"Ohne Dich" Rammstein-а.

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

2 years agoКогда решил освоить Python за час
Sergey Matveev [Fri, 31 Mar 2023 11:19:05 +0000 (14:19 +0300)]
Когда решил освоить Python за час

https://www.youtube.com/watch?v=SEg-BOJxlS0
Очень понравилось это видео стёбное. Но только на второй раз
прослушивания до меня дошли все фразы и концовка, отдельно от
видео зачётная. Вот вроде бы смешно, а ведь и грустно то, что
действительно многие только так и программируют.

2 years agoМошенника из "Серверного мира" наказали
Sergey Matveev [Wed, 29 Mar 2023 08:35:33 +0000 (11:35 +0300)]
Мошенника из "Серверного мира" наказали

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

2 years agoПока отключаю bogofilter
Sergey Matveev [Wed, 29 Mar 2023 08:30:04 +0000 (11:30 +0300)]
Пока отключаю bogofilter

Это просто совпадение, но ровно год назад я написал о том, что начал
использовать bogofilter (5952427340117945ebc6961f2443ea7bb0ef91bf). Он
вроде бы работает, действительно оценки (ham/spam) ставятся адекватно,
но у меня крайне мало писем которые бы попали в спам только благодаря
bogofilter-у -- почти всегда другие проверки maildrop-а их всё равно бы
поместили в спам. Он нормально жрёт процессор -- поэтому пока отключу
его, ибо профит лично для меня не очевиден. Но вообще вроде выглядит
достойной программой.

2 years agoХаотичное изменение часовых поясов Ливана
Sergey Matveev [Tue, 28 Mar 2023 09:49:26 +0000 (12:49 +0300)]
Хаотичное изменение часовых поясов Ливана

https://habr.com/ru/news/t/725266/
Не несколько изменений за неделю в БД о временных зонах.
А я в неописуемой радости о том, что у нас отменили все эти переводы
на летнее/зимнее время (5e9e1bc030d156e0c9e6bac5be5c311174f98f6d).

2 years agoISO BMFF в JPEG XL
Sergey Matveev [Mon, 27 Mar 2023 09:22:08 +0000 (12:22 +0300)]
ISO BMFF в JPEG XL

https://github.com/Exiv2/exiv2/issues/1679
https://en.wikipedia.org/wiki/ISO_base_media_file_format
https://en.wikipedia.org/wiki/HEIF#Patent_licensing
https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Patent_holders
https://jpegxl.io/articles/rans/
JXL использует BMFF формат как контейнер, аналогично JPEG 2000.
Однако патенты на него иссякли. Но с HEIF не исключены вопросы.
Касательно патента Microsoft на ANS (который, как известно, она
не изобретала) -- говорят что по идее не может она его никак во
вред использовать, JPEG XL должен быть в безопасности.

2 years agoСвязь между обувью мужчины и его характером
Sergey Matveev [Sun, 26 Mar 2023 16:19:53 +0000 (19:19 +0300)]
Связь между обувью мужчины и его характером

https://lenta.ru/news/2023/03/26/harakter/
"классические дерби, оксфорды черных и темно-коричневых оттенков
предпочитают ...", "броги, монки и лоферы, напротив, выбирают ...".
А если я вообще ни одного слова не понял? Более того, даже не слышал
прежде ни одно из этих?

2 years agoБага в Go, когда есть X.509 сертификат с неподдерживаемым алгоритмом
Sergey Matveev [Sun, 26 Mar 2023 12:34:07 +0000 (15:34 +0300)]
Бага в Go, когда есть X.509 сертификат с неподдерживаемым алгоритмом

Обнаружилась проблема в Go. Если в списке доверенных сертификатов есть,
например, с ГОСТовым алгоритмом, то при попытке проверки сертификата, он
запаникует:

    panic: interface conversion: interface is nil, not x509.pubKeyEqual

    goroutine 194 [running]:
    crypto/x509.alreadyInChain(0xc000466100, {0xc00029e760, 0x2, 0xc0006062e8?})
            /.../src/crypto/x509/verify.go:870 +0x14a

То есть, авторы crypto/x509 не предполагают что может быть алгоритм
который они не поддерживают. Я то этого всего не замечал, так как
использую fork с поддержкой ГОСТов, но если подсунуть мой CA bundle
(http://www.ca.cypherpunks.ru/cert.pem.), то на обычной версии Go это
проявится.

2 years agoWindows начнёт поддерживать SHA3
Sergey Matveev [Fri, 24 Mar 2023 08:04:08 +0000 (11:04 +0300)]
Windows начнёт поддерживать SHA3

https://habr.com/ru/news/t/724474/
https://en.wikipedia.org/wiki/Secure_Hash_Algorithms
Я к SHA3 (a50ddffbea890a1edcfc219de7a08c566858cd7b) довольно равнодушен,
ибо вообще не видел причин его использовать вместо SHA2. Нужна скорость:
тогда BLAKE2/BLAKE3/Skein пожалуйста, или KangarooTwelve
(b22bbe75e3c177a16d330c4a1512e3eb292231e2). Но тогда нельзя будет тыкать
в стандарты: ведь только SHA2/SHA3 стандартизованы на Западе и формально
другие алгоритмы не много где можно применить.

Скорость SHAKE256 немного меньше чем у SHA512 в программной реализации.
У себя сравнивал с golang.org/x/crypto/sha3 и sha512 утилитой из системы.
Но не существенно. SHAKE128 значительно быстрее, как и SHA2-512, чем SHA2-256.
Но в таблице сравнения на Wikipedia можно увидеть что в SHA3 меньше видов
операций используется, нет сложения по модулю, что приятно.

Я уже и прежде начал склоняться и симпатизировать SHA3. Если при прочих
равных, SHA3 всё же более простой, даёт возможность лучшей оптимизации
на железе, то почему бы его не выбирать по умолчанию вместо SHA2? У меня
нет хорошего ответа против. Гнаться за упорной целенаправленной заменой
наверное не стоит, но если что-то делать с нуля, то почему бы и нет?

2 years agoJPEG XL vs PNG/WebP
Sergey Matveev [Fri, 24 Mar 2023 07:06:50 +0000 (10:06 +0300)]
JPEG XL vs PNG/WebP

https://github.com/libjxl/libjxl/issues/426
https://github.com/libjxl/libjxl/issues/727
JPEG XL хорош на всём что касается фотографических изображений. Но на
синтетических, типа снимков экрана терминала, он не всегда лучше PNG.
Делал я тут снимки mmc (66a73601f697c99ce2d0554eebe5017e2a0861bd) и
некоторые из них в PNG занимают немного меньше, большинство всё же
побольше. WebP при этом в два раза меньше умудряется делать размером
всё. Ничего удивительного, ожидаемо -- всё же JXL для фотографий. Но,
насколько понимаю, потенциал в виде его тьюринг-полных (почти)
predictor-ов в теории может бить PNG всегда.

Про эту особенность на GitHub libjxl-а знают. Оттуда узнал что, как раз
таки, можно задать перебор всех predictor-ов, опцией --modular_predictor=15.
--help вообще так себе у cjxl утилиты, ибо там написано же что оно и
равно 15-ти "at slowest speed", а штатный самый медленный --effort это
9-ка, которую я всегда и использую. Но нет, 15 оно не включает. Так вот
с этими опциями JXL у меня все PNG побил.

    22.878 png
    10.928 webp
    23.568 jxl (-d 0 -e 9 -p)
    19.274 jxl (-d 0 -e 9 -p -P 15)
    23.568 jxl (-d 0 -e 9 -p -P 0)
    18.658 jxl (-d 0 -e 9 -p -P 0 -g 3)
    17.692 jxl (-d 0 -e 9 -p -P 15 -g 3)

Но тут я задался вопросом: а прогрессивное декодирование нужно ли? Я его
автоматом выставляю потому что в JPEG оно даже помогает, в PNG тоже не
вредит.

    10.460 jxl (-d 0 -e 9)
    10.460 jxl (-d 0 -e 9 -P 15)
    15.216 jxl (-d 0 -e 9 -P 0)
    16.262 jxl (-d 0 -e 9 -P 0 -g 3)
    10.217 jxl (-d 0 -e 9 -P 15 -g 3)

Без игр с predictor и modular group size, JXL сразу же побил WebP! Для
меня это стало открытием. Действительно, с какой стати я посчитал что
поведение прогрессивного декодирования должно быть похоже на то, что в
JPEG? Оно очень круто в этом примере вредит сжатию.

Проверил на снимках с сайта PyDERASN-а, где WebP занимал более чем в два
раза меньше места чем PNG:

    23.996 browser.webp
    7.733 browser.jxl (-d 0 -e 9)
    7.532 browser.jxl (-d 0 -e 9 -P 15 -g 3)

    18.906 pprinting.webp
    8.357 pprinting.jxl (-d 0 -e 9)
    8.381 pprinting.jxl (-d 0 -e 9 -P 15 -g 3)
    8.341 pprinting.jxl (-d 0 -e 9 -P 0)

JXL тут более чем в два раза бьёт WebP. Причём все эти -P/-g опции везде
по разному влияют на сжатие: где-то хуже становится, где-то лучше.
Автоматического их перебора в cjxl утилите нет. Собственно, люди пишут
собственные скрипты для этого. Попробовал "--allow_expert_options -e 10",
но это оооооочень долгая операция. Если все остальные вызовы
отрабатывали 2-3сек, то с -e10 на восьми ядрах это заняло почти 10мин, с
чуть более лучшим результатом, на этой 1920x1060x8bpp картинке:

    10.217 jxl (-d 0 -e 9 -P 15 -g 3)
    10.188 jxl (-d 0 -e 10)

2 years agoУстройство и быт бобров
Sergey Matveev [Thu, 23 Mar 2023 20:27:03 +0000 (23:27 +0300)]
Устройство и быт бобров

https://habr.com/ru/company/tuturu/blog/673040/
Масса интересных фактов о бобрах, много нового узнал.

2 years agoLTT канал взломан
Sergey Matveev [Thu, 23 Mar 2023 18:27:33 +0000 (21:27 +0300)]
LTT канал взломан

https://habr.com/ru/news/t/724414/
Тоже в feed-е увидел что какая-то чушь вставилась, потом изменилось
название канала, а потом и вовсе пропал. Причём всё это случилось после
вчерашнего их выпуска где они сзади жёлто-синюю подсветку сделали, всё
время находящуюся в кадре. Не понравился мне конечно их намёк на
поддержку нацистов, начал думать не перестать ли мне их смотреть, ведь
ну не было же никакой политики прежде. Посчитал, что если это единичный
случай, мол отчитаться перед Западом, для галочки, то ладно, чёрт с ним.
Политика сама придёт, не отвертеться, особенно тем, кто делает деньги. А
тут и реклама их Floatplane и не выходящая из головы мысль "а не ещё ли
это один шаг для громкого пиара в новостях?" (наравне с наци-флагом, как
раз в самом свежем выпуске). В общем, отписался. Как там говорят --
"совпадение? не думаю".

2 years agoПища за компьютером
Sergey Matveev [Thu, 23 Mar 2023 17:43:48 +0000 (20:43 +0300)]
Пища за компьютером

https://lenta.ru/news/2023/03/23/office/
Пишут что, мол, вредно есть за компьютером. Мне кажется я уже со
средней школы, точно со старших классов ел только за компьютером.
В новой квартире, как стал жить один, на кухне я ел с гостями
наверное раз 6-7. Всё время ем только перед монитором. Причём и
на работе тоже. Благо что коллеги тоже едят на своих местах и
временные запахи никого не беспокоят.

2 years agoКоровья суперсила
Sergey Matveev [Thu, 23 Mar 2023 14:51:44 +0000 (17:51 +0300)]
Коровья суперсила

https://unix.stackexchange.com/questions/92185/whats-the-story-behind-super-cow-powers
Проверял одну штуку на Astra Linux. В выводе apt-get увидел:
    В APT есть коровья СУПЕРСИЛА.
Потом нашёл ссылку на пояснения откуда это всё (просто один из
разработчиков очень любил коров):

    $ aptitude --help | tail -1
    Эта версия aptitude не имеет коровьей СУПЕРСИЛЫ.
    $ aptitude -v moo
    В этой программе на самом деле нет пасхальных яиц.
    $ aptitude -vv moo
    Разве не было сказано, что в этой программе нет пасхальных яиц?
    $ aptitude -vvv moo
    Прекратите!
    $ aptitude -vvvv moo
    Хорошо, хорошо, если я дам вам пасхальное яйцо, вы уйдёте?
    $ aptitude -vvvvv moo
    Ладно, вы победили.

                                   /----\
                           -------/      \
                          /               \
                         /                |
       -----------------/                  --------\
       ----------------------------------------------
    $ aptitude -vvvvvv moo
    Что это? Это слон, которого проглотила змея, конечно.

2 years agoПример встраивания USDT
Sergey Matveev [Thu, 23 Mar 2023 14:29:22 +0000 (17:29 +0300)]
Пример встраивания USDT

https://lists.freebsd.org/archives/freebsd-dtrace/2023-March/000113.html
Пример в рассылку кинули встраивания простой userspace defined пробы
(446a47a0cdcc499785102c7949bf90b3334ef96c060b63251ef2c81ad42baca7dba8caa79c573211)
* Пишем .d файл с описаниям проб: provider cat { probe foo(char *); };
* Запускаем dtrace -h для генерирования соответствующего .h файла
* #include-им его, вызываем пробы (вот только нужно ещё в коде
  if (CAT_FILE_ENABLED()) писать)
* Собственно, подключаемся к пробе и смотрим её:
  dtrace -n 'cat$target:::foo {printf("%s", copyinstr(arg0));}' -c "cat /foo/bar"

2 years agoВеди себя культурно
Sergey Matveev [Thu, 23 Mar 2023 08:06:33 +0000 (11:06 +0300)]
Веди себя культурно

Куда пожелаешь.

Увидел эти два предложения вместе в рекламе на улицах.
Очень понравилась игра слов.

2 years agoЖенщины в метро
Sergey Matveev [Thu, 23 Mar 2023 08:00:19 +0000 (11:00 +0300)]
Женщины в метро

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

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

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

2 years agohonnef.co/go/tools/cmd/staticcheck
Sergey Matveev [Wed, 22 Mar 2023 18:39:23 +0000 (21:39 +0300)]
honnef.co/go/tools/cmd/staticcheck

Понравилась эта утилитка: быстро работает, шума не выдаёт, показывает
всякие deprecated вещи, неиспользуемые или ненужные функции, переменные,
поля в структурах, "_"-переменные излишние.

2 years agoРаспознавание QR-кодов
Sergey Matveev [Wed, 22 Mar 2023 14:50:18 +0000 (17:50 +0300)]
Распознавание QR-кодов

https://zbar.sourceforge.net/
Если надо из фотографии распознать QR-код, то вот одна из первых мне
попавшихся утилит вполне с этим справилась. Из больших зависимостей
только ImageMagick.

2 years agocmake скачивающий из Интернета
Sergey Matveev [Tue, 21 Mar 2023 09:05:17 +0000 (12:05 +0300)]
cmake скачивающий из Интернета

https://github.com/AcademySoftwareFoundation/openexr
В README к OpenEXR честно написано что cmake потянет из Интернета
автоматически Imake репозиторий, если он не найдётся. И, действительно,
прямо во время выполнения cmake, он запускает git clone. Не, то что
сейчас безумство не знает границ с автоматическим вытягиванием -- это я
знал. Но чтобы уже в момент конфигурирования софта -- нечто новенькое.

    -- Imath was not found, installing from https://github.com/AcademySoftwareFoundation/Imath.git (main)
    [ 11%] Creating directories for 'imath-populate'
    [ 22%] Performing download step (git clone) for 'imath-populate'
    Klone nach 'imath-src'...

2 years agoЕщё сравнение JPEG XL
Sergey Matveev [Mon, 20 Mar 2023 10:20:46 +0000 (13:20 +0300)]
Ещё сравнение JPEG XL

https://giannirosato.com/blog/post/image-comparison/
Ещё одна статья со сравнением JPEG XL с другими форматами. Конечно же он
на коне. AVIF рулит только на плохих качествах, типа всяких изображений
для предпросмотра.

2 years agoOnly Fetish Fest. Нойз, харш-нойз, power violence. Доволен!
Sergey Matveev [Sun, 19 Mar 2023 08:50:15 +0000 (11:50 +0300)]
Only Fetish Fest. Нойз, харш-нойз, power violence. Доволен!

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

Как же мне провести этот день, разделить праздничное настроение? Конечно
же сходить на концерт. И вот впервые побывал на чисто нойзовом мероприятии.
Сразу скажу что не остался в таком восторге как от выступления barkal x
wiiu wiiu на noisecore/gorenoise (a524670c7ff381f29e725cc81982dae5b6dddc6e),
но остался всё равно доволен, однозначно снова посещу этот фестиваль.
Слоган фестиваля: women are darker, men are stronger.

В очередной раз, добирался на БКЛ (00c6d37a608b1506b2aa9f5b1653d11c961c09fe).
Очень удобно с ним. Увидел больше станций метро на нём -- есть и
огромные, просторные, с красивой отделкой и рисунками, прям как в СССР
бы делали. Очень красиво!

Народу не знаю много ли для подобного мероприятия или нет. Несколько
десятков человек. В разы меньше чем тот же black metal собирает, но
толпа есть, зал не пустует. В отличии от рок/метал направлений, все
"инструменты" выступающих заранее расставлены на полдюжине столах, ведь
это тьмища коробочек, розеток, кабелей и микшерных пультов. Душевная
атмосфера. Фоновую музыку (или антимузыку?) не ставили -- видимо, потому
что количество звука (суммарной энергии всех этих механических колебаний)
будет предостаточно.

Первым был Ryr из Ярославля. Один мужик с ноутбуком. Некий industrial,
атмосферный. На фоне такое можно поставить, но на концерте я не понимаю
чего слушать просто записанный трэк. Может быть мужик что-то и делал в
real-time, но не уверен остался. Просто послушать трэк в колонках, когда
нет ни действия, ни какой-либо "работы" человека -- не моё, не чувствую
я никакой передачи энергии, так сказать.

Далее была "Radio Lyric Irina", прежде известная как Artemida. Вот тут я
скорее сказал бы что потерял время. Хотя... просто убедился что обычный
нойзовый ambient без плотного звука -- совершенно не моё. Девушка очень
много говорила между своими композициями, мало играла. Да и вся её игра
это время от времени что-то выдать на саксофоне, пока проигрывается
незатейливый фон электронной музыки. Много слов о том, что она хотела
передать. Хочешь передать -- передавай, а не говори как будешь это
делать. Музыка (или антимузыка, как многие бы сказали) и нужна для того
чтобы без лишних слов передавать всё это. Не скажу что это было плохо
или отстойно -- просто я не тот кто может подобное судить. Как в
фигурном катании -- всё что я могу оценить это внешность фигуристок
(02ccb4f1b14a43abb9dbd4e1948201f3404103b5). А ещё хотелось раза в два
ускорить речь выступающей (0bce904d3fdae71b5b9ab05ee04c92ce6f4fa996).

Потом выступали barkal x wiiu wiiu. Собственно, из-за них я вообще и
попёрся и узнал о концерте этом. Очень понравилось их выступление прежде
(a524670c7ff381f29e725cc81982dae5b6dddc6e). Много ожидал. Играли они уже
нечто другое, не такой плотный harsh noise, но мне ооооочень понравилось.
Весь этот фестиваль стоил посещения ради них. В группе парень и девушка.
В публично-доступном Интернете прежде можно было найти только одну
запись их выступления, где эта девчонка в нижнем белье и чулках сидит на
столе с аппаратурой. В этот раз она была одета как Лилу из "Пятого
элемента" в начале фильма: только в этих "бинтах", только-только
прикрывающий срам. Тоже сидела на столе, пока парень с гитарой и кучей
других инструментов что-то выделывал и активно двигался. В общем, была
даже очень очень приятно и для глаз, хотя я не сказал бы что они нагло
решили эксплуатировать сексуальные чувства. Короче, ожидания оправдались!
Оказалось, группа то вообще из Хабаровска, поэтому часто в Москве их не
увидеть. Судя по реакции зала, они больше всех (ну, за исключением DOR)
тоже понравились залу. Искренний восторг у всех. Один только облом:
очень быстро их выступление закончилось. Это означает, что совершенно не
устаёшь, совершенно не нудно, весь погружён в их выступление.

Потом был "Самопожертвование EIHWAZ" из Ярославля. Тоже один мужик, но
уже хотя бы крутивший что-то на микшерных пультах, с непонятно чем
происходящем на видео проецируемом за ним. Пишут что это "power
electronics" стиль. Ну я бы сказал что там прям много и harsh noise.
Могу сказать что ещё раз бы в живую готов был послушать. Плотная стена
звука, этих power electronics -- мне просто приятно моим ушам. Здорово!
Но, конечно же, на любителя.

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

Заканчивали DOR -- power electronics мужик из Ярославля. Который и на
прошлых Only Fetish Fest-ов был постоянным участником. Лютая мощь!
Плотный звук, на грани harsh noise, высокая скорость, куча энергичных
криков и высказываний, хождение вокалиста по всему залу. Вот, вот что
значит огромный поток энергии! Народ, собственно, и пошёл слеймиться
неплохо! Слова типа "остросоциальные" (как где-то увидел это выражение),
но вообще даже улыбку многие вызывают, как и названия всяких goregrind
или brutal death композиций. Неприязни у меня не вызывали. Мощно, сильно!
Однозначно, вместе с barkal x wiiu wiiu, это конечно лучшее выступление
на фестивале.

Прикупил пару футболок и дюжину black metal дисков, в том числе от Der
Schwarze Tod лейбла (https://derschwarzetod.bandcamp.com/). Продавал это
всё Knyaz (Николай Гончаров), из группы Небокрай, Agasfer, Темнозорь,
давшим свою визитку и пригласившим на концерт Небокрая летом. Чуть с ним
обсудили войну давно идущую войну... нет, не СВО, а войну громкости,
remastering дисков и подобное.

2 years agoЛекция про ФС и ZFS на работе
Sergey Matveev [Sun, 19 Mar 2023 08:05:09 +0000 (11:05 +0300)]
Лекция про ФС и ZFS на работе

Прочитал трёхчасовую лекцию про небольшую историю файловых систем,
принципов их создания, разницы между накопителями (IOPS/bandwidth, LTO
vs HDD vs SSD), FAT-ы, Unix FS-ы, B-tree, журналирование, soft-updates,
LVM, RAID, write hole, особенности флэш памяти, TRIM, и подобное. Ну а
затем устройство ZFS, его плюсы, минусы и всё в таком духе.

Сделали даже запись. Лекции свои я хоты бы раз но стараюсь прослушивать
на фоне. И ставлю двухкратную скорость проигрывания. Почти все подкасты
(LTT, Technology Connections, 16-bits.ru), какие-нибудь обзоры
компьютерных игр которые скачиваю -- прослушиваются тоже на 40%-100%
большей скорости. И вот моя речь быстрее остальных настолько, что я даже
примерно не успеваю и не могу понять что я говорю на таком ускорении.

2 years agoЗагрузка файлов из/в Seafile
Sergey Matveev [Sat, 18 Mar 2023 09:44:23 +0000 (12:44 +0300)]
Загрузка файлов из/в Seafile

http://www.git.stargrave.org/?p=sfloader.git;a=tree
https://github.com/seafile-data/seafile-web-api-manual
На работе почему-то выбрали Seafile (https://en.wikipedia.org/wiki/Seafile)
для обмена файлами внутри сети. Никаких WebDAV, NFS или чего-то подобного.
В броузере он у меня не открывается -- требует какой-то модный JavaScript
(JS я, бывает, разрешаю запускать для служб внутри локальной сети, без
доступа к Интернету). Есть специальный клиент на C++, но для которого
только экспериментальная поддержка FreeBSD имеется. И действительно,
собрать его не удалось.

Но оказалось, что у Seafile есть REST-like API, который можно и через
curl дёргать. А URL для скачивания зашит в JavaScript коде страницы shared
ссылки. В общем, пара shell-скриптов и можно загружать файл, а также
получать прямую ссылку для его получения. --progress-bar curl-а впервые
использовал -- прям красиво показывает насколько он загрузил файл в форме.

2 years agoUbuntu вновь умеет удивлять
Sergey Matveev [Fri, 17 Mar 2023 18:28:47 +0000 (21:28 +0300)]
Ubuntu вновь умеет удивлять

https://askubuntu.com/questions/1435918/terminal-not-opening-on-ubuntu-22-04-on-virtual-box-7-0-0
https://www.youtube.com/watch?v=NvTMQBxGqDw
Мне кажется что отвратным качеством этого дистрибутива меня уже не
удивить. Но нет. Коллега поставил самую последнюю LTS версию в
виртуальной машине и... в ней запускаются все приложения из меню, всякие
там LibreOffice, но не запускается терминал. Дистрибутив GNU/Linux,
после установки (ну и обновления штатного), в котором просто не
запускается терминал! И на эту тему даже есть отдельный ролик и тема на
форуме как это починить. А надо просто навсего... поменять локаль.

2 years agoТорвальдс о ситуации с отказом патчей от российской компании
Sergey Matveev [Fri, 17 Mar 2023 13:08:41 +0000 (16:08 +0300)]
Торвальдс о ситуации с отказом патчей от российской компании

Прислали мне тут копию личного ответа Торвальдса разработчику из Байкала
(a3938287a6735d103b03008a69d54f8cbc7c55d5). Но попросили широко не
распространять. Линус чётко написал что РФ это террористы (по его
мнению), ей должен прийти конец и он не будет останавливать людей
которые не хотят брать патчи из русских источников. Ну... ничего
необычного, обычный американский гражданин. Но он расписал почему так
считает, по полочкам разложил.

2 years agoТелеметрия в Go
Sergey Matveev [Fri, 17 Mar 2023 08:26:54 +0000 (11:26 +0300)]
Телеметрия в Go

https://github.com/golang/go/discussions/58409
https://research.swtch.com/telemetry-intro
https://research.swtch.com/telemetry-design
https://research.swtch.com/telemetry-uses
https://research.swtch.com/telemetry-opt-in
Хотели в Go внедрить телеметрию по умолчанию. Но одумались всё же.
Впрочем по умолчанию у них и скачивание модулей сейчас идёт через Google
серверы, так что уже приходилось это превентивно отключать
(2957c2ffc83a99cda6c862963aeb38d8dcac8202).

2 years ago79 лет Таненбауму
Sergey Matveev [Thu, 16 Mar 2023 10:33:17 +0000 (13:33 +0300)]
79 лет Таненбауму

https://habr.com/ru/company/timeweb/blog/722130/
Его книги, как уже писал (7ed8fae8ba93ee71c80dbe6378876977cb67b0a1,
5107d84e32fd92c1ac2670e628737c7593dabc89), вложили колоссальный пласт
знаний в меня. Неизвестно был бы я в ИТ сфере без них. По моему, то,
как там преподносится информация -- идеал для обучения.

2 years agoОтказ принимать патчи в Linux ядро из-за политики
Sergey Matveev [Thu, 16 Mar 2023 10:20:04 +0000 (13:20 +0300)]
Отказ принимать патчи в Linux ядро из-за политики

https://lore.kernel.org/all/20230314103316.313e5f61@kernel.org/
https://www.opennet.ru/opennews/art.shtml?num=58804
Политика, к сожалению, всюду и везде. Вот в Linux отказываются принимать
патчи намекая на политические причины. Патчи кстати затрагивают нечто
касающееся ещё и Loongson-а. Вообще это всё не ново: ту же ГОСТ
криптографию тоже не принимают в разных библиотеках, хотя никаких
технических/криптографических объективных причин этого не делать конечно
же нет, как правило. Вот и делают fork-и, что геморройно, но люди
вынуждены подчиняться законам своей страны (или получать по шее).

2 years agoПро МЦСТ и Эльбрусы у Бачило
Sergey Matveev [Tue, 14 Mar 2023 17:43:03 +0000 (20:43 +0300)]
Про МЦСТ и Эльбрусы у Бачило

https://16-bits.ru/%d0%b2%d1%81%d1%91-%d0%bf%d0%bb%d0%be%d1%85%d0%be/
https://16-bits.ru/%d0%b0-%d0%bc%d0%be%d0%b6%d0%b5%d1%82-%d0%b8-%d0%bd%d0%b5-%d0%b2%d1%81%d1%91/
Два выпуска Дмитрия Бачило с приглашёнными гостями о том как всё плохо у
Эльбруса и МЦСТ (в первом) и что на самом деле не всё так плохо. Мне как
технарю понравилась первая часть, где отмечается закрытость. Да, здорово
что у нас есть кадры, здорово что, в отличии от преобладающего
большинства стран, может подобное делать и разрабатывать, но я вот ну
никак не могу поддержать закрытое и скрываемое от меня, не совместимое с
понятиями свободного ПО. В первой части честно сказали что показанный
ассемблер нисколько недостаточен для написания ОС -- только прикладной
части программ (ускорить числодробилку).

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

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

А также мнение Бачило касательно компьютерных игр очень понравилось.

Но очень не согласен с лозунгами "вот у них RISC-V, почему бы нам не
сделать своё", подразумеваю что речь про API/ABI/спецификации конечно, а
не конкретные "нарисованные" ядра. Это прям явно NIH-синдром (not
invented here). Наоборот СССР был молодцом что делал совместимые
компьютеры. Хотя и сделанные нередко полностью с нуля. Бачило и
заканчивает выпуск тем, что архитектура Эльбруса уникальна, ни с чем не
совместима, это проблема. Хотя... если геморрой и уникальность,
упираются в его продвинутые 128-битные указатели, которые при
портировании как-то стараются использовать, то это плюс. Но VLIW... нет
уж, ради чего?

2 years agoPyPI, двухфакторная авторизация и критические проекты
Sergey Matveev [Tue, 14 Mar 2023 16:19:40 +0000 (19:19 +0300)]
PyPI, двухфакторная авторизация и критические проекты

https://github.com/CheetahTemplate3/cheetah3/issues/49
https://github.blog/2023-03-09-raising-the-bar-for-software-security-github-2fa-begins-march-13/
Разработчик CheetahTemplate3 переименовал свой проект, выкатив как новый
пакет на PyPI, потому что потерял доступ к учётной записи из-за требования
использовать двухфакторную авторизацию (2c608b64a39de6d149f5807e8c56da30793a57af).
Там ему ещё написали что "критичность" пакета (что потребует 2FA) не
зависит от его "успешности" и популярности.

Мне нравятся его аргументы: или всё это требует смартфон, или аппаратные
ключи, что жутко геморройно. А если я забыл устройство/ключ? А если
потерял/сломал? Делать и привязывать несколько ключей! Верно ещё
заметил, что чёрт его знает что заработает на свободных ОС. Например
Рутокены и ESmart-ы (понятия не имею дружат ли они с TOTP или нет)
работают только со своими закрытыми бинарными .so. Можно конечно и
программные реализации использовать, но как бы какой тогда смысл, а
геморрой всё равно добавляется. И PyPI просто молча выставляет битик о
том, что проект теперь критичный, дуй использовать 2FA.

GitHub сказал что будет требовать 2FA для всех. Но это то меня мало
волнует, ибо давным давно перестал его использовать и никому не
советовал бы.

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

2 years agoЗаменил matterircd на самописный mmc
Sergey Matveev [Sat, 11 Mar 2023 16:49:56 +0000 (19:49 +0300)]
Заменил matterircd на самописный mmc

http://www.mmc.stargrave.org/
На работе для IM-а используется Mattermost. Это у которого в РФ даже
сайте нельзя открыть. И клиентов для него никаких нет толковых для
терминала. По сути только один официально есть, но написанный на
Haskell. Я честно искал как этот Haskell можно бы было собрать без
бинарников из Интернета. Штатно разработчики GHC ничего не предлагают.

Штатные клиенты это сплошной GUI или мобильные приложения или нечто
запускаемое в броузере. Когда-то MM у меня в jail-е с Firefox-ом
отображался. Но после очередного обновления сервера -- перестал
полностью. Короче ничего адекватного.

Поэтому я использовал единственное что вообще хоть как-то что-то с ним
позволяло делать: matterircd, который эмулировал IRC сервер и был неким
мостом между IRC клиентом и MM-сервером.

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

В общем, решил рискнуть и попробовать написать свой клиент, ведь MM
написан на Go и весь его API доступен через библиотечные вызовы.
Скептически был настроен: наверняка будет много подвохов, затык в UI
обязательно небось случится, да и вообще я сам не знаю какой IM-клиент я
бы хотел видеть. Но в итоге, потратив день, удалось в общем и целом
довести его до конца. Сейчас у меня по сути нет никаких TODO которые бы
я хотел сделать.

Была идея сделать мост между XMPP клиентом и MM-сервером. Ибо уже не
будет ограничений на размеры сообщений, да и вообще даже можно было бы и
файлы передавать через этот протокол. А XMPP клиентов не мало написано.
Но когда вновь посмотрел на MCabber, который много лет когда-то
использовал, то понял что например кусок кода уже не выделить легко и
удобно из-за roster-панельки.

Иметь все сообщения сливаемые на одном экране, как это было в GNU
Freetalk, (вроде бы) mICQ, Go-шном xmpp-client или как некоторые
прадлагают для suckless IRC клиентов сливать все выводы FIFO в один
multitail -- мне точно не нравится. Вообще не шибко то много на работе
общения происходит, тем более параллельно, но не забуду как ужасно
бывает отправить сообщение не в тот чат. Я убеждён что на экране должен
быть только один чат и ввод сообщений только в него должен идти.

Suckless подход к чатикам, когда для каждого канала создаётся директория
с текстовыми файлами информационными и парой in/out FIFO файлов, из
которых можно читать приходящие сообщения и отправлять -- мне не
нравилась. Конечно же она очень проста и красива для backend-а. Но вот
frontend то удобный поверх всех этих FIFO файлов то кто будет писать?

Всегда конечно есть вариант написания просто TUI интерфейса используя
curses-like библиотеки (для Go есть раздолье). Обнаружил что для
Multitail нигде нет документации о его keybinding-ах, которые вообще
чуть ли не на каждой клавише что-то делают. Крайне разочаровал он меня
этим. Ибо были мысли о попытке его использовать для отображения нужных
мне окон.

Ещё не понимая как пойдёт написание frontend-а, я реализовал suckless
подход. Только кроме FIFO файла для входящих сообщений, я сделал просто
append-only файл. Мне в любом случае нужно сохранять
сообщения на диске, поэтому зачем заставлять делал некий tee над ним,
чтобы просто копию данных лить в файл? Но сообщения из MM могут быть
многострочными и имеют метаинформацию (как минимум postId, кроме времени
и отправителя). Сохранять его одной строкой, а потом болезненно парсить,
не охота. Поэтому делаю .rec-файл, прекрасно для этой задачи подходящий.

Приятная бага нашлась в rlwrap утилите. Читать сообщения построчно (и
отправлять построчно) -- не вариант, ибо это будет не многострочное
сообщение, а много однострочных. Сигналом завершения сообщения можно
считать закрытие FIFO файла. В rlwrap есть --one-shot опция, которая,
судя по документации, завершает выполнения после чтения первой строчки
ввода. Но если ввод был произведён --multi-line-ом, то он успешно
съедает весь введённый текст, что логично и мне понятно как
программисту. Просто это бага в документации. Бесконечный цикл с
rlwrap -o -m cat > chans/foobar/in отлично выполняет задачу. Теперь ввод
можно делать и в vi-режиме и вообще вызывать внешний редактор.

Для отображения .rec-файлов написал утилитку которая выводит одно
сообщение одной строкой (не считая многострочных), без метаинформации.
При запуске она парсит весь файл и выводить только n-последних
сообщений, эмулируя показ истории. А дальше она не закрывает файл, а
ведёт себя как tail -f, отображая появляющиеся новые сообщения. Пока
правда просто циклом со sleep-ом и проверкой размера. И выводит с каждым
сообщением и bell, чтобы оповестить tmux и терминал.

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

В общем, запускается tmux, внутри mmc, который при запуске у сервера
запрашивает и всех пользователей и каналов и у каждого канала ещё
запрашивает историю с последнего нам известного postId. Если появляются
сообщения, то он дёргает утилиту которая открывает окно в tmux, где и
утилита для чтения .rec-а и утилита для записи сообщения сразу же
запущены. Отдельный keybinding есть чтобы запустить fzf с выбором
пользователя/канала и открыть окно.

Прикреплённые файлы показываются в виде "[FILE] FileId (FileName)"
сообщения. Скачать можно послав FileId в file/get FIFO и читая его из
file/out при этом. Решил засовывать его в pax архив, где заданы поля с
FileId и MIME-типом присланным из сервера. Архив приятен тем, что в нём
имя файла чётко сохраняется. Чтобы не делать это совсем уж руками, есть
cmd/download утилитка, которой надо указать state-директорию и FileId
просто навсего. Отправку файлов думал делать через тоже посылку
сообщения в FIFO файл соответствующей users/chans директории, но пока
остановился на посылке просто сообщения "/FILE /path/to/file" прямо в
чатике.

Узнать email/имя пользователя можно прочитав users/USER/{email,name}.
Узнать его актуальный статус (online/away/offline) прочитав "status"
FIFO в нём. Аналогично информация и в каналах записывается. "users" FIFO
показывает актуальный (честно делается запрос без кэширования) список
пользователей канала. Это всё не интегрировано в tmux или какие-то
keybinding-и, ибо крайне редко требуется -- можно и руками. А оповещения
о том что пользователь что-то вводит выводятся просто делая
display-message в tmux-е, который, как этого и хотелось бы, показывается
небольшое время только.

Пока более чем доволен результатом. Оно стало значительно удобнее чем
было с irssi+matterircd. Плюс ещё и с нормальной machine-readable БД
сообщений. И возможностью отправки файлов и более удобного приёма.

2 years agoРассказал про историю Unix
Sergey Matveev [Thu, 9 Mar 2023 19:15:37 +0000 (22:15 +0300)]
Рассказал про историю Unix

На работе впервые рассказал про историю Unix. Можно сказать что до
начала 2000-х, где коммерческие Unix-ы то толком уже роли не играли,
кроме Sun-а пока их не купила Oracle. Wikipedia, Narrative History of
BSD МакКузика, несколько других видео про историю BSD и SCO, чтение
истории из The Art Of Unix Programming Реймонда, история на сайте самого
Unix-а, интервью с Ритчи и Томпсоном -- всё это брал в качестве
материалов. День на сбор данных, день на структуризацию, пара дней на
просмотр и внимательное чтение всего этого, а дальше чтение с часами
всего этого дома. Пришлось сократить речь где-то на треть, чтобы
уложиться хотя бы в полтора часа. На работе правда вышло на два, но
потому что были и вопросы с комментариями, да и про NeXT я что-то не
запланировал изначально говорить.

2 years agoПотеря сигнала
Sergey Matveev [Thu, 9 Mar 2023 18:40:12 +0000 (21:40 +0300)]
Потеря сигнала

https://ploum.net/2023-03-09-losing-signal.html
Человек использовал Android без Google Play и Signal на нём. Решил
попробовать другой клиент Signal, сделал бэкап и удалил. А после не
смог восстановить свою учётную запись, при которой от него требовали
кучу нерешаемых CAPTCHA, задержки в несколько часов из-за иссякания
количества попыток входа, и никакой информации было ли решение CAPTCHA
успешном или его не пускали из-за отсутствия Google Play. Криптография
криптографией, в ней Мокси Марлинспайк разбирается, но на остальное,
типа федерации ему уже пофиг, просто не интересно. В итоге любые
преимущества Signal-а всё равно нивелируются его централизацией и
отсутствием выбора.

2 years agoTox задумывается об исправлении небезопасности в своём протоколе
Sergey Matveev [Tue, 7 Mar 2023 10:41:10 +0000 (13:41 +0300)]
Tox задумывается об исправлении небезопасности в своём протоколе

https://blog.tox.chat/2023/03/redesign-of-toxs-cryptographic-handshake/
https://github.com/TokTok/c-toxcore/issues/426
Более шести лет назад Jason Jason A. Donenfeld указал Tox-у что его
протокол рукопожатия небезопасен (при потере вашего долгоживущего ключа
возможна имперсонализация любого другого человека для вас). И только
сейчас они задумываются в своём блоге об исправлениях.

2 years agoВ неюзабельности почты (для многих) виновата Microsoft
Sergey Matveev [Tue, 7 Mar 2023 09:54:43 +0000 (12:54 +0300)]
В неюзабельности почты (для многих) виновата Microsoft

https://bsdly.blogspot.com/2011/02/problem-isnt-email-its-microsoft.html
Это, конечно же, и top-posting, из-за которого время на дешифровку
(интерпретации и нахождения нужной информации) сообщения стремительно
выросло. И отсутствие тредов с начала, а потом и использования
стандартизованного способа для передачи метаинформации. Плюс
невозможность вменяемо в offline скопировать и хранить сообщения. В
Outlook даже нельзя было посмотреть какой же будет From: на выходе.

2 years agoВсё есть файл в Plan9
Sergey Matveev [Mon, 6 Mar 2023 10:42:43 +0000 (13:42 +0300)]
Всё есть файл в Plan9

http://fqa.9front.org/fqa0.html
Когда люди как мантру повторяют что Unix упорно следует идее "всё есть
-- файл", то я не понимаю как они при этом умудряются закрывать глаза на
то, что всё что касается сети в нём никак не представлено в виде файлов.
За некоторым исключением конечно же. Файлы блочных устройств, символьных
-- действительно файлы, с которыми, правда, всё равно fcntl вызовы делают.
Но сеть то рулится просто вызовами не связанными с файловыми устройствами.

Unix никогда не создавался как нечто "with networking in mind". TCP/IP в
нём появился более чем через дюжину лет с момента появления. А прежде
всё "сетевое" взаимодействие было в виде UUCP.

А вот в Plan9 реально всё сделано в виде файлов, как упоминает Russ Cox:

* рисование графики: просто отправка текстовых строчек с командами в
  локальный для процесса device file
* в Unix-ах появился per-process /dev/tty, но в Plan9 и множество других
  устройств per-process (/dev/cons, /dev/mouse, /dev/text (содержимое
  текущего окна, и т.д.)
* работа с FTP, через /n/ftp ftpfs (хотя это через FUSE реализации тоже
  многие делают)
* /mail/fs/mbox через upas/fs представляет почтовые ящики в виде
  иерархии на ФС, в том числе позволяя "ходить" и по MIME таким же образом
* cdfs позволяет слушать аудио CD через файлы в /mnt/cd. Записывать
  аудио или данные можно просто скидывая файлы в /mnt/cd/wa или /mnt/cd/wd.
  Хотим зафиксировать CD? Просто удаляем эти директории. По моему очень
  красиво

Так как вся работа с файлами идёт поверх 9P протокола, который без
проблем ложится на сетевые протоколы, то что мешает импортировать
файловые системы на удалённых машинах? Хотим использовать звуковую карту
сторонней машины? Импортируем (гоняем 9P не по localhost, а через сеть)
её /dev/audio. Отладить процесс другой машины? Импортируем /proc.
Использовать сетевой интерфейс удалённой машины? Импортируем /net.

2 years agoСходил на концерт Мельницы
Sergey Matveev [Sun, 5 Mar 2023 19:49:11 +0000 (22:49 +0300)]
Сходил на концерт Мельницы

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

2 years agoMourning Dawn -- Waste
Sergey Matveev [Sat, 4 Mar 2023 10:14:05 +0000 (13:14 +0300)]
Mourning Dawn -- Waste

https://www.youtube.com/watch?v=T8p3RtIH6J0
https://www.metal-archives.com/albums/Mourning_Dawn/Waste/629721
Порекомендовали на Winter Metal Over Russia этот альбом, сказав что не
пожалею. Вот только недавно дошёл до его прослушивания. Действительно,
одно из лучших что слышал из последнего приобретённого материала. Круто
мрачно, но не уныло, не устаёшь.

2 years agounits
Sergey Matveev [Sat, 4 Mar 2023 09:27:28 +0000 (12:27 +0300)]
units

https://www.unix.com/man-page/bsd/1/units/
Из коробки в Unix-ах, оказывается, имеется такая вот утилитка по
преобразованию разных единиц измерения друг в друга.

2 years agoПосмотрел "Солнцепёк" и "Лучшие в аду"
Sergey Matveev [Fri, 3 Mar 2023 21:03:10 +0000 (00:03 +0300)]
Посмотрел "Солнцепёк" и "Лучшие в аду"

Солнцепёк -- так сказать, документальный фильмы про то, что начало
происходить в 2014-ом, что за нацистская террористическая власть пришла,
как устроили геноцид русскоговорящих. Кто не верит снятому или
сомневается, думая что это пропаганда выдуманная -- ну пусть пообщается
с теми у кого там родственники или кто жил до присоединения к РФ. Без
сомнений, коих у меня и не было прежде -- возмездие они заслужили, их
выбор. Собственно, в чём с нами и солидарна большая часть мира, правда
боится помогать делом из-за давления США. Говорят, что то, что сейчас
творится в Донбассе -- фигня по сравнению с тем, что было до начала СВО.

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

Правда со стороны РФ там показана только ЧВК "Вагнер". Но они
продюссировали фильмы, их право. Так то кроме ВС РФ ещё и Ахмат же есть.

2 years agoСколько времени процесс проводит в poll()?
Sergey Matveev [Thu, 2 Mar 2023 21:01:34 +0000 (00:01 +0300)]
Сколько времени процесс проводит в poll()?

Сегодня на работе надо было выяснить сабжевый вопрос. Хоть я в руки
DTrace брал считанное количество раз, но за пару минут скрипт готов:

    syscall::poll:entry
    {
        self->ts = timestamp;
    }

    syscall::poll:return
    /self->ts/
    {
        @[execname, "ns"] = sum(timestamp - self->ts);
        self->ts = 0;
    }

2 years agoПриобрёл пару ковриков для мыши
Sergey Matveev [Thu, 2 Mar 2023 19:22:47 +0000 (22:22 +0300)]
Приобрёл пару ковриков для мыши

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

2 years agoПересел на БКЛ
Sergey Matveev [Thu, 2 Mar 2023 09:44:19 +0000 (12:44 +0300)]
Пересел на БКЛ

Пару дней назад открыли Большую Кольцевую Линию Московского метро. И мои
две станции вплотную на ней расположены оказались. В разы стало быстрее
добираться.

2 years agoШаверма на Октябрьской
Sergey Matveev [Thu, 2 Mar 2023 06:33:48 +0000 (09:33 +0300)]
Шаверма на Октябрьской

О божественной и самой вкусной шаурмичной я упоминал в
1797921de9106a956894085ca997ff2ae80ffec4. Правда, как таковую шаурму я
там брать перестал, перейдя на кебаб в лаваше. Уж не знаю самый ли он
вкусный у них или нет, ибо нигде такого прежде не пробовал, но мне он
больше по нраву оказался. Коллегу тоже пересадил на кебаб.

Пару дней назад они выпустили свои фирменные обёртки картонные с
"Шаверма на Октябрьской" надписью и QR-кодом. Дали в подарок бутылку
лимонада, с просьбой написать о них в соцсетях.

2 years agoЗакон о запрете забугорных IM-ов
Sergey Matveev [Thu, 2 Mar 2023 06:21:10 +0000 (09:21 +0300)]
Закон о запрете забугорных IM-ов

https://tvspb.ru/news/2023/03/1/telegram-whatsapp-i-skype-roskomnadzor-vvel-na-nih-zapret-s-1-marta
https://www.securitylab.ru/news/536698.php
Очень рад этой мере! Запрещают использовать "WhatsApp, Telegram, Viber,
Discord, Microsoft Teams, Skype for Business, Snapchat, Threema, WeChat"
в госучреждениях и банках. В условиях войны Запада с нами, я бы вообще
приравнивал факт использования подобных технологий как шпионаж, со всеми
отсюда вытекающими последствиями. В США ведь тоже догадались на высшем
уровне запретить TikTok.

2 years agoЗакон о запрете иностранных слов
Sergey Matveev [Thu, 2 Mar 2023 06:11:39 +0000 (09:11 +0300)]
Закон о запрете иностранных слов

https://www.rbc.ru/politics/16/02/2023/63ee24679a7947fa27d022b0
Одобряю подобный закон, ибо уже реально достало, что имея на 100%
пригодные русские слова, всё равно используют английский, при этом
написанный кириллицей. Особенно когда речь про каналы связи с массами
людей.

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

2 years agoСлонограммы в моей локальной сети
Sergey Matveev [Wed, 1 Mar 2023 18:27:10 +0000 (21:27 +0300)]
Слонограммы в моей локальной сети

Помню что я пробовал раньше использовать jumbo frame-ы (MTU=1900) в
локальной сети, но точно не помню почему забил на эту идею. Ну наверное
потому что оно постоянно форсировало использование PMTUD, который в IPv4
мире не всегда работает из-за админов необразованных (запрещающих ICMP).

Сегодня снова решил это попробовать. Увеличил MTU на Ethernet
интерфейсе, на gif-туннеле, но ping/TCP всё равно не используют
увеличенное значение MTU. И только тут до меня дошло почему и отчего
route get команда показывает MTU значение для запрошенного хоста: MTU
же может быть per route! Не понимаю почему такая очевидная вещь для меня
была совсем не очевидна и я в голове MTU всегда имел привязанным только
к интерфейсу. От него конечно значение для MTU per route отталкивается,
но ничто не мешает же мне для default route задать маленькое, но в целом
для интерфейса (IPsec туннель) оставить большое. А так как по OSPF явно
знание и о соседних локальных машинах просасывается, то и для них будет
использоваться большой MTU. Прям то что мне нужно!

    % route -6 get dns.google
       route to: dns.google
    destination: default
           mask: default
            fib: 0
      interface: gif0
          flags: <UP,DONE,STATIC,FIXEDMTU>
     recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
           0         0         0         0      1420         1         0

    % route -6 get beta.stargrave.org
       route to: beta.stargrave.org
    destination: beta.stargrave.org
        gateway: fe80::be5f:f4ff:fedd:2752%gif0
            fib: 0
      interface: gif0
          flags: <UP,GATEWAY,HOST,DONE,PROTO1>
     recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
           0         0         0         0      8192         1         0

2 years agoДружелюбный Message-ID в Mutt
Sergey Matveev [Wed, 1 Mar 2023 18:10:31 +0000 (21:10 +0300)]
Дружелюбный Message-ID в Mutt

https://people.kernel.org/monsieuricon/fix-your-mutt
http://www.git.stargrave.org/?p=godlighty.git;a=commitdiff;h=8730f9415046a1cc1242870c9443b34491d81d9d
Недавно я задался вопросом почему у меня не все ссылки в архивах
почтовых рассылок открываются, пока не удалить в конце "/T". Пошёл в
исходные коды public-inbox-а и подумал что у них кривой regexp для
Message-ID, который не учитывает что могут быть слэши. Сделал патч,
пошёл уже было смотреть как его отправить разработчикам, но там как-раз
в их рассылке обсуждение этих Message-ID велось. На самом деле они
аккуратно с ними работают и передают в экранированном виде везде в URL.
Откуда же у меня они берутся, если URL-ы корректны? А это уже мой
godlighty автоматически разэкранирует один слой и передаёт его as-is
процессу public-inbox-а. В рассылке дали рекомендацию по настройке
Apache чтобы он пропускал as-is экранированные слэши.

А тут запись в блоге появилась о том, что Mutt, действительно, просто
суёт Base64 в качестве Message-ID, где появляются слэши и это немного
усложняет жизнь при подстановке в URL. Я не согласен что Mutt надо
"fix"-ить -- он ничего необычного или нештатного не делает и с какой
стати должен думать об URL-friendliness? Почта это почта, Web это Web.
Лично я вообще-то стараюсь всё же использовать Base64 URL-safe версию,
как-раз чтобы с точки зрения usability чуть было попроще, но это же не
fix, не бага. Но я свой Mutt и его штатные правила генерирования
Message-ID трогать не буду.

2 years agoОчередная лекция про IPv6 на работе
Sergey Matveev [Wed, 1 Mar 2023 08:26:21 +0000 (11:26 +0300)]
Очередная лекция про IPv6 на работе

Провёл тут недавно, в очередной раз. Плюс ещё пара человек в курсе про
замечательность протокола.

2 years agoGrumble проблематичен
Sergey Matveev [Mon, 27 Feb 2023 09:19:53 +0000 (12:19 +0300)]
Grumble проблематичен

В 6bf8ec6fda4ba9a2ee54819e4a6613ff33d8effe писал о Go реализации Mumble.
Коллега с мобильным каким-то мобильным клиентом подключился и у всех всё
перестало ходить и вообще сервер оборвал соединения. В логах есть только
упоминание о том, что у клиента нет CELT кодека. В общем, полной заменой
Grumble пока быть не может.

2 years agoРазгребая днями скачанную музыку
Sergey Matveev [Sun, 26 Feb 2023 20:12:33 +0000 (23:12 +0300)]
Разгребая днями скачанную музыку

Все выходные, кроме встречи с родными, потратил на разгребание скачанных
терабайт музыки (b95a8b8a33ff5fc50956510618dfc413fab71ac6,
0e39e6d1b75b764057dc33f1d35d924bcb4ed5ea). Куча скриптов, тьмища zmv
вызовов, дофига запусков Midnight Commander, сплошное сжигание
процессора автодополнениями zsh-а. Невероятно (вообще чуть ли не большую
часть работы) выполнял tornm (9dc73622854227df4a31a4c0a57adfc72a52ecd6).

Сейчас это уже 2200+ обработанных альбомов. Ещё несколько вечеров и всё
будет доделано до конца. 90% похоже что проделано уже. Дьявольски много
ручного труда. По сути всё время уходит на ручной труд. Посмотреть и
оценить каждую директорию и понять что с ней надо сделать. Много
приходится редактировать исходные CUE файлы, ибо в них то в название
трэка вшивают его номер, то непойми какая кодировка (ага, UTF-8 крайне
редко встречается), то ещё какие косяки. Я думал что вообще на всё уйдёт
гораздо больше времени, но аккуратно написанные скрипты (посмотреть и
оценить директорию/файлы/.cue, попробовать разделить файл на трэки и
переименовать, и т.д.) львиную долю ручного труда убрали. Не представляю
что делал бы без zsh.

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

2 years agoЭпидемия в Королёве
Sergey Matveev [Thu, 23 Feb 2023 19:08:11 +0000 (22:08 +0300)]
Эпидемия в Королёве

https://ru.wikipedia.org/wiki/%D0%AD%D0%BF%D0%B8%D0%B4%D0%B5%D0%BC%D0%B8%D1%8F_(%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B0)
Сходил на концерт Эпидемии в Королёве, вместе с родственниками.
Удовольствие получил конечно, но музыка не моя. Но играли и пели
на отлично. Сами они у нас выступают впервые, но вроде очень довольны.

2 years agoFacebook тоже выбирает AV1, SVT-AV1, dav1d
Sergey Matveev [Tue, 21 Feb 2023 13:18:26 +0000 (16:18 +0300)]
Facebook тоже выбирает AV1, SVT-AV1, dav1d

https://engineering.fb.com/2023/02/21/video-engineering/av1-codec-facebook-instagram-reels/
Среди всех современных кодеков, считают, именно AV1 лучше всех на многие
годы. Ну и такие же кодеры/декодеры используют что и я
(07bddb0ed6a5d2276a10cf77b81e22da2d7c69e6). Всё же, как минимум,
двухкратное сокращение трафика по сравнению с AVC -- уже качественный
прогресс.

2 years agoУровень курсов/практикума по Python
Sergey Matveev [Tue, 21 Feb 2023 10:36:31 +0000 (13:36 +0300)]
Уровень курсов/практикума по Python

Один знакомый just-for-fun решил поучаствовать в одном курсе по Python.
Дали задание: написать скрипт по переливке данных из нескольких таблиц
из SQLite3 БД в таблицы в PostgreSQL. Названия полей не совпадают, но
количество и суть остаётся прежней. Типа должно быть так, как условие:

    data = load_from_sqlite3(...)
    save_to_pgsql(data)
    # и нужно использовать dataclass для данных

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

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

Как загружаются данные в эталонном варианте? Схематично как-то так,
опуская всякие мелочи типа инициализации подключения к БД, подключения
адаптеров/конвертеров для UUID/datetime типов данных, транзакции и прочее.
В чём-то наверное ошибся, пишу по памяти, но суть точно передам.

    def load_from_sqlite3():
        for klass, table in self.dataclasses2tables.items()
            yield [klass(**converter(obj)) for obj in load_table(table)]

    def load_table(table):
        self.conn.prepare_data = prepare_data
        self.conn.execute("SELECT * FROM %s" % table)
        while True:
            objs = self.conn.fetchmany(batch_size)
            if objs is None:
                break
            yield from objs

    def prepare_data(conn, row):
        data = {}
        for idx, name in conn.cols_description():
            data[name] = row[idx]

    def converter(obj):
        if "foo" in obj:
            obj["Foo"] = obj["foo"]
            del obj["foo"]
        if "bar_id" in obj:
            obj["BarId"] = obj["bar_id"]
            del obj["bar_id"]
        ...

Сохранение выглядело как-то так:

    def save_to_pgsql(data):
        for rows in data:
            table = klass2table[row[0].__class__]
            self.conn.executemany(
                "INSERT INTO %s ..." % (...),
                [astuple(row) for row in rows]
            )

"Наш" вариант:

    def load_from_sqlite3():
        for klass, (table, colnames) in self.tables2dataclasses.items()
            yield klass, load_table(klass, table, colnames)

    def load_table(table, klass):
        self.conn.prepare_data = lambda (conn, row): klass(*row)
        self.conn.execute("SELECT %s FROM %s" % (",".join(colnames), table))
        while True:
            objs = self.conn.fetchmany(batch_size)
            if objs is None:
                break
            yield from objs

    def save_to_pgsql(data):
        for klass, rows in data:
            table = klass2table[klass.__class__]
            stmt = "INSERT INTO %s ..." % (...)
            batch = []
            for row in rows:
                batch.append(astuple(row))
                if len(batch) == BatchSize:
                    self.conn.executemany(stmt, batch)
                    batch = []
            if len(batch) > 0:
                self.conn.executemany(stmt, batch)

Собственно, главная проблема "эталонного" кода: полная загрузка всех
данных каждой таблицы в память. Ибо и в load_from_sqlite3 и в
save_to_pgsql используются list comprehension-ы. Чем этот вариант
отличался бы от кода где не было бы генераторов вовсе? Который бы просто
разом загружал все данные в память списком и его передавал в save_to_pgsql?
Да ничем! Это полнейший fail. Мог ли рецензент ошибиться и не заметить
двойных квадратных скобок? Отнюдь, ведь они аж в двух местах присутствуют!
Это полностью нивелирует вообще всё что написано касательно генераторов
и обработкой пачками, раз всё равно всё загружается в память.

Отдельное безумие это сложность кода который конвертирует данные в
dataclass представление. Для *КАЖДОЙ* строки полученной из БД, он в
цикле идёт по описанию схемы таблицы чтобы переложить элементы кортежа в
именованные ключи словаря. А затем, переименовывает поля, внутри словаря.
А затем ещё и удаляет del-ом старое оставшееся название. Лютое безумие с
точки зрения процессора. Python -- ОЧЕНЬ медленный язык. Каждая строчка,
каждое действие, каждое обращение к методу это ощутимый overhead. Раз
речь про переливание данных, возможно миллиардов строчек, то миллиард
небольших операций превращается в воочию осязаемое время.

Например сделать
    d["x"] = d.pop("y")
быстрее чем
    d["x"] = d["y"]
    del d["y"]
Сделать полностью в памяти второй словарик и только заполнять его, не
модифицируя исходный -- ещё быстрее.

Но зачем это всё? Мы можем чётко сопоставить порядок полей таблицы БД и
порядок полей dataclass-а. Почему бы просто не делать:

    @dataclass
    class Foo:
        bar: int
        baz: int

    row = conn.execute("SELECT bar, baz ...")
    Foo(*row)

Никаких словарей, никаких преобразований, дорогих. Просто сопоставить
порядок полей, один раз в запрос передав вместо "*" чёткое условие
выборки. Знание о связи полей dataclass и полями таблицы что одной, что
другой БД -- всё равно зашивается в коде. В "нашем" случаев это просто
кортежи/словарики лежащие в klass2table.

И тут нет совсем уж хаков типа: appender = data.append ; appender(row)
Также как и все мы понимаем что если нам реально нужно ещё быстрее
скопировать данные, то тогда вообще стоит использовать COPY конструкцию,
вместо *many вызовов.

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

2 years agoПиринговые войны в России
Sergey Matveev [Mon, 20 Feb 2023 14:18:42 +0000 (17:18 +0300)]
Пиринговые войны в России

https://www.comnews.ru/content/29020
https://ru.wikipedia.org/wiki/%D0%9F%D0%B8%D1%80%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D1%8B%D0%B5_%D0%B2%D0%BE%D0%B9%D0%BD%D1%8B
https://habr.com/ru/post/186282/
https://nag.ru/material/18680
https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D0%BE%D0%BC#%D0%A1%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D1%8F_%D0%B8_%D0%BF%D0%BE%D0%B3%D0%BB%D0%BE%D1%89%D0%B5%D0%BD%D0%B8%D1%8F
"Большая тройка" (БТ) организовала ОПГ. Нет, не организованную
преступную группировку, а "отдельную пиринговую группу". Вообще страшно
конечно как всякие Ростелекомы и БТ поглощают всех остальных.

2 years agoКойот о прошедшем CBF17
Sergey Matveev [Sun, 19 Feb 2023 20:36:16 +0000 (23:36 +0300)]
Койот о прошедшем CBF17

https://vk.com/video-211108867_456239051
https://sun1-55.userapi.com/impg/mjWNOiW2OIC48w0oYK1qja9xBrVUBpQrXGEmDA/ftoS3UtWqgA.jpg?size=1280x961&quality=95&sign=35800a93610c7b168c13208817699505&type=album
https://sun1-98.userapi.com/impg/GNm-L7DNDg8Viu5cMdvMaLFBqUg7qCfsQYt31w/ucO42U6EzqI.jpg?size=520x0&quality=95&sign=969a59cf43ff41b9dc333364df61978d
https://www.youtube.com/watch?v=zvp2_46mJV8
https://www.youtube.com/watch?v=iamtJRlWs58
https://www.youtube.com/watch?v=4wro89bguxQ
https://www.youtube.com/watch?v=I0ervPQUq7w
Плюс фотография после выступления Swamp. Сплошные довольные рожи, на
протяжении кучи часов. Мою рожу не видно, но я руку с напульсником
узнаю, единственную.

Есть видео полного выступления Sadistic Demise, которые мне понравились
больше всего. Хотя зал конечно уничтожили на Swamp, что видно по другому
видео.

Отцу приобрёл футболку CBF с "Ну погоди" -- он сам сказал что надел бы.

Ещё чьё-то впечатление:
    Наконец-то я прикоснулся к прекрасному. Первый раз попал на
    знаменитый и культовый Coyote Brutal Fest. Почти 12 часов тяжелейшей
    и брутальнейшей музыки и оголтелого движа. Абсолютно все выступавшие
    в этот день группы разрывали пространство высекая мощнейшие рифы,
    выдавая пулеметные барабанные партии и демонстрируя всю мощь своих
    вокальных данных, за что им всем огромное человеческое спасибо.
    Движняк в яме и саппорт по периметру были на высоте. Народ плясал,
    слэммился, мошил и одобрительно тряс головами. Это был настоящий
    праздник для любителей тяжелой музыки, который для нас всех
    организовал небезызвестный Дмитрий Койот Праскилевич

2 years agoCBF17: слэм единорогов с динозавром, снегурочка-баянистка играет Prodigy
Sergey Matveev [Sun, 19 Feb 2023 08:34:41 +0000 (11:34 +0300)]
CBF17: слэм единорогов с динозавром, снегурочка-баянистка играет Prodigy

Простыл, болит шея, тяжёлая голова, гул в ушах, зверски уставшие ноги.
Утро после Coyote Brutal Fest началось как положено! Вся одежда
пропитана запахом курева, пролитого (проходящими мимо слэма людей со
стаканами) пива, чужого пота голых торсов. Количество улыбок во время
концерта больше чем можно увидеть за весь год. Ради всего этого ведь и
ходят на CBF!

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

В этом году концерт шёл с 13:00 до 00:00. Я пришёл не совсем к началу --
одну группу пропустил. И ушёл, не услышав последнюю, ибо до дома
хотелось добраться поудобнее, а headliner-ы уже выступили.

* Indecency (качёвый слэм из Костромы)
* Fuck Your Depression (кач из Пензы)
* Visceral Disorder (brutal death из Тольятти)
* Megalodont (дет из Донецка, где гитарист это сын гитариста Datura)
* Flatulence (группа из Москвы, о которой я что-то забыл что они играли)
* Sadistic Demise (brutal death из Костромы)
* Swamp (качёвый слэм из Москвы)
* Infiltration (old-school дет из Санкт-Петербурга/США)
* Feraliminal Lycanthropizer (Ярославский порнограйнд)
* Datura (дет из Донецка)

Зал в клочья разнесли Swamp. Как можно было выступать остальным после
этих ребят, ожидая слэм -- сложно понять. Но зал был на высоте на
протяжении всего фестиваля. Я пришёл где-то к 13:30 -- зал был вполне
себе забит, слэм на каждой группе. Регулярные лодочки, перманентный
circle pit, wall of death временами. Количество энергии затрачиваемой
людьми во время всего этого, наверное может питать небольшой посёлок.
Но лично мне вот этот 100% качёвый слэм, из которого состоял Swamp --
уже не заходит. Не, круто конечно, но тут надо участвовать или хотя бы
трясти башкой.

А больше всего мне понравились Sadistic Demise и Datura. Первые были
единственными кому Дмитрий Койот разрешил выступить на бис, ибо уж очень
зал просил этого. Datura просто самые дьявольски техничные и тяжёлые.

Swamp предложили считать CBF как отечественный Obscene Extreme Festival.
Действительно, это единственный фестиваль на который я когда-то думал
съездить в Чехию. В начале фестиваля слеймиться вышел 2.5м динозавр с
длинным хвостом. А на протяжении всего концерта в зале плясали, мне уже
известные, два единорога розовых.

Feraliminal Lycanthropizer это танцевальный порнограйнд типа Sordid Clot.
Все переодеты забавно. На сцене была девочка переодетая снегурочкой с
баяном настоящим. На нём они исполнили кавер на Prodigy "Breath".
Порнограйнд, с growl inhale-ом, баяном и это Prodigy. Было очень
неожиданно и заводно! И особенно радуют названия песен, которые всех
заставляли ржать:

    Angry Appeal of Puny Masochists
    Carnal Embrace of Malodorous Cattle Mortuary
    Ceremonial Exhumation of Female Remains in Order to
        Produce Visual AIDS for Professional Cunnilingus
    Collective Pacification of an Aggressive Masochist
    Deadly Equilibrium of an Elastic Womanizer
    Faecal Kleptomaniac Family Troubles
    Fatal Equilibre of Elastic Womanizer
    Fatal Somersault of a Lustful Disabled
    Innocent Pranks of a Hallway Scat Terrorist
    Karmic Punishment of an Imposing Voyeur
    Methodology for Detecting Latent Homosexuality
    Obscene Teachings of an Elderly Pedophile
    Oral Execution of a Compassionate Sadist
    Ritual Abstinence from Senile Incontinence
    Sexual Fantasies of a Foolish Young Naturalist
    Sexual Mutation of Miserable Gerontophile
    Sudden Petrifaction of Intestinal Wastes
    Tragic Consequences of Rectal Pollution
    Unbearable Suffering of a Homophobic Makeup Artist
    Агрессивная мастурбация безабидного импотента
    Анальное зачатие доминирующей самки
    Апокалиптическое торжество вагинальной инфернальности
    Внезапное окаменение каловых масс
    Вселенская эпидемия эректильной дисфункции
    Грозное ноу-хау циничного проктолога
    Карнальные объятия зловонных скотомогильников
    Критическая концентрация гомосексуальной энергии
    Половая мутация ничтожного герантофила
    Радикальные последователи апологетов вагонопластики
    Рассечение вагинального нерва посредством анальной спазмостимуляции
    Турборокер, пафосно въезжающий в последний гран-батман дискошлюхи

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

2 years agoМузей ретрокомпьютеров открылся
Sergey Matveev [Sat, 18 Feb 2023 07:20:05 +0000 (10:20 +0300)]
Музей ретрокомпьютеров открылся

https://16-bits.ru/%d0%be%d1%82%d0%ba%d1%80%d1%8b%d0%bb%d0%b8-%d0%bc%d1%83%d0%b7%d0%b5%d0%b9/
В этом году, ближе к лету, надо бы будет съездить в Новосибирск для
этого. На открытии был Михаил Шигорин, с которым и пересекался лично
и даже немного поработал вместе. Мир тесен.

2 years agoСеть виновата
Sergey Matveev [Fri, 17 Feb 2023 19:49:57 +0000 (22:49 +0300)]
Сеть виновата

https://habr.com/ru/company/southbridge/blog/717634/
https://linkmeup.ru/blog/1188/
Автор статьи также является и автором "Сетей для самых маленьких".
Офигенно интересное чтиво. Причём начиная с самых азов и заканчивая
технологиями уровня ДЦ/Интернетов. И эту статья на Хабре интересно
написана.

Очень понравилось что не только мне кажется дичью создание огромные
L2-доменов, вместо использования L3. Про это намекали в "идеальном мире
для IPv6": d47aedcfff82c1bd58d4fde4a067b688a0dda78a -- но там всё же
идеальная крайность описана была. Но нет -- действительно Ethernet
должен в идеале только в маленьких доменах использоваться, как это
подтверждает и сетевик профессиональный. Приятно что у меня диссонанс от
любви людей к "всё засунуть в один L2 домен" не на пустом месте возникает.

Ну и автор говорит:
    Любите IPv6, переходите на IPv6, рассказывайте всем про IPv6.
Ибо с ним куда проще и удобнее работать!

2 years agoApple прогнулась и начала поддерживать AV1 кодек
Sergey Matveev [Fri, 17 Feb 2023 11:07:00 +0000 (14:07 +0300)]
Apple прогнулась и начала поддерживать AV1 кодек

https://www.opennet.ru/opennews/art.shtml?num=58665
Компания которая упорно десятилетиями принципиально не поддерживает
свободные и открытые кодеки (±) всё же добавили поддержку AV1 в один
из своих броузеров. Вот насколько, видимо, хорош кодек.

2 years agoVERP не позволяет множеству пользователей отправить сообщение разом
Sergey Matveev [Fri, 17 Feb 2023 10:55:59 +0000 (13:55 +0300)]
VERP не позволяет множеству пользователей отправить сообщение разом

https://en.wikipedia.org/wiki/Variable_envelope_return_path#Disadvantages
Я про себя не понимал почему при отправке сообщений из почтовой рассылки,
он для каждого получателя шлёт отдельное сообщение, хотя несколько могут
быть на одном домене. Ведь SMTP же может нескольким людям сразу отправить
одно письмо на сервере, экономя трафик. А всё из-за VERP-а, который для
каждого получается делает уникального sender-а. В SMTP можно указать
несколько recipient-ов, но не sender-ов.

2 years agoСтранные и необычные клавиатуры
Sergey Matveev [Fri, 17 Feb 2023 08:59:49 +0000 (11:59 +0300)]
Странные и необычные клавиатуры

https://habr.com/ru/company/cloud4y/blog/716934/
Большая подборка всяких клавиатур. Какие-то даже хочется попробовать. Но
я с Sofle (cb49d8505b928c638facd6aec3ca34e33444c9da) всё же не могу работать.
Отличные переключатели, отличное качество, нравится внешний вид и вообще всё.
Но я всё же не могу с таким малым количеством клавиш работать. Просто у меня
полностью прямо противоположный подход, которые намертво въелся, на уменьшение
количества сочетаний. А тут наоборот нужно ещё больше через сочетания делать.
Не могу даже за уши притянутую выгоду для себя придумать от этого. По сложности
это наверное как переучиваться на полностью другую раскладку (Дворака там).

2 years agoМедленный Интернет на Кубе
Sergey Matveev [Thu, 16 Feb 2023 15:21:02 +0000 (18:21 +0300)]
Медленный Интернет на Кубе

https://habr.com/ru/news/t/717446/
    "для скачивания фильма объёмом 5 Гб, который в США загружается примерно
    за 5 минут, кубинцу нужно потратить около 3,5 часов"
5 гигабайт за 3.5 часа это мало? По моему кто-то зажрался. Понимаю что
всё относительно, но для обычного человека с вменяемыми запросами, по
моему, этого более чем достаточно.

2 years agoGo реализации Mumble
Sergey Matveev [Wed, 15 Feb 2023 14:27:13 +0000 (17:27 +0300)]
Go реализации Mumble

https://en.wikipedia.org/wiki/Mumble_(software)
http://www.git.stargrave.org/?p=grumble.git;a=summary
http://www.git.stargrave.org/?p=barnard.git;a=summary
Mumble это единственная мне известная программа/протокол VoIP который
just works без проблем (ecf0bbd8f4f25d6039438e1c6756c518e6979cfb). На
работе его используем не первый год для голосового общения. Недавно один
сервер отвалился и надо было быстренько поднять где-нибудь ещё один.

Попробовал github.com/mumble-voip/grumble реализацию на Go. Пришлось
добавить руками поддержку пароля, но в остальном всё заработало отлично.

А сегодня попробовал реализацию на Go клиента github.com/layeh/barnard.
Почти никаких настроек, никакого voice activity detection, jitter buffer.
Грузит на 100% целое ядро. Голосовой трафик отправляет только по TCP
(что для VoIP конечно не очень приятно). Да и проект вроде бы заброшен.
Но с grumble сервером и родными Mumble клиентами это всё вполне работает.
Так что, видимо, сейчас это будет моим основным клиентом. Уж очень мне
не нравится что Mumble и его murmur сервер используют Qt, который
огромный монстр и держать одного его только ради изредка запускаемых
mumble/murmurd не хотелось бы.

И внезапно приятный факт: grumble и barnard у меня собираются моим
fork-ом Go с поддержкой ГОСТового TLS 1.3. И значит они автоматом
используют отечественную криптографию при связи друг с другом.