]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
23 months agoПереехал с IPsec на WireGuard
Sergey Matveev [Mon, 8 May 2023 11:42:41 +0000 (14:42 +0300)]
Переехал с IPsec на WireGuard

Уже упоминал что были мысли о переезде на WireGuard полностью. Но
останавливала его скорость ниже IPsec-а, из-за userland реализации.
После обновления FreeBSD (0cfadc4b3f5ed39dba025a4aecf5cede864f9ad1),
WG стал встроенным в ядро, как и утилита управления им. Тесты показали
что он, как минимум, не медленнее (пропускная способность и задержки)
IPsec-а на гигабите.

* IPsec я всё равно использую с PSK аутентификацией. Никаких PKI или
  подобного функционала IKEv2 не лишаюсь
* Ничего дополнительно из портов устанавливать не надо (strongSwan)
* Запускаю настройку wg интерфейсов в виде демона запускаемого через
  daemontools -- явного демона никакого не используется
* WireGuard у меня всё равно для удалённого доступа используется и для
  связи с VPS-кой -- теперь экосистема полностью унифицирована
* Эстетически очень приятно что шифрование это ChaCha20-Poly1305
* На gif-интерфейс нельзя было повесить MTU больше 8192, поэтому 8KiB
  блоки через NFS нельзя передать было одним пакетом. На wg-интерфейс
  можно навесить MTU большего размера. Мелочь, а приятно

23 months agoКриптоанализ Skein
Sergey Matveev [Sat, 6 May 2023 19:38:22 +0000 (22:38 +0300)]
Криптоанализ Skein

https://www.schneier.com/wp-content/uploads/2015/12/skein-20101206.pdf

23 months agoОбновил FreeBSD на серверах
Sergey Matveev [Fri, 5 May 2023 15:09:20 +0000 (18:09 +0300)]
Обновил FreeBSD на серверах

Делаю jail с голой FreeBSD 13.2 в отдельном ZFS dataset. Пересобираю всю
ОС в нём. mount_unionfs использую для монтирования /usr/ports/distfiles
в этот jail, чтобы он мог собирать пакеты без Интернета. Пакеты на
основной системе все были собраны, поэтому и distfile-ы имеются.
Использовать те же самые настройки для пакетов как на моей основной
системе не хочу, ибо на сервере мне не нужна документация для кучи из
них, которая занимает место. Собираю кучу пакетов общих для двух своих
серверов и общие настройки (всякие временные зоны, chrony, strongswan,
postfix). Делаю clone из этого data set. Теперь есть два chroot-а. В
одном продолжаю настраивать и устанавливать порты для одного сервера, а
в другом для оставшегося.

На USB флешку переношу файл с ZFS dataset-ом jail-а. С другой USB флешки
загружаюсь и переразбиваю диск, создаю ZFS pool и zfs recv на него
dataset-а с флешки. Перезагружаюсь и после нескольких итераций выясняю
что серверы почему-то могут загружаться с EFI разделов USB дисков, но на
обычных SATA они игнорируются. Делаю freebsd-boot раздел для gptzfsboot
разгрузчика, EFI раздел с /boot/loader.efi загрузчиком для UEFI систем,
swap-ом и оставшимся свободным местом для freebsd-zfs. Всё это
затрагиваю до самого большого раздела на терабайты с хранилищем файлов.
gptzfsboot тоже без проблем справляется с загрузкой с ZFS где zstd и
skein. Корень на этом сервере сзеркалирован, а вот разделы с данными
вообще в stripe и на GELI зашифрованных разделах. Их не трогаю -- пускай
остаются как есть. На втором диске проделываю все те же самые действия с
загрузчиками и добавляю ZFS корневой раздел в зеркало.

Но это сервер который не шибко критичен для постоянного online. Зато на
нём понял особенности загрузки с EFI на этих серверах. А вот с основным
больше геморроя. Гораздо больше программ и настроек. Перед вознёй с
jail-ами я делаю zfs send с сервера и zfs recv на мой основной компьютер
чтобы рядом под рукой иметь полностью его готовый образ, чтобы локально
удобно копировать настройки/state-ы и прочее. Теперь на SSD USB создаю
уже полноценную загрузочную систему. В самом конце останавливаю
почтовик, переношу его последнее состояние в dataset на флешке и
перезагружаю сервер, загружаясь с SSD USB, чтобы понять вообще работает
ли он (почта). Если не работал бы, то просто перезагрузился бы обратно с
дисков. Но всё оказалось более менее нормально. Система работает, на
лету по SSH чиню всякие мелки косяки, загружаю zfs recv-ом dataset с
одним jail-ом, который был сделан ещё на FreeBSD 11.2. Заработал без
проблем.

Но на этом основном сервере у меня небольшая часть места отведена под
корень, а терабайты под GELI раздел с хранилищем. И всё в зеркалах. И я
решил заменить этот GELI на родное ZFS шифрование, из-за удобства и
гибкости. Например раздел с NNCP spool-ом у меня ограничен квотой на
2GiB всего, ибо не раз кончалось место на корневом разделе. А tossing
при этом уже происходит на зашифрованный dataset. С родным ZFS
шифрованием можно не думать про место -- оно одно для всех. Плюс я хотел
перейти на AES-256 (GELI был на AES-128). В итоге полностью переразбиваю
один из дисков, теряя на нём данные, устанавливаю загрузчики, добавляю в
зеркало к SSD USB диску. Когда resilvering завершается, то загружаюсь с
этого HDD. Расширяю его место на все оставшиеся терабайты, подключаю
GELI диск с данными и переношу с него всё что там есть через zfs
send|recv, но не забывая указать encryption на целевом dataset-е. После
этого второй диск полностью переделываю и добавляю в зеркало.

В общем, прилично работы, куча времени на перенос терабайтов, но
минимальный downtime. Вот ни одной проблемы в ОС или баги не нашёл. Всё
как по маслу. Все косяки -- моих рук и от невнимательности.

23 months agoБезопасность AMD Zen 2/3 и TPM
Sergey Matveev [Wed, 3 May 2023 08:44:40 +0000 (11:44 +0300)]
Безопасность AMD Zen 2/3 и TPM

https://3dnews.ru/1086074/protsessori-amd-na-zen-2-i-zen-3-okazalis-uyazvimi-k-atake-cherez-modul-bezopasnosti-tpm
Пишут, что на этих системах можно за 200$ TPM атаковать так, что
получить доступ ко всем ключам.

2 years agohwpstate_intel и powerd
Sergey Matveev [Mon, 1 May 2023 17:30:35 +0000 (20:30 +0300)]
hwpstate_intel и powerd

В обновлённой системе появился рабочий hwpstate_intel драйвер, который
позволяет per-core управлять балансом между производительностью и
энергозатратами. Прежде без powerd Turbo Boost не врубался
(69e98cc610789604ae6a02ae38586135a803d38c). А сейчас powerd что-то и
пытается делать, но я по вентиляторам слышу, что отнюдь он никакого
максимума не пытается выжать. А вот если сделать:
    for oid (`sysctl -aN | grep "dev.hwpstate_intel.*.epp"`) sysctl $oid=0
то частота будет на максимуме. Если =100, то частота будет на минимуме.
По сути, powerd с этим hwpstate_intel драйвером становится бесполезным.

2 years agoGarmarna -- Gamen
Sergey Matveev [Mon, 1 May 2023 16:39:46 +0000 (19:39 +0300)]
Garmarna -- Gamen

https://www.youtube.com/watch?v=D_dJjJ2H-i4
Прикольный клип на композицию Garmarna: народ в кадрах отрывается как
на конкретном нормальном металле. Все колбасятся, включая музыкантов,
а идея неподвижной вокалистки ещё экстремальнее всё делает.

2 years agoDrew DeVault выгорел
Sergey Matveev [Mon, 1 May 2023 11:49:22 +0000 (14:49 +0300)]
Drew DeVault выгорел

https://drewdevault.com/2023/05/01/2023-05-01-Burnout.html
Понимаю его чувства, аналогично похожие были и у меня. Жопа.

2 years agoПрезентация стандартного текстового редактора
Sergey Matveev [Sun, 30 Apr 2023 19:56:24 +0000 (22:56 +0300)]
Презентация стандартного текстового редактора

https://t-dose.org/2023/schedule/workshop-editor-ed/slide.pdf
Знакомый устроил workshop на одной из конференций посвящённый редактору
ed. Мол, Кен написал его за неделю, как и командную оболочку с ассемблером.
Хорошие слайды с показом всех основных принципов работы с ним. Ведь он
куда не так прост, довольно много функциональности.

2 years agoОбновил свою древнюю ОС
Sergey Matveev [Sun, 30 Apr 2023 18:06:39 +0000 (21:06 +0300)]
Обновил свою древнюю ОС

Годами откладывал обновление FreeBSD 12.0, так как геморройное и
длительное это занятие. То тут патчик, то там -- чем дальше, тем больше
их накапливалось и ещё сильнее оттягивало время обновления. Вчера
решился на это. С чистого листа установка, а дальше накатывание и сборка
кучи всякого софта. Не считая ночи, заняло это у меня сутки. Я думал
значительно дольше будет. Многое в портах просто оказалось достаточно
или даже более современным чем у меня было установлено руками через Stow
(1e743a661cddf1e6755aa183932b74e4c99de322). Прежде у меня в системе был
LLVM аж 6-ой версии, а руками установленный 14-ый. 15-ый уже не
собирался на такой древности. В FreeBSD 13.2 LLVM 14 уже просто из
коробки идёт, 15-ый в портах работает.

Наверняка я ещё месяцами буду напарываться на какие-то особенности что
не учёл. По хорошему, надо бы было смотреть diff от всего моего корня до
голой 12.0 установки, чтобы понять где я что подкручивал. Но пока решил
решать проблемы/особенности по мере обращения на них внимания. Благо, с
ZFS-ным send/recv держать отдельный старый корень можно легко рядом.

Прежде я видел, что загрузчик не позволяет грузиться с ZFS разделов где
включён или Skein или SHA512/2 хэш. Сейчас в man-е я ограничений не
увидел и сразу же выставил для корня и Skein и Zstandard сжатие.
Работает и грузится без проблем. Теперь у меня вообще везде Skein. С
zstd вместо lz4 пока не понял есть ли профит или тормоза. Вообще система
работает побыстрее, но конкретно про ФС ничего сказать не могу --
быстрее, но не известно по какой причине. Да и лень выяснять. Появилась
возможность поиграться с шифрованием родным на ZFS.

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

Проблема с теми, кто зависит от GTK3, ибо он зависит от colord, который
хочет spidermonkey, который берётся из Firefox, который стал требовать
Rust. Никаких Rust-ов я не допущу у себя, поэтому собирать порты
зависящие от polkit/colord/gtk3 не выйдет. Всякую Zathura собрал руками
поэтому. Что-то от GTK3 всё равно установилось из портов.

Приятно было видеть что в куче мультимедиа портах по умолчанию
собирается AV1 поддержка везде. А также и JXL поддерживается.

Xombrero уже не собрать штатно, ибо Webkit нужной версии вообще в портах
стал отсутствовать. Какой же броузер можно использовать? Попробовал
NetSurf -- падает на разных кнопочках, ещё какие-то фатальные проблемы:
не рабочий вариант. Dillo выглядит хуже чем Links2 в GUI режиме, не
нашёл с ходу как подсунуть сертификат для аутентификации tofuproxy.
luakit требует webkit, зависящий от GTK3, который из портов не собрать,
а руками ленно. Пока для GUI броузером остаётся Links2. Если в Xombrero
я ещё включал JavaScript, который где-то, например на рабочем Redmine,
ещё работал, то в Links2 никакого CSS/JS нет. Наверное можно и вообще
полностью уже забыть про JS-capable броузеры. Пока попробую собрать
qutebrowser, который не от GTK3, а от Qt зависит (хотя бы без Rust
зависимостей).  Хотя удобство Xombrero возможно и заставит меня в Jail-е
со старой FreeBSD установить всё же webkit с ним.

Но пока это всё только на моей рабочей машине. Ещё и серверы же надо
обновлять. Но там вроде бы должно быть попроще и побыстрее, ибо пакетов
не много, в ОС почти ничего не трогал.

2 years agoПосмотрел "Вызов"
Sergey Matveev [Fri, 28 Apr 2023 17:52:18 +0000 (20:52 +0300)]
Посмотрел "Вызов"

https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D0%B7%D0%BE%D0%B2_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC,_2023)
Понравился фильм! Хоть и более двух часов идёт, но нигде не устаёшь и не
надоедает, держит в напряжении. Прежде "Гравитация" для меня была самым
технофетишистским фильмом про космос. Но "Вызов" тут естественно круче,
что не удивительно -- ведь действительно по-настоящему в космос то
слетали. Лично мне бы побольше туда кадров самого полёта, стыковки и
подобного -- ведь они гораздо дольше длятся. Здорово и на космонавтов
посмотреть было, настоящих! С удовольствием пересмотрел бы и ещё раз!

2 years agoПоиск в find
Sergey Matveev [Thu, 27 Apr 2023 20:09:21 +0000 (23:09 +0300)]
Поиск в find

https://marc.info/?l=freebsd-current&m=168176556429526&w=2
Неожиданное поведение обнаружили у find, в зависимости от локали:

    $ touch FOO
    $ touch bar
    $ env LANG=C.UTF-8 find . -name '[A-Z]*' -print
    ./FOO
    $ env LANG=en_US.UTF-8 find . -name '[A-Z]*' -print
    ./FOO
    ./bar

Говорят, что надо использовать классы символов:

    $ LANG=en_US.UTF-8 find . -name '[[:alpha:]]*' -print
    ./BAR
    ./foo
    $ LANG=en_US.UTF-8 find . -name '[[:lower:]]*' -print
    ./foo

Вот правда в FreeBSD find их не понимает для -name. Но можно для -regex:

    $ LANG=en_US.UTF-8 find -E /etc/rc.d -regex '.*[[:upper:]]+' -print
    /etc/rc.d/NETWORKING
    /etc/rc.d/FILESYSTEMS
    /etc/rc.d/SERVERS
    /etc/rc.d/DAEMON
    /etc/rc.d/LOGIN

2 years agoВернулся из нижегородской области
Sergey Matveev [Thu, 27 Apr 2023 17:17:52 +0000 (20:17 +0300)]
Вернулся из нижегородской области

Был в отъезде, в гостях у родственников.

2 years agoRSS мёртв?
Sergey Matveev [Thu, 20 Apr 2023 18:25:50 +0000 (21:25 +0300)]
RSS мёртв?

https://habr.com/ru/articles/730464/
В очередной раз вижу статью о том, что RSS мёртв. Я не понимаю с фига
ли? Даже в комментариях верно заметили что RSS пропал только из
нескольких соцсетей (типа Twitter), не более. Я конечно попадаю на сайты
где нет feed-ов, но это на уровне статистической погрешности их
количество. Все эти статьи про RSS должны говорить о том, что основная
масса людей просто переехала в соцсети из web-а. Вот и всё. Соцсети --
закрытая экосистема, изолированная, как правило, от поисковых роботов
путешествующих в web. Заинтересованная в том, чтобы люди заходили на
них, смотрели рекламу, сливали свои предпочтения и историю просмотров.
Когда-то ведь и XMPP был что в Facebook, что в VK.

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

2 years agoИ снова, почему Perl?
Sergey Matveev [Thu, 20 Apr 2023 12:26:51 +0000 (15:26 +0300)]
И снова, почему Perl?

https://two-wrongs.com/why-perl
Ничего особо нового нового (7140d7a5634957df1b459a4d6dae976b642d18f4),
но все в один голос говорят:

* Он установлен везде, не нужно ничего дополнительно ставить
* Его скрипты вполне себе могут масштабироваться до больших проектов
* Можно быть уверенным, что через десять лет скрипт всё равно будет работать
* Perl прекрасно подходит для любой shell-related задачи
* У Perl-а не богатый синтаксис, он расширяем

Вообще, утверждение о том, что Perl есть везде -- уже вроде бы не
соответствует действительности. Это я про некоторые дистрибутивы
GNU/Linux говорю. Но, по сути я вообще понятия не имею что от
современного GNU/Linux можно ожидать: vi нет, ed нет, perl нет из
коробки. Я могу ожидать только наличие sh и ls что ли? Но скорее
просто нужно говорить про нормальные адекватные Unix-like ОС.

Про то, что, как правило, не надо париться о версиях и совместимости --
это так. Я вообще даже примерно не знаю какие именно версии Perl у меня
где установлены -- но все скрипты just works. Когда-то давным давно и
Python, когда был 2.7, мог этим хвастаться. Но сейчас уже куда ни плюнь,
то сплошь и рядом можно увидеть один скрипт работающий под 3.5, другой
только под 3.6, третий под 3.7, и т.д..

Вот недавно мне надо было реализовать EGD (https://egd.sourceforge.net/)
демона, который бы за энтропией ходил по XML-RPC к другому серверу.
Писать на Go -- возможно его не будет на целевой системе. Python?
Понятия не имею будет ли там Py2 или Py3, как минимум. На Си -- и долго
и не хотелось бы, ради такой мелочи, компилировать что-то. Вот и
остаётся Perl.

2 years agoПоиск багов в Unbound
Sergey Matveev [Thu, 20 Apr 2023 08:35:40 +0000 (11:35 +0300)]
Поиск багов в Unbound

https://habr.com/ru/companies/yandex/articles/729764/
Интереснейшая статья про поиск проблем в Unbound-е в Яндексе.

2 years agoRFC про масштабы внедрения IPv6
Sergey Matveev [Thu, 20 Apr 2023 05:32:35 +0000 (08:32 +0300)]
RFC про масштабы внедрения IPv6

https://datatracker.ietf.org/doc/html/rfc9386
Аж целый RFC на эту тему есть. РФ даже не совсем отсталая в этом плане.

2 years agoРеклама ВС РФ
Sergey Matveev [Wed, 19 Apr 2023 18:36:09 +0000 (21:36 +0300)]
Реклама ВС РФ

https://vk.com/wall-216231092_6729
https://www.youtube.com/watch?v=dVSqEIVp95s
https://www.youtube.com/watch?v=TzUYrQcaxFg
Рекламы службы в вооружённых силах у нас клёвые.
Есть ещё китайский ролик неплохой и просто постыдный из США.

2 years agoБачило в гостях у какого-то блогера
Sergey Matveev [Wed, 19 Apr 2023 16:19:59 +0000 (19:19 +0300)]
Бачило в гостях у какого-то блогера

https://vk.com/video-50883936_456242505
Полуторачасовое интервью с Дмитрием, где обсуждают всякие Intel,
Эльбрусы и прочее.

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

Плюс AMD -- глюкавое говно. Я всё не забуду, что с появлением Ryzon-ов,
читал как ядро BSD/Linux/whatever падает чуть ли не каждый день. Многое
решалось обновлением прошивки процессора, но... выходит что продают
просто буквально не рабочий процессор? Я много видел заметок о том, что
вот то, да сё не работает на AMD, особенно в плане виртуализации. Ну
типа особая поддержка нужна всё равно. И я не понимал как при этом то
люди AMD процессоры покупают то активно? Думал что, возможно для офисных
и игровых задач оно достаточно стабильно. В этом интервью это
подтверждается. Лучше переплатить за Intel, зато быть уверенным в
стабильности и надёжности.

Ещё Дмитрий офигел от того, что у современной молодёжи нет игровых
приставок. Типа полсотни человек школьников приезжают в его музей, но ни
у кого нет ни приставок, и не играют на ПК. Мол только на смартфонах.

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%
пригодные русские слова, всё равно используют английский, при этом
написанный кириллицей. Особенно когда речь про каналы связи с массами
людей.

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