https://gavinhoward.com/2023/04/rust-is-dead-to-me/
Потому что на своих мероприятиях он запрещает проносить оружие. Потому
что нельзя его имя использовать как не полагается и где не полагается.
С ходу не вспомню, но в каком-то дистрибутиве тоже видел неиспользование
Rust из-за его несвободной торговой марки.
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 и прочее.
Увидел тут в одном месте спор аудиофилов. Говорят, что чистый несжатый
WAVE лучше lossless формата, так как оно меньше нагружает процессор и,
соответственно, меньше электромагнитного излучения создаётся от него.
Никогда не понимал почему люди выбирают ламинат. По мне, так это самое
отвратительное покрытие по практичности. Ибо достаточно один раз
наступить на него ногой в обуви и услышать этот громкий стук. Многие
говорят, что им нравится его внешний вид. Но у меня не укладывается в
голове как при этом можно мириться с его громкостью. Вот если коврами
всё покрыть -- ну хоть что-то. Плюс если что-то пролить, то у него же
между щелями это может попасть и потом разбухнет. Линолеум же протёр и
всё, он куда тише и теплее.
А вот у меня линолеум какой-то был очень дорогой, дороже большинства
ламината. И 100% людей с первого взгляда считают что у меня ламинат
лежит. Некоторые даже спорили -- мол, это точно ламинат у меня, я
ошибаюсь. То есть линолеум без проблем может удовлетворить и
эстетические запросы людей.
Недалеко от моего дома есть магазин КиБ. Когда я только переехал, то не
знал что в нём продают. Я даже не мог понять: "что красное, что белое?".
Не заходил туда (в близлежащем Магните всё что надо есть), не выяснял.
Только спустя месяцы у меня в мозгу скорреллировался тот факт, что
оттуда выходят с бутылками, и то что (внезапно!) есть красное и белое
вино. Вот что значит не пить -- я даже не мог вспомнить о том что вино
бывает таких цветов.
Мне нравятся рекламные изображения на их фургонах, где симпатичные (в
pin-up стиле) девушки присутствуют, хотя, в общем-то, и не особо одобряю
всего что касается выпивки. А сегодня заметил что на урне у их магазина
приклеена картинка с миленькой свинкой, выкидывающей мусор. Мне нравятся
хрюшки, нравится стиль рисовки такой светлый, ну и намёк, что даже
свиньи за собой убирают мусор.
Регулярно есть новости о том, как только в нас в стране, падают люди с
этажей 10-12 этажного дома, получают конечно же травмы, но остаются живы.
Кто-то и с 20-го попадает на машину и целёхонек. Я уже давно считаю что
надёжнее способа суицида чем размазживание об асфальт с большой высоты
нету. Чтобы чем-то отравиться, типа таблеток, то это надо знать какими.
Прострелить себе голову -- ну это ещё надо достать оружие как-то. Резать
себе вены -- тоже надо уметь, да и сколько случаев когда откачивают.
Утопиться -- надо далеко куда-то идти, а то и спасти тоже могут.
Повеситься -- тот ещё геморрой. А прыжок из окна прост и эффективен,
никто не сможет внезапно помешать, назад дороги не будет. Ну да, вот
только прохожие и те, кто будут убирать что останется -- им будет не
шибко приятно, это верно. Прыгнуть под поезд -- подпортить график
движения тысячам людей, плюс, опять же, сколько случаев когда не
насмерть покалечит. Травиться химией -- будет агония от боли. Сколько не
обсуждали способы суицида на работе, но я всё равно при своём мнении как
о простом и надёжном. Но новости намекают что нужно повыше забираться.
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
США, покупая многие годы эти наши мощнейшие двигатели, не могут их
воспроизвести, не могут даже воссоздать сплав. Аналогично не могут и
сделать аналоги (хотя бы с такими же характеристиками) наших СПД
двигателей, которые десятилетиями производятся уже и которые как только
на распиливали и не разбирали. А они на каких аппаратах не применяются.
Теория теорией, а вот конкретные технологии изготовления фиг просто так
узнаешь. Я ведь именно на инженера-технолога КЛА и РБ учился, так что
именно к этому приближен в институте был больше всего.
https://habr.com/ru/companies/ruvds/articles/727064/
Пишут что почти каждый знаком с этой игрой. А вот я нифига не знаком и
никогда не хотел. Точнее я играл непродолжительное время у знакомого в
Diablo первую часть и мне совершенно не понятна эта механика боя.
Совершенно не засасывала. Может быть это как Fallout vs Fallout 2:
выглядят одинаково, но совершенно разные весовые категории. И у меня ни
капли нет чувств к Diablo именно потому-что во вторую часть не играл.
Так же как с Heroes Of Might Magic: все боготворят третью часть, в
которую я не играл. Зато много времени потратил на вторую и переигрывал
многие годы спустя. Благо что есть и ещё люди которым именно вторая
больше заходит, чем третья. Или возможно это из серии "вторая is good
enough".
https://www.darkside.ru/news/152516/
Когда увидел новость о концерте Morbid Angel и изображение здание со
сорванной крышей, то подумал что нехило они так сыграли, настоящий death
metal. Но, к сожалению, есть и погибшие и покалеченные. Хорошо что
подобная музыка не шибко популярна, поэтому зал был заполнен только на
пятую часть. Металлисты активно помогали разгребать это всё и выбраться
попавшим в западню.
https://matroska.org/faq.html
FAQ упоминает плюсы засовывания аудио в Matroska контейнер:
* метаинформация унифицировано для всех видов кодеков будет
передаваться. В MP3 можно одни форматы засунуть, во FLAC другие, в
WavPack третьи. В .mka всё будет под одну гребёнку
* можно все трэки засунуть в один файл, а дальше разделить его на части,
главы, отдельные трэки внутри метаинформации. Многие делают .flac+.cue,
а тут один файл, независимо от кодеков
* если вы разработчик, то не нужно заниматься написанием декодирования
кадров, так как этим зам Matroska контейнер уже обеспокоился
* можно объединять в сборники файлы разных кодеков/форматов
* за счёт сжатия заголовков, результирующий .mka файл может быть меньше
чем оригинальный. Действительно, например WavPack файлы у меня на пару
десятков килобайт становятся меньше
https://habr.com/ru/companies/rncb/articles/726182/
Всё выглядит как-то странно и так себе.
nginx они подумали выставить одним концом в IPv6 Интернет, а другим
концом в IPv4 LAN. "Но и у этой версии был существенный недостаток:
«выставлять» сервер «белым» IPv6-адресом в Интернет – довольно опасно."
Не могу понять чем это может быть опасно, чем плохо, что за фигня?
В итоге они сделали... NAT. Только IPv6↔IPv6. Вот не удивительно что
после этого народ и плюётся от IPv6 и не хочет с ним связываться, если
строить сети на нём самыми отвратными IPv4 подходами.
Интересной оказалась заметка о том, что некоторые смартфоны вообще не
считают WiFi сеть рабочей, если в ней IPv4 DHCP не отработал. То бишь,
IPv6-only сети они не будут воспринимать как нечто рабочее.
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 сети -- издевательство какое-то.
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.
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. Хотя такие же
неадекватные авторы, судя по нику, точно так же тусуются и на Хабрах.
https://www.youtube.com/watch?v=htvJR9_qj4E
https://www.youtube.com/watch?v=eYsMuNLueNk
Со вчерашнего дня, случайно напоровшись на Herr Mannelig в их
исполнении (1941cd81d45f0193f3c37562cd8bbc980c029849),
познакомился со всем творчеством группы. Последние альбомы вполне
современны. А альбом "6" так вообще даже рэп содержит и я бы подобные
причислял к некой попсе. Но как же мне нравится вокал (видимо, ещё и
язык) Эммы Херделин!
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), которую я как-будто тоже
знаю наизусть.
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-а.
В общем, концерт понравился, здоровская атмосфера, лютое удовольствие от
всех этих нордических языков и горлового пения! Ну и конечно же прикупил
диски и пару футболок.
Sergey Matveev [Fri, 31 Mar 2023 11:19:05 +0000 (14:19 +0300)]
Когда решил освоить Python за час
https://www.youtube.com/watch?v=SEg-BOJxlS0
Очень понравилось это видео стёбное. Но только на второй раз
прослушивания до меня дошли все фразы и концовка, отдельно от
видео зачётная. Вот вроде бы смешно, а ведь и грустно то, что
действительно многие только так и программируют.
Sergey Matveev [Wed, 29 Mar 2023 08:35:33 +0000 (11:35 +0300)]
Мошенника из "Серверного мира" наказали
Упоминал что я судился с этой мошеннической компанией, потом через два
года они (ну точнее их директор, которые каждые n-лет создаёт новые
компании, чтобы приставы их не находили) на меня подали в суд что ничего
не должны мне и я незаконно обогатился. Суд был на моей стороне
(ef27340ce31dbd7b4d712145db9017c89e1f2016). Позже я на них снова подал в
суд за возврат судебных издержек. В общем, от меня он ни копейки не
получил, но какое-то время назад приставы у него забрали таки 50к₽ в мою
пользу. Плюс он тратился на пошлины всякие. И приставы отработали за три
месяца всего, что, как говорит адвокат, довольно быстро.
Sergey Matveev [Wed, 29 Mar 2023 08:30:04 +0000 (11:30 +0300)]
Пока отключаю bogofilter
Это просто совпадение, но ровно год назад я написал о том, что начал
использовать bogofilter (5952427340117945ebc6961f2443ea7bb0ef91bf). Он
вроде бы работает, действительно оценки (ham/spam) ставятся адекватно,
но у меня крайне мало писем которые бы попали в спам только благодаря
bogofilter-у -- почти всегда другие проверки maildrop-а их всё равно бы
поместили в спам. Он нормально жрёт процессор -- поэтому пока отключу
его, ибо профит лично для меня не очевиден. Но вообще вроде выглядит
достойной программой.
Sergey Matveev [Tue, 28 Mar 2023 09:49:26 +0000 (12:49 +0300)]
Хаотичное изменение часовых поясов Ливана
https://habr.com/ru/news/t/725266/
Не несколько изменений за неделю в БД о временных зонах.
А я в неописуемой радости о том, что у нас отменили все эти переводы
на летнее/зимнее время (5e9e1bc030d156e0c9e6bac5be5c311174f98f6d).
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 должен быть в безопасности.
Sergey Matveev [Sun, 26 Mar 2023 16:19:53 +0000 (19:19 +0300)]
Связь между обувью мужчины и его характером
https://lenta.ru/news/2023/03/26/harakter/
"классические дерби, оксфорды черных и темно-коричневых оттенков
предпочитают ...", "броги, монки и лоферы, напротив, выбирают ...".
А если я вообще ни одного слова не понял? Более того, даже не слышал
прежде ни одно из этих?
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
То есть, авторы crypto/x509 не предполагают что может быть алгоритм
который они не поддерживают. Я то этого всего не замечал, так как
использую fork с поддержкой ГОСТов, но если подсунуть мой CA bundle
(http://www.ca.cypherpunks.ru/cert.pem.), то на обычной версии Go это
проявится.
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? У меня
нет хорошего ответа против. Гнаться за упорной целенаправленной заменой
наверное не стоит, но если что-то делать с нуля, то почему бы и нет?
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 побил.
Но тут я задался вопросом: а прогрессивное декодирование нужно ли? Я его
автоматом выставляю потому что в JPEG оно даже помогает, в PNG тоже не
вредит.
Без игр с predictor и modular group size, JXL сразу же побил WebP! Для
меня это стало открытием. Действительно, с какой стати я посчитал что
поведение прогрессивного декодирования должно быть похоже на то, что в
JPEG? Оно очень круто в этом примере вредит сжатию.
Проверил на снимках с сайта PyDERASN-а, где WebP занимал более чем в два
раза меньше места чем PNG:
JXL тут более чем в два раза бьёт WebP. Причём все эти -P/-g опции везде
по разному влияют на сжатие: где-то хуже становится, где-то лучше.
Автоматического их перебора в cjxl утилите нет. Собственно, люди пишут
собственные скрипты для этого. Попробовал "--allow_expert_options -e 10",
но это оооооочень долгая операция. Если все остальные вызовы
отрабатывали 2-3сек, то с -e10 на восьми ядрах это заняло почти 10мин, с
чуть более лучшим результатом, на этой 1920x1060x8bpp картинке:
Sergey Matveev [Thu, 23 Mar 2023 18:27:33 +0000 (21:27 +0300)]
LTT канал взломан
https://habr.com/ru/news/t/724414/
Тоже в feed-е увидел что какая-то чушь вставилась, потом изменилось
название канала, а потом и вовсе пропал. Причём всё это случилось после
вчерашнего их выпуска где они сзади жёлто-синюю подсветку сделали, всё
время находящуюся в кадре. Не понравился мне конечно их намёк на
поддержку нацистов, начал думать не перестать ли мне их смотреть, ведь
ну не было же никакой политики прежде. Посчитал, что если это единичный
случай, мол отчитаться перед Западом, для галочки, то ладно, чёрт с ним.
Политика сама придёт, не отвертеться, особенно тем, кто делает деньги. А
тут и реклама их Floatplane и не выходящая из головы мысль "а не ещё ли
это один шаг для громкого пиара в новостях?" (наравне с наци-флагом, как
раз в самом свежем выпуске). В общем, отписался. Как там говорят --
"совпадение? не думаю".
Sergey Matveev [Thu, 23 Mar 2023 17:43:48 +0000 (20:43 +0300)]
Пища за компьютером
https://lenta.ru/news/2023/03/23/office/
Пишут что, мол, вредно есть за компьютером. Мне кажется я уже со
средней школы, точно со старших классов ел только за компьютером.
В новой квартире, как стал жить один, на кухне я ел с гостями
наверное раз 6-7. Всё время ем только перед монитором. Причём и
на работе тоже. Благо что коллеги тоже едят на своих местах и
временные запахи никого не беспокоят.
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
Что это? Это слон, которого проглотила змея, конечно.
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 пробы
(446a47a0cdcc499785102c7949bf90b3334ef96c, 060b63251ef2c81ad42baca7dba8caa79c573211)
* Пишем .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"
Sergey Matveev [Thu, 23 Mar 2023 08:00:19 +0000 (11:00 +0300)]
Женщины в метро
Много переходов на БКЛ имеют по три туннеля: два односторонних по краям
и средний двусторонний. БОльшая часть людей с обоих направлений идёт в
средний туннель. Я автоматом, во время первой поездки на БКЛ, тоже так
пошёл, но моментально понял что там скорость движения существенно ниже
из-за плотного потока людей в обе стороны -- не обогнать никого. То
есть, вообще неразумно (если хочется скорости) идти в этот средний
туннель, если боковые свободны.
Сегодня шла пара из парня и девушки. Парень пошёл в боковой туннель,
односторонний. Девушка его спрашивает:
- А чего это ты сюда то не пошёл (в средний)?
- А вдруг там тоже навстречу люди будут?
- Ну так для них же есть крайний туннель.
Вот в очередной раз показана женская суть: о себе она ни на йоту не
задумывалась. Ведь она точно такой же пассажир для которого точно такой
же боковой туннель есть. Остальные должны не забывать про более быстрый
никому навстречу не мешающий путь, а ей не надо, королевне.
Sergey Matveev [Wed, 22 Mar 2023 18:39:23 +0000 (21:39 +0300)]
honnef.co/go/tools/cmd/staticcheck
Понравилась эта утилитка: быстро работает, шума не выдаёт, показывает
всякие deprecated вещи, неиспользуемые или ненужные функции, переменные,
поля в структурах, "_"-переменные излишние.
Sergey Matveev [Wed, 22 Mar 2023 14:50:18 +0000 (17:50 +0300)]
Распознавание QR-кодов
https://zbar.sourceforge.net/
Если надо из фотографии распознать QR-код, то вот одна из первых мне
попавшихся утилит вполне с этим справилась. Из больших зависимостей
только ImageMagick.
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'...
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 рулит только на плохих качествах, типа всяких изображений
для предпросмотра.
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 дисков и подобное.
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%
большей скорости. И вот моя речь быстрее остальных настолько, что я даже
примерно не успеваю и не могу понять что я говорю на таком ускорении.
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-а впервые
использовал -- прям красиво показывает насколько он загрузил файл в форме.
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,
после установки (ну и обновления штатного), в котором просто не
запускается терминал! И на эту тему даже есть отдельный ролик и тема на
форуме как это починить. А надо просто навсего... поменять локаль.
Sergey Matveev [Fri, 17 Mar 2023 13:08:41 +0000 (16:08 +0300)]
Торвальдс о ситуации с отказом патчей от российской компании
Прислали мне тут копию личного ответа Торвальдса разработчику из Байкала
(a3938287a6735d103b03008a69d54f8cbc7c55d5). Но попросили широко не
распространять. Линус чётко написал что РФ это террористы (по его
мнению), ей должен прийти конец и он не будет останавливать людей
которые не хотят брать патчи из русских источников. Ну... ничего
необычного, обычный американский гражданин. Но он расписал почему так
считает, по полочкам разложил.
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).
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-и, что геморройно, но люди
вынуждены подчиняться законам своей страны (или получать по шее).
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... нет
уж, ради чего?
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). Не хочу неопределённостей и неожиданностей.
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 БД
сообщений. И возможностью отправки файлов и более удобного приёма.
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 я что-то не
запланировал изначально говорить.
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-а всё равно нивелируются его централизацией и
отсутствием выбора.
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-у что его
протокол рукопожатия небезопасен (при потере вашего долгоживущего ключа
возможна имперсонализация любого другого человека для вас). И только
сейчас они задумываются в своём блоге об исправлениях.
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: на выходе.
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.
Sergey Matveev [Sun, 5 Mar 2023 19:49:11 +0000 (22:49 +0300)]
Сходил на концерт Мельницы
Уже не первый, но всё точно так же продолжаю получать массу удовольствия
и радости от них. В этот раз у них прям очень круто поставлен свет и
вообще всё действие в целом. Крайне доволен!
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 этот альбом, сказав что не
пожалею. Вот только недавно дошёл до его прослушивания. Действительно,
одно из лучших что слышал из последнего приобретённого материала. Круто
мрачно, но не уныло, не устаёшь.
Sergey Matveev [Sat, 4 Mar 2023 09:27:28 +0000 (12:27 +0300)]
units
https://www.unix.com/man-page/bsd/1/units/
Из коробки в Unix-ах, оказывается, имеется такая вот утилитка по
преобразованию разных единиц измерения друг в друга.
Sergey Matveev [Fri, 3 Mar 2023 21:03:10 +0000 (00:03 +0300)]
Посмотрел "Солнцепёк" и "Лучшие в аду"
Солнцепёк -- так сказать, документальный фильмы про то, что начало
происходить в 2014-ом, что за нацистская террористическая власть пришла,
как устроили геноцид русскоговорящих. Кто не верит снятому или
сомневается, думая что это пропаганда выдуманная -- ну пусть пообщается
с теми у кого там родственники или кто жил до присоединения к РФ. Без
сомнений, коих у меня и не было прежде -- возмездие они заслужили, их
выбор. Собственно, в чём с нами и солидарна большая часть мира, правда
боится помогать делом из-за давления США. Говорят, что то, что сейчас
творится в Донбассе -- фигня по сравнению с тем, что было до начала СВО.
"Лучшие в аду" показывают выполнение одной задачи без прикрас, как есть.
Ну а что делать, приходится настоящим мужикам терять свои жизни на это.
Кончеными уродами считаю всех кто их (или их семьи) не поддерживает или
говорит "не понимаю что они там делают". Слышал где-то сомнения в
необходимости льгот им, дополнительной помощи всякой. Ну а я часть
зарплаты отдавал на военных -- единственное, ну кроме как работой, чем
могу им помочь. Ибо моё будущее, зависит от них ещё как.
Правда со стороны РФ там показана только ЧВК "Вагнер". Но они
продюссировали фильмы, их право. Так то кроме ВС РФ ещё и Ахмат же есть.
Sergey Matveev [Thu, 2 Mar 2023 19:22:47 +0000 (22:22 +0300)]
Приобрёл пару ковриков для мыши
Не знаю, правда, как точно называются коврики эти, ибо размером бывают с
половину рабочего стола. Прежде использовал пластиковые IKEA коврики, но
они со временем все корёжатся и идут волнами. Да и ощущения от пластика
не самые приятные. Коврики вроде бы не имеют всех этих недостатков, судя
по опыту знакомых.
Sergey Matveev [Thu, 2 Mar 2023 09:44:19 +0000 (12:44 +0300)]
Пересел на БКЛ
Пару дней назад открыли Большую Кольцевую Линию Московского метро. И мои
две станции вплотную на ней расположены оказались. В разы стало быстрее
добираться.
Sergey Matveev [Thu, 2 Mar 2023 06:33:48 +0000 (09:33 +0300)]
Шаверма на Октябрьской
О божественной и самой вкусной шаурмичной я упоминал в 1797921de9106a956894085ca997ff2ae80ffec4. Правда, как таковую шаурму я
там брать перестал, перейдя на кебаб в лаваше. Уж не знаю самый ли он
вкусный у них или нет, ибо нигде такого прежде не пробовал, но мне он
больше по нраву оказался. Коллегу тоже пересадил на кебаб.
Пару дней назад они выпустили свои фирменные обёртки картонные с
"Шаверма на Октябрьской" надписью и QR-кодом. Дали в подарок бутылку
лимонада, с просьбой написать о них в соцсетях.
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.
Sergey Matveev [Thu, 2 Mar 2023 06:11:39 +0000 (09:11 +0300)]
Закон о запрете иностранных слов
https://www.rbc.ru/politics/16/02/2023/63ee24679a7947fa27d022b0
Одобряю подобный закон, ибо уже реально достало, что имея на 100%
пригодные русские слова, всё равно используют английский, при этом
написанный кириллицей. Особенно когда речь про каналы связи с массами
людей.
Сегодня вот пойду в "шоурум" -- какого чёрта, не было никогда
"выставочного зала"? "Клининг" какой-нибудь, как-будто у нас не было
"уборщика". Всегда бесили "роутеры" и "свитчи"/"свичи". Закон в первую
очередь говорит о чиновниках: именно они в новостях и больше всего
неприязни вызывают, ибо я реально не всегда понимаю что именно он
сказал, когда какие-нибудь "эстеблишменты" будут встречаться в его речи.
Такое впечатление, что, как у Толстого, используют иняз чтобы казаться
умнее и образованнее, но ценой огромного барьера для понимания. Я
временами даже закрывал статью, когда видел подобные слова, ибо считаю
неуважением к русскоязычному читателю.
Sergey Matveev [Wed, 1 Mar 2023 18:27:10 +0000 (21:27 +0300)]
Слонограммы в моей локальной сети
Помню что я пробовал раньше использовать jumbo frame-ы (MTU=1900) в
локальной сети, но точно не помню почему забил на эту идею. Ну наверное
потому что оно постоянно форсировало использование PMTUD, который в IPv4
мире не всегда работает из-за админов необразованных (запрещающих ICMP).
Сегодня снова решил это попробовать. Увеличил MTU на Ethernet
интерфейсе, на gif-туннеле, но ping/TCP всё равно не используют
увеличенное значение MTU. И только тут до меня дошло почему и отчего
route get команда показывает MTU значение для запрошенного хоста: MTU
же может быть per route! Не понимаю почему такая очевидная вещь для меня
была совсем не очевидна и я в голове MTU всегда имел привязанным только
к интерфейсу. От него конечно значение для MTU per route отталкивается,
но ничто не мешает же мне для default route задать маленькое, но в целом
для интерфейса (IPsec туннель) оставить большое. А так как по OSPF явно
знание и о соседних локальных машинах просасывается, то и для них будет
использоваться большой MTU. Прям то что мне нужно!
Sergey Matveev [Wed, 1 Mar 2023 18:10:31 +0000 (21:10 +0300)]
Дружелюбный Message-ID в Mutt
https://people.kernel.org/monsieuricon/fix-your-mutt
http://www.git.stargrave.org/?p=godlighty.git;a=commitdiff;h=8730f9415046a1cc1242870c9443b34491d81d9d
Недавно я задался вопросом почему у меня не все ссылки в архивах
почтовых рассылок открываются, пока не удалить в конце "/T". Пошёл в
исходные коды public-inbox-а и подумал что у них кривой regexp для
Message-ID, который не учитывает что могут быть слэши. Сделал патч,
пошёл уже было смотреть как его отправить разработчикам, но там как-раз
в их рассылке обсуждение этих Message-ID велось. На самом деле они
аккуратно с ними работают и передают в экранированном виде везде в URL.
Откуда же у меня они берутся, если URL-ы корректны? А это уже мой
godlighty автоматически разэкранирует один слой и передаёт его as-is
процессу public-inbox-а. В рассылке дали рекомендацию по настройке
Apache чтобы он пропускал as-is экранированные слэши.
А тут запись в блоге появилась о том, что Mutt, действительно, просто
суёт Base64 в качестве Message-ID, где появляются слэши и это немного
усложняет жизнь при подстановке в URL. Я не согласен что Mutt надо
"fix"-ить -- он ничего необычного или нештатного не делает и с какой
стати должен думать об URL-friendliness? Почта это почта, Web это Web.
Лично я вообще-то стараюсь всё же использовать Base64 URL-safe версию,
как-раз чтобы с точки зрения usability чуть было попроще, но это же не
fix, не бага. Но я свой Mutt и его штатные правила генерирования
Message-ID трогать не буду.
Sergey Matveev [Mon, 27 Feb 2023 09:19:53 +0000 (12:19 +0300)]
Grumble проблематичен
В 6bf8ec6fda4ba9a2ee54819e4a6613ff33d8effe писал о Go реализации Mumble.
Коллега с мобильным каким-то мобильным клиентом подключился и у всех всё
перестало ходить и вообще сервер оборвал соединения. В логах есть только
упоминание о том, что у клиента нет CELT кодека. В общем, полной заменой
Grumble пока быть не может.
Сейчас это уже 2200+ обработанных альбомов. Ещё несколько вечеров и всё
будет доделано до конца. 90% похоже что проделано уже. Дьявольски много
ручного труда. По сути всё время уходит на ручной труд. Посмотреть и
оценить каждую директорию и понять что с ней надо сделать. Много
приходится редактировать исходные CUE файлы, ибо в них то в название
трэка вшивают его номер, то непойми какая кодировка (ага, UTF-8 крайне
редко встречается), то ещё какие косяки. Я думал что вообще на всё уйдёт
гораздо больше времени, но аккуратно написанные скрипты (посмотреть и
оценить директорию/файлы/.cue, попробовать разделить файл на трэки и
переименовать, и т.д.) львиную долю ручного труда убрали. Не представляю
что делал бы без zsh.
Но это пока всё ещё без категоризации всех этих тысяч альбомов. Многое
относится к "grind", многое к "death", нечто вообще "rock". Это тоже
ручной труд, в котором надо будет многое или ставить на воспроизведение
или искать в Интернете для простоты. Но это хотя бы всего лишь тема
создания символических ссылок -- сама музыка вот-вот уже полностью будет.
Sergey Matveev [Thu, 23 Feb 2023 19:08:11 +0000 (22:08 +0300)]
Эпидемия в Королёве
https://ru.wikipedia.org/wiki/%D0%AD%D0%BF%D0%B8%D0%B4%D0%B5%D0%BC%D0%B8%D1%8F_(%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B0)
Сходил на концерт Эпидемии в Королёве, вместе с родственниками.
Удовольствие получил конечно, но музыка не моя. Но играли и пели
на отлично. Сами они у нас выступают впервые, но вроде очень довольны.
Sergey Matveev [Tue, 21 Feb 2023 13:18:26 +0000 (16:18 +0300)]
Facebook тоже выбирает AV1, SVT-AV1, dav1d
https://engineering.fb.com/2023/02/21/video-engineering/av1-codec-facebook-instagram-reels/
Среди всех современных кодеков, считают, именно AV1 лучше всех на многие
годы. Ну и такие же кодеры/декодеры используют что и я
(07bddb0ed6a5d2276a10cf77b81e22da2d7c69e6). Всё же, как минимум,
двухкратное сокращение трафика по сравнению с AVC -- уже качественный
прогресс.
Sergey Matveev [Tue, 21 Feb 2023 10:36:31 +0000 (13:36 +0300)]
Уровень курсов/практикума по Python
Один знакомый just-for-fun решил поучаствовать в одном курсе по Python.
Дали задание: написать скрипт по переливке данных из нескольких таблиц
из SQLite3 БД в таблицы в PostgreSQL. Названия полей не совпадают, но
количество и суть остаётся прежней. Типа должно быть так, как условие:
data = load_from_sqlite3(...)
save_to_pgsql(data)
# и нужно использовать dataclass для данных
Изначально задачу он решил просто загрузив все данные в виде списка
словариков. И я считаю что вполне себе разумное решение, когда никаких
условий по ресурсам не поставили. Решение отвергли, мол данных может
быть много. И у меня претензия: почему об этом не сказано в задании?
Программа которая рассчитана на перезаливку терабайт -- это одно, а
наколеночное one-time решение когда всё умещается в памяти -- это
другое. И оба варианта стоит уметь делать.
Затем была написана версия одобренная мною, которая бы прошла моё ревью.
Её отвергли и в итоге дали типа эталонного варианта который бы прошёл. Я
не поверил своим глазам что итоговый вариант оказался проходным, а "наш"
нет. Призвал опытного коллегу, чтобы ещё и он, как третье лицо, оценил.
Он тоже оказался полностью на "нашей" стороне, не понимая как эталонный
вариант мог пройти ревью.
Как загружаются данные в эталонном варианте? Схематично как-то так,
опуская всякие мелочи типа инициализации подключения к БД, подключения
адаптеров/конвертеров для UUID/datetime типов данных, транзакции и прочее.
В чём-то наверное ошибся, пишу по памяти, но суть точно передам.
def load_from_sqlite3():
for klass, table in self.dataclasses2tables.items()
yield [klass(**converter(obj)) for obj in load_table(table)]
def load_table(table):
self.conn.prepare_data = prepare_data
self.conn.execute("SELECT * FROM %s" % table)
while True:
objs = self.conn.fetchmany(batch_size)
if objs is None:
break
yield from objs
def prepare_data(conn, row):
data = {}
for idx, name in conn.cols_description():
data[name] = row[idx]
def converter(obj):
if "foo" in obj:
obj["Foo"] = obj["foo"]
del obj["foo"]
if "bar_id" in obj:
obj["BarId"] = obj["bar_id"]
del obj["bar_id"]
...
Сохранение выглядело как-то так:
def save_to_pgsql(data):
for rows in data:
table = klass2table[row[0].__class__]
self.conn.executemany(
"INSERT INTO %s ..." % (...),
[astuple(row) for row in rows]
)
"Наш" вариант:
def load_from_sqlite3():
for klass, (table, colnames) in self.tables2dataclasses.items()
yield klass, load_table(klass, table, colnames)
def load_table(table, klass):
self.conn.prepare_data = lambda (conn, row): klass(*row)
self.conn.execute("SELECT %s FROM %s" % (",".join(colnames), table))
while True:
objs = self.conn.fetchmany(batch_size)
if objs is None:
break
yield from objs
def save_to_pgsql(data):
for klass, rows in data:
table = klass2table[klass.__class__]
stmt = "INSERT INTO %s ..." % (...)
batch = []
for row in rows:
batch.append(astuple(row))
if len(batch) == BatchSize:
self.conn.executemany(stmt, batch)
batch = []
if len(batch) > 0:
self.conn.executemany(stmt, batch)
Собственно, главная проблема "эталонного" кода: полная загрузка всех
данных каждой таблицы в память. Ибо и в load_from_sqlite3 и в
save_to_pgsql используются list comprehension-ы. Чем этот вариант
отличался бы от кода где не было бы генераторов вовсе? Который бы просто
разом загружал все данные в память списком и его передавал в save_to_pgsql?
Да ничем! Это полнейший fail. Мог ли рецензент ошибиться и не заметить
двойных квадратных скобок? Отнюдь, ведь они аж в двух местах присутствуют!
Это полностью нивелирует вообще всё что написано касательно генераторов
и обработкой пачками, раз всё равно всё загружается в память.
Отдельное безумие это сложность кода который конвертирует данные в
dataclass представление. Для *КАЖДОЙ* строки полученной из БД, он в
цикле идёт по описанию схемы таблицы чтобы переложить элементы кортежа в
именованные ключи словаря. А затем, переименовывает поля, внутри словаря.
А затем ещё и удаляет del-ом старое оставшееся название. Лютое безумие с
точки зрения процессора. Python -- ОЧЕНЬ медленный язык. Каждая строчка,
каждое действие, каждое обращение к методу это ощутимый overhead. Раз
речь про переливание данных, возможно миллиардов строчек, то миллиард
небольших операций превращается в воочию осязаемое время.
Например сделать
d["x"] = d.pop("y")
быстрее чем
d["x"] = d["y"]
del d["y"]
Сделать полностью в памяти второй словарик и только заполнять его, не
модифицируя исходный -- ещё быстрее.
Но зачем это всё? Мы можем чётко сопоставить порядок полей таблицы БД и
порядок полей dataclass-а. Почему бы просто не делать:
@dataclass
class Foo:
bar: int
baz: int
row = conn.execute("SELECT bar, baz ...")
Foo(*row)
Никаких словарей, никаких преобразований, дорогих. Просто сопоставить
порядок полей, один раз в запрос передав вместо "*" чёткое условие
выборки. Знание о связи полей dataclass и полями таблицы что одной, что
другой БД -- всё равно зашивается в коде. В "нашем" случаев это просто
кортежи/словарики лежащие в klass2table.
И тут нет совсем уж хаков типа: appender = data.append ; appender(row)
Также как и все мы понимаем что если нам реально нужно ещё быстрее
скопировать данные, то тогда вообще стоит использовать COPY конструкцию,
вместо *many вызовов.
У нас удивляются что мало толковых ИТ-специалистов. А вот нечего, если
крупные курсы/практикумы считают неприемлемым более короткий,
существенно более быстрый, просасывающий любые объёмы данных, код.
Отвратительно. И я не просто так призвал опытного коллегу рассудить,
ведь, быть может, это я уже совершенно забыл Python? И ведь появится
тьма новоиспечённых Python-программистов, которые даже данные между
двумя БД не смогут перелить хоть сколько-то эффективно.
Sergey Matveev [Mon, 20 Feb 2023 14:18:42 +0000 (17:18 +0300)]
Пиринговые войны в России
https://www.comnews.ru/content/29020
https://ru.wikipedia.org/wiki/%D0%9F%D0%B8%D1%80%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D1%8B%D0%B5_%D0%B2%D0%BE%D0%B9%D0%BD%D1%8B
https://habr.com/ru/post/186282/
https://nag.ru/material/18680
https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D0%BE%D0%BC#%D0%A1%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D1%8F_%D0%B8_%D0%BF%D0%BE%D0%B3%D0%BB%D0%BE%D1%89%D0%B5%D0%BD%D0%B8%D1%8F
"Большая тройка" (БТ) организовала ОПГ. Нет, не организованную
преступную группировку, а "отдельную пиринговую группу". Вообще страшно
конечно как всякие Ростелекомы и БТ поглощают всех остальных.
Sergey Matveev [Sun, 19 Feb 2023 20:36:16 +0000 (23:36 +0300)]
Койот о прошедшем CBF17
https://vk.com/video-211108867_456239051
https://sun1-55.userapi.com/impg/mjWNOiW2OIC48w0oYK1qja9xBrVUBpQrXGEmDA/ftoS3UtWqgA.jpg?size=1280x961&quality=95&sign=35800a93610c7b168c13208817699505&type=album
https://sun1-98.userapi.com/impg/GNm-L7DNDg8Viu5cMdvMaLFBqUg7qCfsQYt31w/ucO42U6EzqI.jpg?size=520x0&quality=95&sign=969a59cf43ff41b9dc333364df61978d
https://www.youtube.com/watch?v=zvp2_46mJV8
https://www.youtube.com/watch?v=iamtJRlWs58
https://www.youtube.com/watch?v=4wro89bguxQ
https://www.youtube.com/watch?v=I0ervPQUq7w
Плюс фотография после выступления Swamp. Сплошные довольные рожи, на
протяжении кучи часов. Мою рожу не видно, но я руку с напульсником
узнаю, единственную.
Есть видео полного выступления Sadistic Demise, которые мне понравились
больше всего. Хотя зал конечно уничтожили на Swamp, что видно по другому
видео.
Отцу приобрёл футболку CBF с "Ну погоди" -- он сам сказал что надел бы.
Ещё чьё-то впечатление:
Наконец-то я прикоснулся к прекрасному. Первый раз попал на
знаменитый и культовый Coyote Brutal Fest. Почти 12 часов тяжелейшей
и брутальнейшей музыки и оголтелого движа. Абсолютно все выступавшие
в этот день группы разрывали пространство высекая мощнейшие рифы,
выдавая пулеметные барабанные партии и демонстрируя всю мощь своих
вокальных данных, за что им всем огромное человеческое спасибо.
Движняк в яме и саппорт по периметру были на высоте. Народ плясал,
слэммился, мошил и одобрительно тряс головами. Это был настоящий
праздник для любителей тяжелой музыки, который для нас всех
организовал небезызвестный Дмитрий Койот Праскилевич
Sergey Matveev [Sun, 19 Feb 2023 08:34:41 +0000 (11:34 +0300)]
CBF17: слэм единорогов с динозавром, снегурочка-баянистка играет Prodigy
Простыл, болит шея, тяжёлая голова, гул в ушах, зверски уставшие ноги.
Утро после Coyote Brutal Fest началось как положено! Вся одежда
пропитана запахом курева, пролитого (проходящими мимо слэма людей со
стаканами) пива, чужого пота голых торсов. Количество улыбок во время
концерта больше чем можно увидеть за весь год. Ради всего этого ведь и
ходят на CBF!
По началу я боялся что это будет мой последний CBF, ибо думал, что мне
уже это всё не будет доставлять такого удовольствия как прежде. Ошибся
по полной. Всё так же заходят и порнограйнды, и брутал дет. Видимо,
брутал это до конца жизни. Даже если я уже и не слемлюсь и не трясу
башкой -- всё равно дико здорово.
В этом году концерт шёл с 13:00 до 00:00. Я пришёл не совсем к началу --
одну группу пропустил. И ушёл, не услышав последнюю, ибо до дома
хотелось добраться поудобнее, а headliner-ы уже выступили.
* Indecency (качёвый слэм из Костромы)
* Fuck Your Depression (кач из Пензы)
* Visceral Disorder (brutal death из Тольятти)
* Megalodont (дет из Донецка, где гитарист это сын гитариста Datura)
* Flatulence (группа из Москвы, о которой я что-то забыл что они играли)
* Sadistic Demise (brutal death из Костромы)
* Swamp (качёвый слэм из Москвы)
* Infiltration (old-school дет из Санкт-Петербурга/США)
* Feraliminal Lycanthropizer (Ярославский порнограйнд)
* Datura (дет из Донецка)
Зал в клочья разнесли Swamp. Как можно было выступать остальным после
этих ребят, ожидая слэм -- сложно понять. Но зал был на высоте на
протяжении всего фестиваля. Я пришёл где-то к 13:30 -- зал был вполне
себе забит, слэм на каждой группе. Регулярные лодочки, перманентный
circle pit, wall of death временами. Количество энергии затрачиваемой
людьми во время всего этого, наверное может питать небольшой посёлок.
Но лично мне вот этот 100% качёвый слэм, из которого состоял Swamp --
уже не заходит. Не, круто конечно, но тут надо участвовать или хотя бы
трясти башкой.
А больше всего мне понравились Sadistic Demise и Datura. Первые были
единственными кому Дмитрий Койот разрешил выступить на бис, ибо уж очень
зал просил этого. Datura просто самые дьявольски техничные и тяжёлые.
Swamp предложили считать CBF как отечественный Obscene Extreme Festival.
Действительно, это единственный фестиваль на который я когда-то думал
съездить в Чехию. В начале фестиваля слеймиться вышел 2.5м динозавр с
длинным хвостом. А на протяжении всего концерта в зале плясали, мне уже
известные, два единорога розовых.
Feraliminal Lycanthropizer это танцевальный порнограйнд типа Sordid Clot.
Все переодеты забавно. На сцене была девочка переодетая снегурочкой с
баяном настоящим. На нём они исполнили кавер на Prodigy "Breath".
Порнограйнд, с growl inhale-ом, баяном и это Prodigy. Было очень
неожиданно и заводно! И особенно радуют названия песен, которые всех
заставляли ржать:
Angry Appeal of Puny Masochists
Carnal Embrace of Malodorous Cattle Mortuary
Ceremonial Exhumation of Female Remains in Order to
Produce Visual AIDS for Professional Cunnilingus
Collective Pacification of an Aggressive Masochist
Deadly Equilibrium of an Elastic Womanizer
Faecal Kleptomaniac Family Troubles
Fatal Equilibre of Elastic Womanizer
Fatal Somersault of a Lustful Disabled
Innocent Pranks of a Hallway Scat Terrorist
Karmic Punishment of an Imposing Voyeur
Methodology for Detecting Latent Homosexuality
Obscene Teachings of an Elderly Pedophile
Oral Execution of a Compassionate Sadist
Ritual Abstinence from Senile Incontinence
Sexual Fantasies of a Foolish Young Naturalist
Sexual Mutation of Miserable Gerontophile
Sudden Petrifaction of Intestinal Wastes
Tragic Consequences of Rectal Pollution
Unbearable Suffering of a Homophobic Makeup Artist
Агрессивная мастурбация безабидного импотента
Анальное зачатие доминирующей самки
Апокалиптическое торжество вагинальной инфернальности
Внезапное окаменение каловых масс
Вселенская эпидемия эректильной дисфункции
Грозное ноу-хау циничного проктолога
Карнальные объятия зловонных скотомогильников
Критическая концентрация гомосексуальной энергии
Половая мутация ничтожного герантофила
Радикальные последователи апологетов вагонопластики
Рассечение вагинального нерва посредством анальной спазмостимуляции
Турборокер, пафосно въезжающий в последний гран-батман дискошлюхи
Приобрёл 23 диска. Прошлые я только успел оцифровать, но ещё не
переименовать и причесать файлы с директориями, не говоря про то, чтобы
их прослушать. В общем, на месяцы мне новой музыки!
Sergey Matveev [Sat, 18 Feb 2023 07:20:05 +0000 (10:20 +0300)]
Музей ретрокомпьютеров открылся
https://16-bits.ru/%d0%be%d1%82%d0%ba%d1%80%d1%8b%d0%bb%d0%b8-%d0%bc%d1%83%d0%b7%d0%b5%d0%b9/
В этом году, ближе к лету, надо бы будет съездить в Новосибирск для
этого. На открытии был Михаил Шигорин, с которым и пересекался лично
и даже немного поработал вместе. Мир тесен.
Sergey Matveev [Fri, 17 Feb 2023 19:49:57 +0000 (22:49 +0300)]
Сеть виновата
https://habr.com/ru/company/southbridge/blog/717634/
https://linkmeup.ru/blog/1188/
Автор статьи также является и автором "Сетей для самых маленьких".
Офигенно интересное чтиво. Причём начиная с самых азов и заканчивая
технологиями уровня ДЦ/Интернетов. И эту статья на Хабре интересно
написана.
Очень понравилось что не только мне кажется дичью создание огромные
L2-доменов, вместо использования L3. Про это намекали в "идеальном мире
для IPv6": d47aedcfff82c1bd58d4fde4a067b688a0dda78a -- но там всё же
идеальная крайность описана была. Но нет -- действительно Ethernet
должен в идеале только в маленьких доменах использоваться, как это
подтверждает и сетевик профессиональный. Приятно что у меня диссонанс от
любви людей к "всё засунуть в один L2 домен" не на пустом месте возникает.
Ну и автор говорит:
Любите IPv6, переходите на IPv6, рассказывайте всем про IPv6.
Ибо с ним куда проще и удобнее работать!
Sergey Matveev [Fri, 17 Feb 2023 11:07:00 +0000 (14:07 +0300)]
Apple прогнулась и начала поддерживать AV1 кодек
https://www.opennet.ru/opennews/art.shtml?num=58665
Компания которая упорно десятилетиями принципиально не поддерживает
свободные и открытые кодеки (±) всё же добавили поддержку AV1 в один
из своих броузеров. Вот насколько, видимо, хорош кодек.
Sergey Matveev [Fri, 17 Feb 2023 10:55:59 +0000 (13:55 +0300)]
VERP не позволяет множеству пользователей отправить сообщение разом
https://en.wikipedia.org/wiki/Variable_envelope_return_path#Disadvantages
Я про себя не понимал почему при отправке сообщений из почтовой рассылки,
он для каждого получателя шлёт отдельное сообщение, хотя несколько могут
быть на одном домене. Ведь SMTP же может нескольким людям сразу отправить
одно письмо на сервере, экономя трафик. А всё из-за VERP-а, который для
каждого получается делает уникального sender-а. В SMTP можно указать
несколько recipient-ов, но не sender-ов.
Sergey Matveev [Fri, 17 Feb 2023 08:59:49 +0000 (11:59 +0300)]
Странные и необычные клавиатуры
https://habr.com/ru/company/cloud4y/blog/716934/
Большая подборка всяких клавиатур. Какие-то даже хочется попробовать. Но
я с Sofle (cb49d8505b928c638facd6aec3ca34e33444c9da) всё же не могу работать.
Отличные переключатели, отличное качество, нравится внешний вид и вообще всё.
Но я всё же не могу с таким малым количеством клавиш работать. Просто у меня
полностью прямо противоположный подход, которые намертво въелся, на уменьшение
количества сочетаний. А тут наоборот нужно ещё больше через сочетания делать.
Не могу даже за уши притянутую выгоду для себя придумать от этого. По сложности
это наверное как переучиваться на полностью другую раскладку (Дворака там).
Sergey Matveev [Thu, 16 Feb 2023 15:21:02 +0000 (18:21 +0300)]
Медленный Интернет на Кубе
https://habr.com/ru/news/t/717446/
"для скачивания фильма объёмом 5 Гб, который в США загружается примерно
за 5 минут, кубинцу нужно потратить около 3,5 часов"
5 гигабайт за 3.5 часа это мало? По моему кто-то зажрался. Понимаю что
всё относительно, но для обычного человека с вменяемыми запросами, по
моему, этого более чем достаточно.
Sergey Matveev [Wed, 15 Feb 2023 14:27:13 +0000 (17:27 +0300)]
Go реализации Mumble
https://en.wikipedia.org/wiki/Mumble_(software)
http://www.git.stargrave.org/?p=grumble.git;a=summary
http://www.git.stargrave.org/?p=barnard.git;a=summary
Mumble это единственная мне известная программа/протокол VoIP который
just works без проблем (ecf0bbd8f4f25d6039438e1c6756c518e6979cfb). На
работе его используем не первый год для голосового общения. Недавно один
сервер отвалился и надо было быстренько поднять где-нибудь ещё один.
Попробовал github.com/mumble-voip/grumble реализацию на Go. Пришлось
добавить руками поддержку пароля, но в остальном всё заработало отлично.
А сегодня попробовал реализацию на Go клиента github.com/layeh/barnard.
Почти никаких настроек, никакого voice activity detection, jitter buffer.
Грузит на 100% целое ядро. Голосовой трафик отправляет только по TCP
(что для VoIP конечно не очень приятно). Да и проект вроде бы заброшен.
Но с grumble сервером и родными Mumble клиентами это всё вполне работает.
Так что, видимо, сейчас это будет моим основным клиентом. Уж очень мне
не нравится что Mumble и его murmur сервер используют Qt, который
огромный монстр и держать одного его только ради изредка запускаемых
mumble/murmurd не хотелось бы.
И внезапно приятный факт: grumble и barnard у меня собираются моим
fork-ом Go с поддержкой ГОСТового TLS 1.3. И значит они автоматом
используют отечественную криптографию при связи друг с другом.
Multicast в WireGuard как-то но поддерживается. Так как у меня не самая
новая FreeBSD, то штатный последний код WG не собирается (или не
работает -- уже не помню) из-за разницы в системных вызовах. Для работы
с TUN интерфейсами просто использую старую версию файла кода. Но в новой
вижу что выставляется IFF_MULTICAST режим. Поправил свой код, флаг
выставляется, интерфейс типа становится multicast capable и это даже
как-то работает.
Раз заработало, то решил переехать на Babel, который выглядит куда более
простым чем BGP/OSPF, как мне уже писали в комментарии. Но какая-то
фигня творится с работоспособностью. То работает, то нет. tcpdump
показывает что трафик отправляется демонами. Но противоположная сторона
почему-то не всегда "слышит" его. Думаю что multicast поддержка в WG
какая-то не очень. Попробовал OSPF при этом -- аналогичное странное
поведение, полурабочее, как повезёт.
Но пока с этим возился, то увидел что OSPF то можно использовать и
поверх точка-точка соединений. И это уже отлично заработало. Какой
profit получил от такого OSPFv3 PtP по сравнению с BGP? В конфигурационном
файле теперь не нужно задавать AS-ы, пускай даже приватные. BIRD2 для
Babel не позволяет указать PtP адреса, хотя, при беглой оценке, вроде бы
сам протокол может работать без multicast-а.
Sergey Matveev [Tue, 14 Feb 2023 09:06:16 +0000 (12:06 +0300)]
Разлад в GnuPG и OpenPGP workgroup
Вернер Кох не сдерживается в рассылке, и пишет что ему уже кажется что
рабочая группа как-будто хочет навредить OpenPGP как таковому.
Using new OIDs will eventually make keys and signatures created since 8
years invalid. Further deployed software won't be able to handle any
newly created signature or key. This is crazy, folks.
Sometimes I can't but fear the goal of the WG is to harm the repudiation
of OpenPGP.
Они долго обсуждают уже тот факт, что OID-ы для *25519 алгоритмов не
соответствуют всяким позже появившимся RFC, мол поэтому давайте их
поменяем. Очевидно, поломав совместимость. Действительно, безумие.
И у Коха прям решительный отказ возможности использовать GCM в OpenPGP.
Он сделал EAX deprecated (ff984ae8de23837f0c650097b779807e10f2ebaf), так
как патенты на OCB иссякли и поэтому только OCB остаётся. Я на его
стороне: ибо зачем GCM, если есть OCB, который ну абсолютно всем лучше?
В рассылке уже даже поднимают вопрос о будущем OpenPGP, ведь то, что
делает GnuPG команда, на что она ориентируется (черновики RFC, которым
уйму лет), расходится с тем, что творит WG. Как бы не появилось две
ветки развития этого стандарта. Что, похоже, запросто будет, ибо WG
творит дичь, полностью игнорируя то, что на практике уже много лет
применяется.
Тут на ум уже приходит и ssh-keygen возможности подписывания
произвольных данных (e6184094fc1f16c6d0648dfb62b02e95c15b4136) и age
утилита шифрования, как нечто до тривиальности простое, если появится
череда несовместимых между собой PGP-related инструментов.
Sergey Matveev [Tue, 14 Feb 2023 08:23:43 +0000 (11:23 +0300)]
Обновил FreeBSD на VPS
Почему бы не обновить ОС на моей VPS-ке, где древнейшая FreeBSD 11.0?
А то Go-шная golang.org/x/sys библиотека там уже имеет несовместимые
изменения и не работает по сути. Никакой автоматизации для этого не
делал -- всё руками поднимал. Но вообще наверное менее пары часов ушло
чтобы поднять postfix, firewall, unbound, bird, chrony, curvedns,
dqcache, godlighty, nsd, wireguard, ну и базовые настройки ОС сделать.
Это кстати первая 13.x версия что я трогаю. Дома везде до сих пор 12.
Больше времени потратил на поднимание IPv6. ОС я не обновлял на самом
деле, а просто в виртуальную машину полностью переустановил
предоставленный хостером образ. Он не то что не поднялся, а вообще даже
данные о ВМ показать не мог. Пришлось писать в техподдержку. Починили.
После этого упорно не подхватывался ни SLAAC, ни даже руками прописанный
default маршрут не позволял ходить трафику. Снова ожидание техподдержки,
которая кстати отвечала на некоторые письма менее чем за минуту даже.
Sergey Matveev [Tue, 14 Feb 2023 05:18:44 +0000 (08:18 +0300)]
Печальная история i740
https://habr.com/ru/post/716732/
А у нас на AMD K6 компьютерах долгое время была как-раз эта видеокарта.
Откуда взялась уже никто не вспомнит. Возможно по дешёвке отдавали или
вообще просто так. Но на ней я в тьму игрушек трёхмерных поиграл.
Sergey Matveev [Mon, 13 Feb 2023 09:17:06 +0000 (12:17 +0300)]
Третий день Зимнего МОРа
Восхитительно и великолепно! Был на doom-сцене, опять на "Бумажной
фабрике". В этот раз организаторы явно куда более нормально подошли к
набору групп и их сортировке по сценам. А то в прошлый раз на death
сцене был power metal, doom, thrash, но только одна группа death.
Сейчас, судя по афише, на death действительно, тот же Rigor Mortis, уже
death команды имеются. Разрывался пойти ли на doom, где я три группы и
так уже слышал, на death, где тоже половина мне известна в живую, либо
на outsider сцену. На последней пара grindcore банд, одна harsh
noise-овая и... пара вообще непонятно кого, точно outsider-ов. Но решил
сходить в понравившуюся Фабрику, не пожалел.
Открывали мероприятие уже слышанные мной ранее Топь. Для разогрева
отличны. Но специально на целый их концерт не пошёл был, о чём наверное
уже раньше писал.
Затем были Nosłeep, которые мне как не понравились на прошлом МОРе, так
и сейчас тоже. Вот вообще никак не ложится к ним душа. Очень не нравится
тембр голоса вокалистки когда они и чисто поёт и screaming делает. Но
многим вроде бы заходит, ok.
Затем пошли Pale Keeper, как всегда превосходные. Народ подтянулся к
сцене подошёл чтобы получше их послушать. Много шутили и смеялись между
песнями. Даже устроили конкурс на знание названия песен группы и
девчонка выиграла их футболочку. Появились аж целых три новые песни, к
тому же и на русском языке. "Водяной" понравился очень, даже по текстам.
Вообще количество русского языка со сцены, за последние месяцы, уже
похоже переваливает за половину как-будто. С одной стороны это может
быть и плохо -- ибо тексты могут не понравится и придётся воротить нос
от музыки, ибо не сможешь перебороть себя и закрыть уши на неприятные
тексты. С другой стороны, пока мне всё вполне нравится, из того что
понимаю, конечно же, ведь с распознаванием слов у меня не всё хорошо.
Потом пошли уже мне не знакомые группы. Halter играл нормальный такой,
мрачненький (а какой же ещё он может быть?) doom. Неплохо было.
Затем одну композицию отыграли "Шишкин лес". Ну что сказать? Если их
музыка это то, что творится в шишкином лесу, то это было бы самое
страшное и мрачное место на Земле. Крайне мрачная, тёмная, угнетающая
атмосфера создавалась музыкантами. Гитары создавали перманентный низкий
distortion звук, барабанщик раз в 5-10 секунд по удару делал по барабану.
В целом понравилось, но это на один раз. Повторно уже не будет
интересно, да и всё же занудно и под конец скучновато.
Завершали мероприятие WDISS. Блин, это стоило всего! Потрясающе
интересная музыка. Хоть и мрачная, медленная, но ни на йоту не надоедает
или наскучивает. Особенно понравился вокал -- прям наверное идеальный
для мрачного doom-а. Играли даже на трубе -- это, как оказалось, такую
мрачную и гнетущую атмосферу создаёт, впечатлился! Вообще меня не редко
на слезу пробивает от заборной музыки, которая трогает, пускай даже
определёнными рифами или проигрышами. Но WDISS это делал регулярно на
протяжении всего своего выступления. В восторге от них.
И раскошелился ещё на 15 дисков, среди которых полно deluxe edition-ов.
За все эти три дня я понабрал black, folk black, sludge и всяких смежных
и схожих вещей, но ещё не слушал толком. И отдал за всё это не менее 30k₽.
Sergey Matveev [Sat, 11 Feb 2023 21:08:56 +0000 (00:08 +0300)]
Второй день Зимнего МОРа
Был на black-сцене, всё на той же "Бумажной фабрике". Всё очень здорово,
но, наверное, так как black-а я наслушался за многие годы вдоволь, то не
так впечатляет как что-то совершенно новое и незнакомое.
Народу было в несколько раз больше чем вчера. Будь побольше, то уже бы
было тесновато и неуютно. Начали прям вовремя, по расписанию. Но одной
группы не было, так что подольше поиграли последние. Последними были
Бѣсъ, но я с них ушёл: не потому что не нравятся, а потому что уже
слышал на первом МОРе, не так в восторге от них был чтобы жаждать
повтора, время как-раз было ещё удобное чтобы домой вернутся.
Первыми были Khlad. Неплохой black metal незатейливый. В конце даже
исполнили кавер на Satyricon. Отлично для разогрева.
Далее шли Sinful. Которых, опять же, уже видел на первом МОРе. И они
стоят чтобы именно на них сходить. Убедился в этом. Отлично сыграли!
Потом шёл дебютный концерт Мещеры. Оленьи рога на микрофонах, одеяния в
стиле витязей, женский вокал и мужской гроул. Женский вокал в основном
был чистым, но временами переходим на скриминг. Изначально не зашло, но
явно потому что звук был плохо настроен -- слышны только крутые быстрые
барабаны. А потом всё стало отлично и даже медлячки мне зашли.
Однозначно хотел бы услышать их снова. Надо ждать альбомов, хотя пока
они только свой первый EP обещают.
Затем долго играли Night Abyss, под который народ добротно послеймился.
Неплохой бодренький классический такой black. Всё отлично, не придерёшься.
Затем играли Frostlagte Måne, которые развесили, так сказать, весёлые
стрёмные плакаты, куча черепов на синтезаторе, разукрашенные все по
полной. Играли тоже неплохой быстренький black.
Вообще не планировал, но прикупил ещё 16 альбомов.
Sergey Matveev [Fri, 10 Feb 2023 22:11:44 +0000 (01:11 +0300)]
Первый день Зимнего МОРа
Как же было круто! Концерты для меня это, похоже, единственное что
приносит чистое удовольствие, ничего кроме удовольствия, где не может
быть неприятного послевкусия или подвоха. Даже с женщиной если и
провести приятно время, то потом могут начаться разборки, выяснится что
не всё было правдой, и так далее, и тому подобное. И с музыкой если
получаешь удовольствие, то оно уже ничем не будет удручено.
Был на post-сцене. В очередной раз для меня доселе неслыханное в живую.
Да и в целом то с пост-рок и похожими вещами я только в общих чертах
знаком. И я думал что будет конечно много хорошей музыки, но более
атмосферной, нудной. Фиг там!
Было всё на недавно появившейся "Бумажной фабрике". В афишах видел не
раз, но не был. Очень понравилось там. Довольно ёмкий, но не огромный
зал. В самый раз прям. Вполне себе мощный, даже более чем, звук.
Отражения от стен бетонных имеются, но в целом я бы оценил звучание как
хорошее. Блин, как же мне не нравилось в ДК Кристалле... постоянный фон
от отражённого звука, перманентная каша.
Первыми выступали Darwin Prize. Не знаю что это за стиль, но наверное
типа пост-рока. К металлу отношения не имеют. Но играли здорово. Прям
сразу же понравились. Их даже на бис кто-то попытался позвать.
Далее вышли "Шумы Штормовых Широт". Офигенно прям! Только на них можно
пойти уже на концерт. Огромное количество примочек у гитары и басухи,
среди которых есть такая, которая записывает звук, а дальше в цикле
проигрывает. Вот там круто использовали этот эффект. И дубасили по
барабанам мощно, и почти до нойза/харш-нойза доходило всё. Очень здорово!
Но их всё же, не то чтобы затмили, но чуть потеснили Sterbefall. Опять
же, не знаю что это -- post-black что ли какой-то. Но смешение и
сочетание стилей просто отпадное. Вокалист понравился. Он же играл и на
12-ти (?) струнной гитаре. Один из лучших black-ов что слышал в живую.
В голову приходил при этом Deathspell Omega.
Ну уж переплюнуть их нельзя было. Ошибался. L'Homme Absurde были
сногсшибательны и умопомрачительны. Местами их барабанщик фигачил так,
что многие грайндкорщики трушные позавидовали бы. Красивые медленные
проигрыши. Мощнейшие бластбитные почти нойзовые убийственные вставки.
Необычный, но очень подходящий для такой музыки вокал. Позавчера
(498e3224020a30fcdf1f1820166f77cce67c18fa) писал как мне понравился
Crust. Так вот эти очень много чем на него похожи были. По тяжёлой
мрачности местами они заставят покуривать в сторонке большинство
doom-еров.
Приобрёл 11 альбомов, но завтра ещё доберу некоторых. Плюс футболку Moon
Far Away, которые вообще к металлу никакого отношения не имеют, но label
знает толк.
Sergey Matveev [Fri, 10 Feb 2023 11:57:01 +0000 (14:57 +0300)]
Datura на Coyote Brutal Fest
https://rockgig.net/event/573828
https://vk.com/cbf17
Увидел что на очередном CFB будут Datura. Давно с ними знаком и слышал
на многих концертах. Единственная группа, которая мне известна (которую
припоминаю) с Украины в тяжёлой музыке. Оказывается, они из Донецка. Так
что всё в порядке у них, даже вот приезжают выступать.
Sergey Matveev [Thu, 9 Feb 2023 20:23:08 +0000 (23:23 +0300)]
.iso.wv
Некоторая музыка с BitTorrent трэкера раздаётся в виде ISO CD-образа...
на котором записаны CUE, JPEG обложки и WavPack файл. Не могу придумать
причину использования .iso. Зачем??? Если хочется объединить файл в один
файл, то не лучше ли ZIP? Но ведь и torrent файлы позволяют несколько
файлов "отправлять". Загадка.
Sergey Matveev [Thu, 9 Feb 2023 14:48:04 +0000 (17:48 +0300)]
МТС предлагает заниматься FreeBSD системами
Прислали тут предложение о сотрудничестве. С нуля набираемая команда,
которая будет делать системы на основе этой замечательной ОС. Приятно
слышать что столь крупная компания делает такой технический выбор!
Встречал МТС представителей на ТК26 собрании на тему шифрования в
сотовых сетях -- других операторов там не было.
Sergey Matveev [Thu, 9 Feb 2023 13:56:59 +0000 (16:56 +0300)]
Crust -- Stoic
https://crustband.bandcamp.com/album/stoic
https://www.youtube.com/watch?v=q4znvwHX77o
https://crustband.bandcamp.com/album/and-a-dirge-becomes-an-anthem
https://www.youtube.com/watch?v=MIYapGQ1zJg
Заслушиваю этот альбом, приобретённый на Born Again Fest
(c437dce08c9acc568f6c8d898d47ec9dac0f2a08), до дыр уже который день.
Вообще не понятно что за стиль: то ли black, то ли doom какой-то, то ли
sludge, то ли death. Помесь всего. Ну мрачный, очень. Однако хочется
продолжать слушать. А группа то вообще из Великого Новгорода.
Sergey Matveev [Thu, 9 Feb 2023 09:58:19 +0000 (12:58 +0300)]
Приобрёл USB-гарнитуру
Какую-то китайскую Xamien VBet. А то у меня есть только на работе
Koss-овские наушники с микрофоном и приходилось их таскать домой, чтобы
можно было с коллегами пообщаться. Когда я записывался в подкасте
Пиратской Партии (7b340b4f66be802aee6021251087029e306c2368)
(https://www.youtube.com/watch?v=_aiYf_SVb7g), то Антон меня даже
спрашивал что у меня за микрофон, ибо больно уж хорошо звучит. Но и с
новой китайской гарнитурой коллеги говорят что всё тип-топ. А я боялся
что будет так себе качества.
Sergey Matveev [Wed, 8 Feb 2023 09:17:18 +0000 (12:17 +0300)]
Количество цифр в десятичном числе
https://lemire.me/blog/2023/02/07/bit-hacking-with-go-code/
Я знаю формулу для узнавания количества цифр в десятичном числе:
1 + floor(log10(...))
Знаю что это медленно конечно же. Можно просто вереницей if-ов
рассчитать -- гораздо эффективнее, но более длинный код.
А в статье про игры с битами на Go увидел вот такое, отъедающее всего
несколько инструкций на современном процессоре:
func Log2Up(x uint32) int {
return 31 - bits.LeadingZeros32(x|1)
}
Sergey Matveev [Tue, 7 Feb 2023 14:36:50 +0000 (17:36 +0300)]
WireGuard подвис
Поднимал у себя на домашнем сервере один демон. 95% времени потратил на
заведение доменного имени под stargrave.org доменом. Что может быть
проще? Одной командой zeasypki (47b11bfd222d9f3f03664035e4fb4ca32cfa75de)
создал X.509 ключевую пару для него. Ещё одной командой экспортировал
ключ и сертификат. Добавил новую запись о домене в stargrave.org.tcl
(d4eadab571bf5e8ea00d19598f129a708a322d15), запустил redo чтобы получить
новый .zone файл с отпечатками сертификата для новой записи. Скопировать
на сервер, svc -t /var/service/nsd и должно быть всё готово.
Журнал второго DNS сервера говорит о невозможности подключиться к
master-у. Действительно, правила firewall-а запрещают трафик между DNS
серверами моими через "обычный" (просто подключённый к Интернету)
сетевой интерфейс. Он должен ходить через WireGuard
(aa04778f64d88a498158e9e361908a32ca2dc7df). А для этого должен быть
маршрут. А для этого работающий BGP. А для этого работающий WG-туннель.
Туннели у меня подняты, с одной стороны tcpdump показывает что трафик
отправляется на другую сторону, но на ней ничего не происходит. Ни
сообщений, ни дешифрованного пакета не видно. И только после перезапуска
WireGuard демона, всё начало работать, обмениваться маршрутами,
реплицировать DNS-ы.
В общем, по какой-то причине демон на VPS-ке вроде бы и работал, но стал
игнорировать пакеты. Возможно потому что это всё запускается на древней
FreeBSD 11.0 и это её баги. Пока неизвестно, но подвох имеется.
Sergey Matveev [Mon, 6 Feb 2023 15:49:37 +0000 (18:49 +0300)]
Съездил в нижегородскую область на Ласточке
Впервые прокатился туда и обратно на Ласточке: скоростной электричке до
Нижнего Новгорода. Всего четыре часа путь занимает.
В посёлке, где живёт родня, не на всех улицах есть освещение. Я уже и
забыл как ярко на самом деле светит Луна. Прям тени полноценные, видны
предметы. Хотя и понимаю что яркость небольшая -- читать книжку не выйдет.
Помылся вот в ванне... а ведь ещё вчера мылся в настоящей обычной
русской бане, выходя с голым торсом на мороз, где вокруг сплошной белый
снег (в городе то его счищают).
Sergey Matveev [Fri, 3 Feb 2023 00:58:44 +0000 (03:58 +0300)]
Форум компьютерных старых пердунов
https://tuhs.org/mailman3/postorius/lists/coff.tuhs.org/
Недавно кроме TUHS (The Unix Heritage Society) рассылки появилась там же
и "Computer Old Farts Forum". Обе славны тем, что там реально тусят
хакеры Unix систем, много которых застали 70-80-е года.
Sergey Matveev [Thu, 2 Feb 2023 10:13:06 +0000 (13:13 +0300)]
Каверы на Rectal Bowel Inquisition
https://www.youtube.com/watch?v=T324DKurpEI
https://www.youtube.com/watch?v=d9UwttsVWsA
https://www.youtube.com/watch?v=cnWEv1LkKqw
Познакомился с нашей грайндкорной группой Necrotic Liquefaction.
На альбоме есть кавер на Last Days Of Humanity-овский трэк.
С первых же секунд узнал его, вспомнил что это LDOH. А ведь когда-то
не мог отличить одну горграйд композицию от другой.