]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
3 years agoПрочитал "Час Дракона" Роберта Говарда
Sergey Matveev [Thu, 18 Nov 2021 08:03:46 +0000 (11:03 +0300)]
Прочитал "Час Дракона" Роберта Говарда

https://ru.wikipedia.org/wiki/%D0%A7%D0%B0%D1%81_%D0%B4%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%B0
Одна из последних книг про варвара Конана. Дочитал, но не понравилось.
Вся книга из серии: пошёл туда, встретил того, зарубил его, пошёл сюда,
там другого замочил, потом порешал с третьими. Идеально для сериалов с
мускулистым Шварценеггером: короткое видео где действие в новом месте,
где всё решается просто тем что Конан мечом помахает и всех положит.
Плюс аппетитные красивые девицы то тут, то там. Но нет, я не хочу на это
тратить время -- уж лучше бабский фэнтези про ведьму от Ольги Громыко
(69a6c3d8d6610bb16dcf87be95fee87e8d50cc9b).

3 years agoПример почему я считаю Python говном
Sergey Matveev [Thu, 18 Nov 2021 07:58:23 +0000 (10:58 +0300)]
Пример почему я считаю Python говном

Качество Python падает с каждым годом. Искренне задолбали все кто его
упорно превращает в обёртку на Си-шными библиотеками. Но вот у меня
стоит shiny new Py310:

    >>> import hashlib
    >>> "blake2b" in hashlib.algorithms_available
    True
    >>> hashlib.new("blake2b").update
    <built-in method update of _blake2.blake2b object at 0x800b166b0>
    >>> from hmac import HMAC
    >>> HMAC(b"foo", b"bar", "blake2b")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/home/stargrave/local/stow/py310/lib/python3.10/hmac.py", line 60, in __init__
        self._init_hmac(key, msg, digestmod)
      File "/home/stargrave/local/stow/py310/lib/python3.10/hmac.py", line 67, in _init_hmac
        self._hmac = _hashopenssl.hmac_new(key, msg, digestmod=digestmod)
    ValueError: unsupported hash type blake2b

Хотя документация явно говорит про hmac.new():
    digestmod is the digest name, digest constructor or module for the
    HMAC object to use. It may be any name suitable to hashlib.new().

Считанные часы как я использую этот Py310 и он уже вовсю падает. Такое
впечатление, что лучший Python который когда либо существовал это Py27.
Хотел бы сказать что-то про Py35/Py36, но не могу из-за появления в них
async-ов.

3 years agoКак выращивать джунов. eross
Sergey Matveev [Wed, 17 Nov 2021 14:24:36 +0000 (17:24 +0300)]
Как выращивать джунов. eross

https://www.youtube.com/watch?v=BkPCRxuMPtA
https://habr.com/ru/company/oleg-bunin/blog/417409/
Посмотрел тут на фоне выступление Евгения Россинского про свой опыт
выращивания junior-разработчиков.

Что-то у меня в блоге вообще не видел упоминания этого человека. А ведь
после собеседования с ним я сразу понял что хочу работать в его компании
(NetStream, которую купила ivi вскоре)! Честно, даже не представлял что
бывают такие разносторонне развитые люди и мастера организации рабочего
процесса. Это ж просто сущий ад и жопа со всякими ИТ-шниками пытаться с
ними сварить кашу! Но лучше я ничего не встречал как было в
NetStream/ivi. После работы там я понял насколько важен менеджмент. И
вскоре ещё и понял про важность того, что сейчас называют soft skills.

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

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

А с ivi у меня кой какая связь до сих пор ещё есть, ибо я туда своего
друга уговорил устроится, ну и написал рекомендательное письмо, после
которого ему Женя сразу же позвонил. Друг там продолжил мой проект на Go.

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

Очень, кстати, верно Женя заметил что вопрос про высшее образование
очень важен, как ни крути.

3 years agoWindowMaker
Sergey Matveev [Wed, 17 Nov 2021 12:37:31 +0000 (15:37 +0300)]
WindowMaker

https://www.windowmaker.org/screenshots/lumpi-wmaker.png
https://en.wikipedia.org/wiki/WindowMaker
Скриншот сильно напоминает то, что и у меня было на рабочем столе на
компьютере с AMD K6-2 процессором. Считаю конечно полным бредом мерится
красотой оформлений, иконок и всего такого прочего, но красивее чем
WindowMaker всё же ничего не видел. Да, он слизан с Стив Джобсовского
NeXTStep-а, поэтому тут они не первопроходцы, но насколько же это краше
чем macOS любой версии. И XMMS я использовал для "замены" WinAMP-а. И
все эти widget-ы с различной статистикой помню настраивал.

3 years agoДЦ для суперкомпьютеров Яндекса
Sergey Matveev [Wed, 17 Nov 2021 10:05:05 +0000 (13:05 +0300)]
ДЦ для суперкомпьютеров Яндекса

https://habr.com/ru/company/yandex/blog/589363/
https://www.opennet.ru/opennews/art.shtml?num=56164
В РФ самая мощная троица суперкомпьютеров у Яндекса. И вентиляцию с
охлаждением (free cooling) проектировал для их ДЦ (и не только для них,
но и для ДЦ в финской Мансале) мой отец.

3 years agoБеспорядок Python
Sergey Matveev [Tue, 16 Nov 2021 11:24:28 +0000 (14:24 +0300)]
Беспорядок Python

https://drewdevault.com/2021/11/16/Python-stop-screwing-distros-over.html
https://xkcd.com/1988/
Полностью солидарен с автором, что Python за последние несколько лет
стал просто ужасным набором несовместимого дерьма:

    distutils, setuptools, pip, pipenv, tox, flit, conda, poetry,
    virtualenv, requirements.txt, setup.py, setup.cfg, pyproject.toml

Я не смог недавно установить python-language-server под Py36. Поставив
Py310 -- оно хоть как-то смогло установиться, причём не с первого раза.

PS: картинка с xkcd показывает всю суть современной методологии
разработки софта с этими контейнерами.

3 years agoПосмотрел "Человека на Луне"
Sergey Matveev [Mon, 15 Nov 2021 19:18:51 +0000 (22:18 +0300)]
Посмотрел "Человека на Луне"

https://ru.wikipedia.org/wiki/%D0%A7%D0%B5%D0%BB%D0%BE%D0%B2%D0%B5%D0%BA_%D0%BD%D0%B0_%D0%9B%D1%83%D0%BD%D0%B5_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC,_1999)
Фильм очень понравился. Джим Кэрри очень впечатлил, ибо тут не совсем
"классические" для него роли -- круто сыграл. Да и про Кауфмана узнал,
про которого есть то там, то сям упоминания.

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

С другой стороны, всякие black metal-ы, goregrind-ы и harsh noise-ы ведь
тоже не редко стараются чем-нибудь шокировать, что-то спровоцировать или
высмеять. Для кого-то я сразу сатанист, раз слушаю Behemoth или Marduk.
А goregrind так ту самую тему смерти и насилия затрагивает. Вот только
честно это признаёт и предупреждает, как правило.

3 years agoСтатическая линковка cgo программ
Sergey Matveev [Mon, 15 Nov 2021 19:14:51 +0000 (22:14 +0300)]
Статическая линковка cgo программ

https://www.arp242.net/static-go.html
У знакомого было желание использовать sqlite3 в Go. А для этого с ходу
находятся только C-binding-и. У него на GNU/Linux системе поэтому сразу
исполняемый файл начинает зависеть от динамических библиотек и уже не
портируемый. Но ведь можно же Си программы статически слинковать? Вот и
cgo тоже парой опций можно заставить это пытаться сделать. На GNU/Linux
это правда всё равно под обычными дистрибутивами не тривиально, ибо
соответствующие .a версии библиотек могут не стоять. Но у меня собралось
без проблем и плясок.

3 years ago"Архитектура компьютера" Таненбаума вредна?
Sergey Matveev [Mon, 15 Nov 2021 10:12:37 +0000 (13:12 +0300)]
"Архитектура компьютера" Таненбаума вредна?

https://habr.com/ru/post/589091/
Да пошёл бы автор нафиг с таким заявлением! Без этой книги я бы
неизвестно кем бы был сейчас. До дыр зачитывался и ею и "Компьютерными
сетями" и "Распределёнными системами" и "Операционными системами". Его
книги для меня эталон, который с чистой совестью можно порекомендовать
первым делом.

3 years agoПодпись произвольных данных SSH-ем
Sergey Matveev [Sat, 13 Nov 2021 08:48:16 +0000 (11:48 +0300)]
Подпись произвольных данных SSH-ем

https://www.agwa.name/blog/post/ssh_signatures
С 8-ой версии OpenSSH стало возможным ssh-keygen командой подписывать
произвольные данные. Пока аргумент "ничего не придётся дополнительно
ставить" ещё не катит, ибо у меня (а сколько людей у которых ещё более
старые системы или системы где еле-еле добавляется новый софт (zstd то
не везде ещё есть!)) ещё не такой новый OpenSSH. Но то, что есть более
простая замена OpenPGP, действительно, радует. Всякие signify есть из
коробки в OpenBSD, но не в остальных системах.

3 years agoСтоляров, конечно, странный
Sergey Matveev [Fri, 12 Nov 2021 09:49:15 +0000 (12:49 +0300)]
Столяров, конечно, странный

http://www.stolyarov.info/node/265
Есть напрягающий комментарий по поводу git-а: мол автор в 2019-ом не то
чтобы не видел git submodule в природе, но даже не слышал про него.
Довольно странно это, ладно.

Но гневный комментарий о том, что у автора не UTF-8, а KOI8-R и поэтому
редиски те, кто подразумевает что у пользователя будет UTF-8 -- это за
границами разумного. Уж извините, но гореть в аду тем, кто не использует
UTF-8, ибо уже задолбали своими кодировками. Да, мне тоже KOI8-R с его
фишкой по превращению в транслит с отрезанным восьмым битом. Но пока по
моему уже забить все эти пляски с кодировками и всюду и везде требовать
UTF-8, как это и стараются делать в новых протоколах, форматах и софте.

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

С другой стороны, какие-нибудь темы им поднятые касательно "Linux" vs
"GNU/Linux": https://www.linux.org.ru/forum/linux-org-ru/13575141
мне понятны. Я не на стороне "лагеря Linux", но был бы в ярости, если
*мой* текст переиначили. И я точно так же бы или требовал полного
удаления или никаких правок такого рода. Всё не забуду как в "интервью"
в Теплице Социальных Технологий поменяли касательно ZFS одну штуку.
После этого со мной там дел не имеют :-). Править какие-нибудь опечатки,
стилистические вещи, думаю, допустимо, но чтобы я говорил про "SSL"
например -- такого быть не может, если только в качестве исторического
экскурса.

Хотя я нередко вообще употребляю просто GNU, ибо часто ли вообще имеет
значение какое конкретно ядро используется? Ведь есть же Debian с ядром
kFreeBSD, что типа вообще ни капли ни "Linux", но пользователь и не
заметит разницы, ибо он работает в GNU окружении.

Но это всё, конечно, не отменяет что для введения (в программирование)
его книжки выглядят неплохими.

3 years agoGoboLinux
Sergey Matveev [Fri, 12 Nov 2021 08:33:08 +0000 (11:33 +0300)]
GoboLinux

https://en.wikipedia.org/wiki/GoboLinux
https://news.ycombinator.com/item?id=29186222
Из комментариев к "I'm still afraid to use spaces in file names years
old" статье (прочитать не могу её, ибо на Twitter) узнал про
существование GoboLinux, в котором для каждого пакета своя директория и
свой Compile для сборки, прямо как в slashpackage
(f25380e9842d68f2f9ecce0d530db90903eeb66b). И сделали они это очень
давно уже.

Но проблемы с пробелами в путях -- действительно проблемы. Я очень часто
понимаю, при написании shell скриптов, что тут он не будет работать если
появится пробел. Но если скрипт пишется для себя или предполагается
чисто программерский контекст, то не парюсь. Хотя и не хорошо это
конечно и стоило бы рефлекторно стараться писать всё безопасно. Но если
от кириллицы в названиях файлов я как-то меньше стал избавляться (torn
утилита), то от пробелов всегда, через zmv '*' '$f:gs/ /_'
(124141d2c195839c86dcfc7ffcb7c21db922e427) -- меньше головной боли.

Пишут что и "Program Files" в Windows специально назван с пробелом,
чтобы заставлять программистов не забывать о них и писать корректно
работающий софт.

3 years agoПрочитал "Апельсиновую девушку" Юстейн Гордера
Sergey Matveev [Fri, 12 Nov 2021 07:30:04 +0000 (10:30 +0300)]
Прочитал "Апельсиновую девушку" Юстейн Гордера

https://www.litmir.me/br/?b=10407&p=1
Ну интересная история любви, рассказанная в виде письма умершим отцом
своему сыну. Заканчивающуюся размышлениями стоило ли всё это, стоит ли
жить мимолётно. У меня нет чёткого мнения касательно отца этого парня,
и стоила ли его жизнь, но не позавидую второму мужу его матери. Она
встречалась, как вышло в конце книги, с двумя одновременно. Одному
говорила что "да так, в машине сидел никто". Как только, видимо, стало
понятно что она подцепила на свой крючок другого, то ушла от своего
текущего. Как только он умер (к кому она ушла), через дюжину лет -- то
вернулась назад. То, что я называю запасным планом. И ему ещё
воспитывать не своего ребёнка. С другой стороны... всё же она родила ему
и его собственную дочь, что выглядит не так уж жалко вроде бы. А так то
я уже давно знаю, что если девушка говорит что у неё никого нет, то это
запросто может означать "могу уйти от своего когда угодно, как захочу".

3 years agoМалогалоталотим
Sergey Matveev [Thu, 11 Nov 2021 20:08:26 +0000 (23:08 +0300)]
Малогалоталотим

https://zen.yandex.ru/media/chitayvsegda/moia-liubimaia-kniga-detstva-o-kotoroi-nikto-ne-znaet-5fa4fa618eb5b23a305a5bf8
http://www.stargrave.org/photoes/eye.jxl
http://www.stargrave.org/photoes/eye.preview.webp
В прошлом посте вспомнил что в детстве "Чарли и шоколадная фабрика"
нравилась. Но всё же вне конкуренции любимейшей книгой тех времён
остаются "Звёздные приключения Нуми и Ники", о которых упоминал в
ba901e97207bcfed1dfa0f2286d471fc71cc912a. По ссылке есть фотография
твёрдой обложки книги -- именно такая у меня и была. Её читал отец,
потом привёз в Калининград, откуда мамина сестра до сих пор помнит
название существа на котором они путешествовали (Малогалоталотим), потом
уже я зачитывался в детстве.

Даже картину рисовал с кучей сцен из этой книги. Сохранился скан в
небольшом разрешении её. Помню до сих пор некоторые вещи из неё: в
центре это "смотровое окно" Малогалоталотима на Землю; слева от него
котёл (вроде бы что-то типа желудка Малогалоталотима), подсвеченный
атомными фонариками, в котором еда впитывается через кожу; справа сам
Малогалоталотим летящий в космосе; ниже -- он же, стоящий на земле,
выглядящий тыквой. Ещё какие-то существа у которых вроде бы звёздочки
какие-то играли роль валюты.

3 years agoКритика "Чарли и шоколадная фабрика"
Sergey Matveev [Thu, 11 Nov 2021 20:00:54 +0000 (23:00 +0300)]
Критика "Чарли и шоколадная фабрика"

https://ru.wikipedia.org/wiki/%D0%A7%D0%B0%D1%80%D0%BB%D0%B8_%D0%B8_%D1%88%D0%BE%D0%BA%D0%BE%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0%D1%8F_%D1%84%D0%B0%D0%B1%D1%80%D0%B8%D0%BA%D0%B0_(%D0%BF%D0%BE%D0%B2%D0%B5%D1%81%D1%82%D1%8C)#%D0%9A%D1%80%D0%B8%D1%82%D0%B8%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F
Оказывается на эту книгу есть куча критики, мол вообще чуть ли не запрет.
Да они офигели! Это одна из самых крутых книг что я читал в детстве и
некоторые части (особенно названия кнопочек в стеклянном лифте)
перечитывал не раз. Критика описывает вещи, о которых я, как ребёнок,
вообще не задумывался даже задумываться. Мне были интересны все эти
технологии и приключения, ничего больше! Хотя было понимание перегибания
палки Вилли Вонкой, даже ужасание.

3 years agoRTS тоже умерли
Sergey Matveev [Thu, 11 Nov 2021 18:18:21 +0000 (21:18 +0300)]
RTS тоже умерли

https://www.old-games.ru/forum/threads/kak-real-tajm-strategii-zavoevali-mir-old-games-ru-podcast-95.101748/
Как то не задумывался про судьбу стратегий реального времени, но говорят
что с 2009-го года этот жанр игр почти не выходит толком. А ведь
действительно, совершенно не слышу про них!

Я больше всё же люблю пошаговые, но в RTS тоже очень и очень не мало
играл (7dca92e15daf7355a78351b564a087c760deeb6c).

* Warcraft 2 -- бесспорный непоколебимый лидер среди всех в моей памяти.
  До сих пор в него можно было бы с удовольствием сыграть. Причём даже
  графика то не бросается какой-либо убогостью -- отлично всё нарисовано
  и смотрится до сих пор! Я ничуть не специалист по этой теме, но WC2
  это основоположник всего и вся для меня
* Command&Conquer -- совершенно не моё, никогда не любил, быстро
  забрасывал попытки. Но это основоположник, судя по всему, отдельной
  ветке RTS-ов, параллельно с WC2
* Age of Empires мне нравился и нравится, хотя по сути это всё тот же
  WC2. AoE2 ни разу не играл, но наслышан что это именно самая трушная
  версия серии
* Starcraft -- наслышан что это самое самое. Но сколько бы я не пытался
  её скопировать от друзей и знакомых -- она ни разу не запустилась.
  Сейчас то наверное под эмуляторами точно не проблема запустить, но уже
  как-то запал поиграть в неё пропал

Всё остальное, типа Total Annihilation -- трогал мало. Но помню всякие
пост-апокалиптические или космические темы.

3 years agoПрочитал "Глас Господа" Лема
Sergey Matveev [Thu, 11 Nov 2021 14:56:16 +0000 (17:56 +0300)]
Прочитал "Глас Господа" Лема

https://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D1%81_%D0%93%D0%BE%D1%81%D0%BF%D0%BE%D0%B4%D0%B0
Подобные книги пишет только Лем, насколько вижу. С кучей размышлений о
том, поймём ли мы вообще что-то совершенно внеземное. Понравилась книга!
Как и в других его произведениях -- понимаешь насколько же человек в
принципе может быть ничтожным.

3 years agoУдобство наличных и закон подлости
Sergey Matveev [Wed, 10 Nov 2021 18:56:59 +0000 (21:56 +0300)]
Удобство наличных и закон подлости

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

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

3 years agoСи должен умереть
Sergey Matveev [Wed, 10 Nov 2021 07:57:07 +0000 (10:57 +0300)]
Си должен умереть

http://cmustdie.com/
От Столярова (d026b3c3e20a717c7fd8aad8f5377c4fc4b90d0b) узнал про этот
сайт, прочитал. Согласен что со всеми этими undefined behaviour жопа.
Но, в конце есть выдержка диалога одного из разработчиков GCC (Andrew
Pinski), который своим изменением (якобы) поломал кучу кода. Вот с ходу,
честно говоря, я на стороне этого Пински полностью. Уж извините, но тот
факт, что масса людей написала security-critical код полагаясь не шибко
корректно -- это их проблемы. С какого чёрта компилятор должен думать о
fail-ах кучи остальных людей и делать по умолчанию совместимость с их
поведением? Есть отдельный флаг -fwrapv, но включать его по умолчанию, с
какой стати? Да, с каждой новой версией компилятора и прочего, я считаю
нормально проверять что в них изменилось и как теперь надо править
параметры сборки для своего не очень корректного кода.

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

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

Но, блин, аргументы про Ариан-5 -- говорят только об идиотизме людей
которые пишут на столь опасных языках такой опасный код. Вообще риторика
felix-gcc -- хамская и вообще удивительно как Пински спокойно отвечает и
реагирует на это, попутно показывая *как* надо проверять на переполнение.

3 years agoИнтервью с Андреем Столяровым
Sergey Matveev [Tue, 9 Nov 2021 20:58:27 +0000 (23:58 +0300)]
Интервью с Андреем Столяровым

http://stolyarov.info/misc/itbeard_interview.html
https://www.youtube.com/watch?v=o111yYPqLHU
Поверить что я буду смотреть почти четырёхчасовое интервью с человеком о
котором почти ничего не знаю, кроме как факта написания им нескольких
книг -- не поверил бы. Но это случилось.

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

Он не использует смартфоны, ибо это штука которой не управляешь, а она
явно заточена не для "добра" тебе. Он использует Devuan, ибо systemd
(очевидно) бяка.

Он не распространяет и не оставляет приватную информацию не потому что
оценивает и думает как бы она могла навредить -- об этом не надо
задумываться. И я аналогично отвечаю -- если *я* не знаю, то это не
значит что другой тоже не будет в курсе. Просто не нужно оставлять
следы. Он точно так же расплачивается только наличкой, по той же самой
причине.

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

У него eeePC 901 на котором *все* задачи выполняются без проблем, кроме
только броузера с JavaScript-ом. И из года в год нужно обновлять железо
чтобы web-странички тормозили уже удовлетворительно (тормозить то будут
в любом случае). Тоже помню что в институте я за 700 MHz MIPS64
ноутбуком и SAGE и LaTeX и QCad пользовался и никаких проблем.

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

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

Точно такие же у нас у обоих огромные преогромные сомнения что всё это
цифровое проприетарное дерьмо хоть как-то может ли называться удобным.
Постоянно всё неработающее, протухающее, требующее обновлений, online-а,
форсированного контроля третьими лицами -- это точно не про удобство. Он
верно заметил что когда кассовый аппарат не принимает карточки, то так
ли сложно человеку взять немного налички с собой? Несколько купюр точно
не занимают ни объёма, ни массы не имеют. Я со стороны вижу как на
работе всеми этими массовыми штуками и сервисами пользуются и... мне это
всё точно не удобно, даже если не задаваться вопросом про
свободное/проприетарное ПО или про компьютерную безопасность. Да и
вообще: как можно слушать человека разглагольствующего про удобство, но
который при этом использует email через web-сайт. А ведь сейчас масса
людей которая полноценными почтовыми клиентами ни разу не пользовалась.

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

Из книг всё обсуждение свелось к фантастике типа Лема, Шекли, Саймака,
Лукьяненко. Всё как надо!

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

Он заметил, что объяснить что такое указатель в Си -- просто
невыполнимая задача для тех кто не имеет опыта программирования. Ну что
ж, с прошлого по этот год я осознал что действительно не понимал прежде
эту концепцию. Удивлён, но в блоге про это почему то не написал --
наверное было просто стыдно. В прошлом месяце что-то писал на Perl
и только только осознал (пришло озарение) что я *понимаю* почему, как и
где использую всякие @{$...} конструкции с указателями и разными
контекстами (скаляры, массивы). И только писав что-то хоть сколько-то
серьёзное на Си у меня появилось чувство что я точно понимаю почему те
или иные функции принимают именно в таком или таком виде свои аргументы
(тоже вопросы указателей). Я много лет писал профессионально (за деньги,
значит) на Perl, но я не понимал по сути указатели -- просто делал то
так, то эдак, чтобы вроде бы нужное поведение программы достигалось. Даже
не знаю как описать эти чувства, ибо я ещё в школе книгу по Си читал и
всё с указателями же очевидно, но сейчас хочется сказать что не было
"настоящего" понимания, настоящего чувства этой абстракции/парадигмы/whatever.

У него и свой почтовый сервер и вообще он за, по сути, федеративные
решения. И даже на домашней странице висит плашка о том, что с его
IP-адреса спама не было, всё корректно настроено, но письма всё равно
будут в "спам-ящике" Gmail.com -- аналогичная проблема и у меня, хотя
даже SPF, DMARC, DKIM прописаны и используются.

А ещё вбросил на тему побочных эффектов и языка Си. В его книге нашёл
вот такие примеры показывающие как можно писать ужасно на Си и что за
побочки:

    while ((*dest++ = *src++));

вот после такого, которое реально встречается на деле, Си точно точно не
хочется причислять к языкам на которых бы стоило писать. Этот код куда
лучше написать как (тоже из книги):

    while (*src) {
        *dst = *src;
        src++;
        dst++;
    };
    *dst = 0;

хотя лично я бы явно ещё и while (*src != NULL) написал. А ещё вот такое
можно на Си: while(~wait(NULL)); Вот именно с началом писанины на Си и
смотрения во всякие открытые проекты я ещё больше полюбил Go и убедился
насколько же в нём продуманы мелочи.

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

3 years agoFiremoshpit на концерте Slipknot
Sergey Matveev [Mon, 8 Nov 2021 08:00:26 +0000 (11:00 +0300)]
Firemoshpit на концерте Slipknot

https://www.darkside.ru/news/136642/
Что-то новенькое: толпа взяла и организовала большой костёр.
Жаль что выступление группе из-за этого пришлось сократить.

3 years agoПотоковый формат шифрованных пакетов NNCP
Sergey Matveev [Sun, 7 Nov 2021 17:16:49 +0000 (20:16 +0300)]
Потоковый формат шифрованных пакетов NNCP

http://lists.cypherpunks.ru/archive/nncp-devel/2111/0399.html
Ещё не зарелизил, ибо нужно всякие мелочи дописать и документацию
обновить, но локально уже использую новые наработки. Но это обратно
несовместимая мажорная версия.

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

В NNCP реальный размер полезных данных скрыт. У шифрованного пакета есть
заголовок, в чётко заданном известном формате, подпись к нему, после
которых шёл зашифрованный размер, а дальше последовательность 128KiB
блоков, внутри которых какая-то часть отведена под полезную нагрузку, а
какая-то под опциональное дополнение, фактически используемое только для
скрытия размера нагрузки.

Так как размер идёт перед нагрузкой, то его нужно заранее прописать. Так
как это AEAD шифрование разбитое на большие блоки, то, в принципе, можно
было бы просто зарезервировать место в файле и в конце вернутся на него
и дописать зашифрованный размер. Всё равно шифрованный пакет создаётся
на полноценной ФС, так что seek можно делать.

Но всё усложнял тот факт, что пакет при создании и шифровании сразу же и
параллельно хэшируется, поэтому изменить данные было уже нельзя. С
переходом на деревья Меркле (MTH, 26d0fad8f0c8e523ec77c70dec244afc2c0e86e3)
теперь возможно перехэшировать начало файла без проблем. Но всё
усложняется тем, что в NNCP, опять же, на лету создаются и транзитные
пакеты (всё шифруется в несколько потоков и хэшируется). В принципе,
если сохранить начало файла, то в конце уже можно довычислить всю
матрёшку шифротекстов и с MTH-ом поправить хэш.

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

Указывать вне шифротекста метаинформацию о границах payload-а и pad-а не
вариант -- иначе размер никак не скрывается. Очевидное решение, которое
в рассылку и вбросили: добавлять в каждый блок шифротекста (тот самый
128KiB блок) метаинформацию. Просто, но больно уж расточительно как-то,
ибо только ровно в одном блоке нужна информация о том, что в нём
заканчивается полезная нагрузка, а дальше начинается pad, такого то
размера.

Решил использовать трюк из CMAC-а, когда используются два разных ключа
шифрования для "сигнализации" о типе пакета. "Формат" очень простой: вся
полезная нагрузка шифруется на одном ключе, а когда мы понимаем всю её
окончательную длину, то создаём особый блок, в начале которого находится
XDR пакет с информацией о полной длине полезной нагрузки и длине
дополнения (чисто технически это просто два 64-бит big-endian uint-а).
Чтобы сигнализировать о том, что в блоке в начале находится этот XDR
пакет, используется другой ключ шифрования. После этого XDR пакета
продолжает идти остаток полезной нагрузки (если необходимо), после
которого опциональный pad, до конца блока заполняемый нулевыми байтами.

Если размер pad-а выходит за границы текущего блока, то он просто
генерируется на лету из BLAKE3 XOF-а, без всякого AEAD-шифрования.
Небольшое усложнение, но сильно повышающее производительность. Зная
полный размер payload-а и pad-а мы чётко понимаем сколько и чего
осталось прочитать. Явной криптографический аутентификации pad-а не
происходит, ибо мы детерминированно его можем сгенерировать на приёмной
стороне и просто побайтно сравнивать с тем что пришло. Для
злоумышленника же, без знания ключа, всё это неотличимо от шифротекста и
случайных данных.

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

Дифференциацию по ключу шифрования делаю впервые (самостоятельно, CMAC
не в счёт). И проверку дополнения просто через побайтное сравнение тоже
впервые.

3 years agomkdir как mutex
Sergey Matveev [Sun, 7 Nov 2021 13:47:27 +0000 (16:47 +0300)]
mkdir как mutex

https://wiki.bash-hackers.org/howto/mutex
mkdir можно использовать как mutex, за неимением специализированных
lock-ов в shell-е.

3 years agoПрочитал "Необыкновенное приключение некоего Ганса Пфааля" Эдгара Алана По
Sergey Matveev [Sun, 7 Nov 2021 06:53:10 +0000 (09:53 +0300)]
Прочитал "Необыкновенное приключение некоего Ганса Пфааля" Эдгара Алана По

https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%BE%D0%B1%D1%8B%D0%BA%D0%BD%D0%BE%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B5%D0%BA%D0%BE%D0%B5%D0%B3%D0%BE_%D0%93%D0%B0%D0%BD%D1%81%D0%B0_%D0%9F%D1%84%D0%B0%D0%B0%D0%BB%D1%8F
Забавно читать про то, что шар способен подняться до Луны и что там есть
чем дышать, что животные просто могут привыкнуть к менее плотному воздуху.
А ещё всякие математические выкладки подкрепляющие многие из сказанного в
книге. Мне кажется я уже с полдюжины книг прочитал про полёты на Луну не
на ракетах и космических кораблях.

3 years agoЗаценил "Swagger & Stroll Down The Rabbit Hole" Diablo Swing Orchestra
Sergey Matveev [Sat, 6 Nov 2021 20:01:36 +0000 (23:01 +0300)]
Заценил "Swagger & Stroll Down The Rabbit Hole" Diablo Swing Orchestra

Некоторые композиции из которого уже были знакомы из видеоклипов
(e3cb6b08f36c898e4ac1cbbff067ffba27518787). В целом понравился альбом,
без сомнений. Есть и нудятина, но есть и клёвые трэки, типа попсовой
"Out Came The Hummingbirds".

Но, одно огромнейшее большущее но! Какого чёрта они обрезали на нём
частоты!? Это прям сразу же бросается в уши! В
https://rutracker.org/forum/viewtopic.php?t=6130900 пишут что это они
осознанно намеренно сделали, мол такая вот фишка. Опасно, опасно.
Прошлый альбом был сильно скомпрессирован. Тут динамический диапазон
вроде не особо страдает, но частоты до самого конца бросаются
обрезанные. Ну вот зачем, ведь было бы однозначно куда лучше. А то так
можно и сделать что-то типа "Death Magnetic" Металлики -- его буквально
невозможно слушать, поэтому и не слушается вовсе, никогда.

Но альбом точно нравится, ибо почти сразу же поставил его крутится
повторно!

3 years agoЕсть и кому нравлюсь
Sergey Matveev [Sat, 6 Nov 2021 19:40:50 +0000 (22:40 +0300)]
Есть и кому нравлюсь

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

3 years agoПосмотрел "Агнца"
Sergey Matveev [Sat, 6 Nov 2021 17:30:15 +0000 (20:30 +0300)]
Посмотрел "Агнца"

https://ru.wikipedia.org/wiki/%D0%90%D0%B3%D0%BD%D0%B5%D1%86_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC,_2021)
https://lenta.ru/articles/2021/10/28/lamb/
Стрёмная напряжная история, но это куда лучше и интереснее смотреть чем Дюну
(508fdfb05db44271b0ec2b679cbc5f34948d567c). Понравилось! Круто с эмоциями
пса сделали -- его тревогу здорово передают.

3 years agoTheatre Of Tragedy -- Last Curtain Call
Sergey Matveev [Sat, 6 Nov 2021 14:03:26 +0000 (17:03 +0300)]
Theatre Of Tragedy -- Last Curtain Call

https://www.youtube.com/watch?v=nUDiv4DYg-Q
Мужской вокал прям очень крут на самом концерте. На альбомах чаще суше.

3 years agoRegexp в lists/subscribe командах Mutt-а. Mail-Followup-To
Sergey Matveev [Sat, 6 Nov 2021 12:21:59 +0000 (15:21 +0300)]
Regexp в lists/subscribe командах Mutt-а. Mail-Followup-To

https://cr.yp.to/proto/replyto.html
Только сейчас увидел, что в командах управления почтовыми рассылками
поддерживаются регулярные выражения. А я всё эти годы каждый адрес под
отдельной записью помещал. Теперь можно куда компактнее, например:
    subscribe (dev|hackers|news|wiki)@suckless.org

К сожалению, не многие MUA предоставляют функции для рассылок, из-за
чего вести переписку с такими людьми не шибко удобно. Кроме таких команд
для ответа как "reply to sender" (и тоже под вопросом: отправлять ли
envelope sender-у или тому, кто прописан в From:), "group reply", должна
быть "reply to list". Чтобы вообще MUA понимал что мы имеем дело с
рассылкой, то нужно Mutt-у это явно сказать lists командой.

Но человек может и не быть подписан на рассылку. Чтобы письмо до него
дошло, то нужно отправить на два адреса: ему и в рассылку. Если он
подписан, то получит два письма, что жутко бесит. Если отправить только
в рассылку, то, будучи не подписанным, не получит.

DJB давным давно предложил Mail-Followup-To заголовок, который
поддерживается всеми уважающими MUA. В нём, как раз, автор письма и
указывает куда нужно посылать ответ, намекая на то, подписан ли он на
рассылку или нет. Если подписан, то MFT будет содержать адрес рассылки.
Если нет, то ещё и адрес самого автора. MFT можно использовать и для
того, чтобы "вывести" обсуждение куда-то во вне.

В Mutt, в дополнении к lists, есть subscribe команда, указывающая что я
подписан на такую-то почтовую рассылку, благодаря чему, Mutt автоматом
корректно может заполнять MFT, указывая там только адрес рассылки. В 95%
случаев, lists и subscribe у меня симметрично существуют.

Но даже с поддержкой MFT в MUA, тьма людей всё равно не пользуются
"reply to list" функцией, нажимая (видимо) "group reply".

3 years agoGorgoroth в Кракове
Sergey Matveev [Sat, 6 Nov 2021 11:35:23 +0000 (14:35 +0300)]
Gorgoroth в Кракове

https://en.wikipedia.org/wiki/Gorgoroth#Controversy_in_Krak%C3%B3w_(2004)
https://en.wikipedia.org/wiki/Black_Mass_Krakow_2004
Распятые голые люди на сцене, 80 литров овечьей крови, куча голов этих
овц, колючая проволока и всё в таком духе. Ну и конечно же в Польше, где
и Behemoth творят свои концерты.

3 years agoC99 совместимость FreeBSD (libc+libm)
Sergey Matveev [Sat, 6 Nov 2021 10:34:46 +0000 (13:34 +0300)]
C99 совместимость FreeBSD (libc+libm)

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216862
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89125
В тикете упоминается C11, но в рассылке напоминают что оно касается и
C99 тоже. Отсутствуют некоторые математические функции. Лично мне бы они,
конечно, вряд ли когда понадобились, но формально всё же C99 FreeBSD не
удовлетворяла.

3 years agoИгра Ворона
Sergey Matveev [Sat, 6 Nov 2021 09:55:06 +0000 (12:55 +0300)]
Игра Ворона

https://habr.com/ru/company/first/blog/584842/
К куче статьям на Хабре у меня картинки больше не показываются, но по
названию знаю игру Ворону. Не знаю откуда она у меня в детстве была, но
очень нравилась многожанровостью: и fighting с Емелей и Ягой, и гонки на
печках, и платформер на болоте, и битва в Змеем Горынычем.

3 years agoКипелов в Урганте
Sergey Matveev [Sat, 6 Nov 2021 09:28:22 +0000 (12:28 +0300)]
Кипелов в Урганте

https://darkside.ru/runews/63376/
В целом я нейтрален к Арии и Кипелову, как и ко всему heavy metal. Но
очень уважаю его, симпатизирую, в отличии от какого-нибудь Кинчева или
Шевчука. Голос очень запоминающийся и отличный для такой музыки. В живую
был на нём один раз.

Спросили его в передаче когда он последний раз стригся -- не помнит. У
меня с детского сада всегда были удлинённые волосы на затылке -- он
всегда был ими прикрыт. Ну а с девятого класса уже начал растить
полноценно длинные волосы. С того момента я только один раз их совсем
коротко стриг, когда поступал на службу в ФСБ. Причём обидно то было,
ибо через несколько дней после стрижки мою кандидатуру отвергли: ради
чего я, собственно, стригся то!? Помню что было шокирующе ощущать
хождение воздуха на затылке -- совершенно что-то неведомое.

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

Ещё Кипелов не курит и не пьёт, что меня совершенно не удивляет, ибо
метал! 26 лет он ни грамма не употребляет. Ну а я с 18-ти лет, поняв что
вкус всего этого мне не нравится, поэтому на кой чёрт? И я ни одной
затяжки в жизни не делал -- чему многие не верят, уверены что я вру. Я
только посочувствовать могу слабостям других.

3 years agoПодсветка символов не введённых человеком в Vim
Sergey Matveev [Thu, 4 Nov 2021 14:19:04 +0000 (17:19 +0300)]
Подсветка символов не введённых человеком в Vim

http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=8da7dcc75cef78fea57a4e1a491fb16a3559594e
https://research.swtch.com/trojan
На фоне Trojan Source (4a2dea3a1d35eaa2149a26ec274df899e877930d),
посмотрел как в Vim-е то отображается "плохой" код. Некоторые проблемы в
нём не всплывают, но гомоглифные символы конечно отображаются и их фиг
заметишь. Сделал подсветку всех символов которые не ASCII печатные, не
кириллические и немецкие. Хотя это всё равно не решает проблему, ибо в
Trojan Source коде как-раз английская "H" заменена на кириллическую "Н"
и подсветка тут не поможет.

Согласен с Russ Cox о том, что чинить это надо в линтерах и редакторах.

3 years agoPurism с OpenPGP смарт-картой
Sergey Matveev [Thu, 4 Nov 2021 08:46:52 +0000 (11:46 +0300)]
Purism с OpenPGP смарт-картой

https://puri.sm/posts/openpgp-in-your-pocket/
https://puri.sm/posts/your-own-personal-enclave-the-smart-card-reader-on-the-librem-5/
В Librem смартфонах оказывается есть за батарейкой слот с smart-card
reader-ом. Куда народ, судя по рассылке GnuPG, успешно устанавливал
OpenPGP карты и через штатный gpg с ними работал.

3 years agoUbuntu vs Windows
Sergey Matveev [Thu, 4 Nov 2021 08:06:31 +0000 (11:06 +0300)]
Ubuntu vs Windows

Несколько дней назад коллега показала что в современном Windows нельзя
по человечески найти где настраиваются клавиши переключения языка. Я
сидел с ней и видел всё это воочию. Только с Google-ом подсказали что
надо перейти куда-то типа "расширенные настройки", "дополнительные
настройки", "остальные настройки" и только в самом конце покажут
окошечко как в Windows 95 с этими настройками. Ну поржал и ладно.

Да вот только когда я вчера запустил Ubuntu
(92fb4a21efaf565c5f62ac2dd89239f9cfcbe974), то... я тоже не смог там в
менюшках найти настройки переключения языка! И я попробовал все мне
известные сочетания (ну там alt-shift и подобные) и ничего не
срабатывало. Позже коллега спросил про windows+space, который я не
пробовал.

А ещё эта Ubuntu на далеко не самом дохлом железе запускалась минут пять
с LiveCD флешки. А я всё поражался тормозам Windows.

3 years agoПопробовал Sylk VoIP
Sergey Matveev [Thu, 4 Nov 2021 07:59:40 +0000 (10:59 +0300)]
Попробовал Sylk VoIP

Так как у меня нет этих новомодных броузеров с WebRTC и прочей дрянью,
то просто взял ноутбук на котором запустил Ubuntu LiveCD -- уж такое то
наверняка должно точно заработать?

Подключиться оно подключилось к серверу, я слышу собеседников, но вот
меня не слышат. Покрутил настройками, но так и не заработал микрофон.
Забили и подключились все к Mumble -- который just works. В Sylk ЖУТКИЕ
дёргания, потрескивания и лаги были -- 50Mbps канал связи, ничего на
ноутбуке не было больше запущено кроме броузера с единственной вкладкой,
но слушать такое в течении пары минут было мучением.

А ещё, когда меня спросили про права доступа к Web-камере и микрофонам,
то предложения "я не хочу отдавать камеру" не было вовсе.

3 years agoБесит последнее время
Sergey Matveev [Thu, 4 Nov 2021 07:32:53 +0000 (10:32 +0300)]
Бесит последнее время

Когда смотрел HL:Alyx (8417effeb75c43d980e0a58867a88b75afb9fc5c), то не
один десяток раз проскакивала мысль что когда за рацией в безопасном
месте сидит мужик, а баба тут бегает со всеми этими пистолетами и
разбирается с полчищами монстров, то что-то тут точно не так. Диссонанс.

Кроме того я ещё другие игрушки посмотрел: ну чтобы просто понимать как
они современные выглядят. Берёшь старые всякие типа Far Cry, а потом их
новые версии (и Far Cry и Quake 4) -- обязательно будет чёрная рожа,
обязательно среди главнокомандующих.

За завтраком включил какой-то Call Of Duty современный и... опять
персонажем является баба, которая режет глотки нацистам. Блин, меня прям
жутко бесит её постоянное тяжёлое испуганное дыхание, возгласы и прочее.
Как плач детей. Я обожаю женский голос, но не когда он напряжён и
агрессивен. В CoD этом ещё показывают солдат в советской форме, но...
при этом у одного опять чёрная рожа.

И после этого я всё это выключаю: не могу смотреть всю эту чушь с бабами.

Хотел тут было поместить ссылку на одну статью на Хабре, где
рассказывалось про HDR изображение и рассказы о стандартах, где
упоминается что Apple (в очередной раз) нагло и бессовестно врёт о
технологиях (заявляется что у них Dolby Vision, а по факту жалкое
поделие). Но вот только одно остановило почему я даже ссылкой не хочу
поддерживать статью, а точнее автора: в начале статьи он представляется
как что-то типа "вы читаете умную статью, с вами умный чел". Ну не
офигенно ли самомнение автора о себе? Это решать не ему насколько он
умён. У меня толика сомнений тут есть, ибо что в статье нисколько не
отмечено что HDR это про яркость, а цветовой охват (WCG) вообще-то может
быть совершенно независимая штука, связанная с цветностью. И разница тут
ощутима в том, что для передачи цвета нужно просто указывать координаты
цвета в пространстве, линейные, так сказать, координаты, а HDR это
нелинейные функции вычисления яркости.

В этот же день натыкаюсь на статью о WireGuard, которая заканчивается
чем-то типа "детально рассмотрели WG" -- блин, протокол вообще ни на
йоту не был рассмотрен в принципе. Лень проверять, но вроде в начале
статьи упоминался Yggdrasil и нигде не было заметки о том, что WG/IPsec
и подобные работают поверх отдельных пакетов (ESP/UDP), а Yggdrasil по
TCP, что колоссальнейшая по важности особенность. Не офигенно ли
самомнение автора насколько он детально рассмотрел WG? Это решать
читателям/слушателям.

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

Когда представляются продавцы магазинов, то меня это бесит, ибо я
понимаю что это исключительно психологический такой трюк: для тебя это
не sales-manager-unit, а уже "Вася" или "Катя" и ты благосклоннее
относишься к нему и к его словам, что-то типа симпатизируешь. Но у
продавцов работа такая -- и они просто её стараются выполнять, хоть и не
совсем честным методом. Но при написании статьи тоже что ли какой-то
такой эффект симпатии ожидается? Или когда спрашивают "как вас зовут?"
даже по телефону -- в 90% случаев это "не твоё дело, не пытайся
подлизываться и панибратствовать, просто делай своё дело".

3 years agoПосмотрел прохождение Half-Life: Alyx
Sergey Matveev [Tue, 2 Nov 2021 18:56:56 +0000 (21:56 +0300)]
Посмотрел прохождение Half-Life: Alyx

https://en.wikipedia.org/wiki/Half-Life:_Alyx
Видео паршиво передаёт весь FOV изображения, но оно и не удивительно.
Поразило насколько сильно используются руки в игре. Должно быть это всё
настолько новые ощущения как Doom когда-то был на фоне простых аркад. Но
я ни разу в жизни даже простые VR-очки не надевал, которые уже в 90-х
существовали. Конец игры выглядит особенно интересным в плане игры. А
вот сюжет, особенно в этом конце, уже бесит всеми этими пиндосскими
трюками как в их современных фильмах.

3 years agoОпрос про формат конфигов на LOR
Sergey Matveev [Tue, 2 Nov 2021 17:28:02 +0000 (20:28 +0300)]
Опрос про формат конфигов на LOR

https://www.linux.org.ru/polls/polls/16590379/page1?lastmod=1635871019967#comment-16620519
И хороший комментарий против TOML. Яро ненавижу этот уродский формат,
хотя ведь даже переводил на него то ли GoVPN, то ли NNCP, но ни в один
релиз это не вошло, ибо я собственные конфиги не смог вменяемо на нём
описать.

3 years agompv снова поддерживает OSS4?
Sergey Matveev [Tue, 2 Nov 2021 09:46:12 +0000 (12:46 +0300)]
mpv снова поддерживает OSS4?

https://www.opennet.ru/opennews/art.shtml?num=56085
Пишут что OSS4 всё же вернули. А ведь выпиливали, поэтому сижу на старой
версии (обновляя только FFmpeg).
54725f0526b477bbfc2671ac5974558198e39315 ed22279730f95d93e57f140807f664ba2bbbaa92

3 years agoЛазейки в исходном коде через Unicode
Sergey Matveev [Tue, 2 Nov 2021 09:36:39 +0000 (12:36 +0300)]
Лазейки в исходном коде через Unicode

https://www.opennet.ru/opennews/art.shtml?num=56083
https://www.schneier.com/blog/archives/2021/11/hiding-vulnerabilities-in-source-code.html
https://krebsonsecurity.com/2021/11/trojan-source-bug-threatens-the-security-of-all-code/
А вот это клёвая атака. Использовать всякие фишки Unicode чтобы скрывать
настоящий код от разработчика, добавляя лазейки в коде.

3 years agoХостинг собственных Go пакетов, ужесточение go команд
Sergey Matveev [Mon, 1 Nov 2021 08:22:38 +0000 (11:22 +0300)]
Хостинг собственных Go пакетов, ужесточение go команд

Я уже не первый код использую go.cypherpunks.ru и go.stargrave.org для
собственных библиотек. И у некоторых есть версии выше первой, что
означает присутствие /v2 namespace-а, как минимум. Недавно обнаружил что
не могу установить из него ничего. Про себя я думал что Go понимает /vX
особенности и будет искать go.whatever.net/mod, отрезая /vX, а дальше
находя нужные данные по тэгам. Хотя понимаю что по хорошему не должен,
ибо это разные namespace-ы, буквально разные пакеты.

Но вот я прежде ни разу не проверял что ли работоспособность этого? Если
нет, то конечно знатно облажался. Или с новыми версиями Go поведение
изменилось? Лень уж проверять.

Содержимое go.* сайтов у меня -- просто статический сайт. Раз появляется
/vX, то mod становится уже библиотекой, но мне надо отдавать HTML
страничку на её месте. Вспомнил что все Web-серверы, как и мой godlighty
из коробки позволяют задавать имя index-страницы, так что я просто отдаю
содержимое "v1" файла из директории модуля.

А ещё сегодня обнаружил что некоторые проекты, прежде собираемые,
перестали из-за придирок к vendor/modules.txt. Это проекты с хитрыми
подсунутыми зависимостями, но пришлось повозиться и впервые вообще
разобраться хоть сколько то в modules.txt (прежде он просто удалялся).

3 years agoДельта-штамм и третья прививка
Sergey Matveev [Sat, 30 Oct 2021 11:13:11 +0000 (14:13 +0300)]
Дельта-штамм и третья прививка

https://naked-science.ru/article/medicine/effektivnost-revaktsinatsii
А я как-раз сегодня сделал третью прививку, ибо после прошлой уже
полгода прошло.

3 years agoПикник на обочине
Sergey Matveev [Fri, 29 Oct 2021 19:56:50 +0000 (22:56 +0300)]
Пикник на обочине

https://ru.wikipedia.org/wiki/%D0%9F%D0%B8%D0%BA%D0%BD%D0%B8%D0%BA_%D0%BD%D0%B0_%D0%BE%D0%B1%D0%BE%D1%87%D0%B8%D0%BD%D0%B5
С одним голландцем мы довольно много обсуждаем литературы всякой и я ему
посоветовал (точнее он узнал с каких-то форумов о братьев Стругацких,
спросил моего мнения) сабжевую книгу. Он отписался что потрясающая,
очень благодарен за совет.

И я тут перечитал её, освежил память. У Стругацких читал и другие книги,
но, например, "Трудно быть богом" совершенно не зашла, прям не понравилась.
"Понедельник начинается..." вроде бы хорош конечно, но книги Пратчетта
мне куда ближе. Но вот "Пикник..." для меня шедевр!

3 years agocanmount=noauto
Sergey Matveev [Fri, 29 Oct 2021 10:38:26 +0000 (13:38 +0300)]
canmount=noauto

Впервые использовал zfs set canmount=noauto: с этой настройкой
монтирование (даже zfs mount -a) делается только если явно этому
dataset-у дать команду. А то есть у меня такой, в котором много
файлов которые бы я не хотел чтобы из раза в раз попадали в find.

3 years agoBeyerdynamic DT990
Sergey Matveev [Fri, 29 Oct 2021 08:07:54 +0000 (11:07 +0300)]
Beyerdynamic DT990

https://beyerdynamic.ru/product/beyerdynamic-dt-990-600-ohm-nakladnye-naushniki
В прошлом посте упомянул про Байеры. Я по сути с DT990 моделью наушников
не расстаюсь буквально с лета после 9-го класса школы. Если надо будет
купить новые, то вообще ни на йоту не раздумывая снова взял бы их, как
это уже делал, ведь они же изнашиваются и "проседают" со временем.
Открытые -- без этого лучшего звука не добиться. Очень лёгкие, можно
целый день просидеть в них и никакого дискомфорта для головы -- критично
важная характеристика, которой не много кто удовлетворяет. 5Hz-35kHz:
действительно и басы и высокие они умеют воспроизводить, причём в
разумных масштабах -- многие то, особенно дешёвые наушники, стараются
басы в стократ сильнее дубасить, ведь "пацаны" то по другому и не
поймут. Из хороших наушников я ещё слышал DT880
(95f2579825fb1e43ac4ff776a5b912b6c6f532b3), но не моё. Ещё Sennheiser
HD650 -- отличная штука, но точно помню что они были потяжелее.

Была у меня изначально 250Ом модель, а сейчас 600Ом. Думал что разницы
не замечу, а брал просто потому что в магазине были или 32Ом (просто
несерьёзно) или 600. Но разница есть, действительно. И для каждой
приходилось покупать новые ЦАП-ы/усилители. Работать то оно всё будет
хоть и из jack-а сотового телефона, только очень тихо -- слушать музыку
не получится. Для 600Ом я не скупился и приобрёл родной Beyerdynamic A1
усилитель. Но и Asus Essence One MkII ЦАП "поддерживает" 600Ом, просто
немного не такой красоты звук как в A1 -- поэтому подключаю вывод
Essence к A1.

В магазине сказали что DT990 600Ом (именно они) с A1 родным усилителем в
общем-то настолько же круты по звучанию как Beyerdynamic T1, которые
значительно дороже чем суммарно DT990+A1. Не сравнивал, но пускай, приятно.

Ещё я помню факт, что всякие азиатские наушники имеют другие "лекала" по
которым делают геометрию: у азиатов и европейцев головы/уши в среднем
отличаются, имеют другую форму -- поэтому это ещё одна причина смотреть
в сторону немцев Beyerdynamic или Sennheiser.

3 years agoНовый альбом Dream Theater
Sergey Matveev [Fri, 29 Oct 2021 07:05:31 +0000 (10:05 +0300)]
Новый альбом Dream Theater

http://www.hitkiller.com/dream-theater-na-vershine-mira.html
В f5bd13551634107d5f96a4752e7b7a326f159b7b обещали что будет срыв крыши
какой у них хороший альбом. Ну что ж, гитары там запиливаются именно как
я бы и хотел, каким и должен бы был быть Dream Theater! Да и звук прям
отличный, хотя я пока только ознакомился с демо-версией в дерьмовых
наушниках (600Ом-ные Байеры меня ждут!). Хотя занудство на альбоме тоже
есть, но терпимо мало.

3 years agogemini:// в tofuproxy
Sergey Matveev [Thu, 28 Oct 2021 08:44:35 +0000 (11:44 +0300)]
gemini:// в tofuproxy

http://www.git.stargrave.org/?p=tofuproxy.git;a=commitdiff;h=6eee3c6c83cc535855e254426a90f7a2abba04ce
Сколь бы мне не нравился Gemini, но раз у меня уже есть TOFU TLS
терминатор в tofuproxy, то почему бы не добавить поддержку этого
протокола? Теперь, если вместо gemini://gemini.circumlunar.space/docs/
зайти (через tofuproxy) на https://gemini/gemini.circumlunar.space/, то
gemfile будет переконвертирован в HTML-ку, с заменой ссылок на
https://gemini/.... Если есть "Accept: text/gemini", то этого
преобразования не делается.

3 years agoNoYAML
Sergey Matveev [Thu, 28 Oct 2021 07:36:31 +0000 (10:36 +0300)]
NoYAML

https://noyaml.com/
Хороший сайт агрегирующий природу YAML-а. Я участвовал в проектах где
YAML-а было много, даже в GoVPN я его впиливал, где он занимал больше
места чем весь остальной код вместе взятый. Хоть годами я с ним дело и
имел, но так и не научился читать его словари со списками и бегло
понимать что вообще передо мной (какая структура).

3 years agoНовые видеоклипы Diablo Swing Orchestra
Sergey Matveev [Wed, 27 Oct 2021 21:21:54 +0000 (00:21 +0300)]
Новые видеоклипы Diablo Swing Orchestra

https://www.darkside.ru/news/136345/
Ух и не знаю понравилось ли или нет. Помнится что и Jigsaw Hustle мне
изначально вообще никак не зашёл, а потом очень даже понравился. "Speed
Dating an Arsonist" вообще мною бы был неотличим от композиций
какого-нибудь Tape Five (те самые, которые на свадьбе Пескова играли),
но "War Painted Valentine" уже поинтереснее, однозначно нравится.

3 years agoПрочитал кучу рассказов Стивена Кинга
Sergey Matveev [Tue, 26 Oct 2021 18:53:05 +0000 (21:53 +0300)]
Прочитал кучу рассказов Стивена Кинга

https://ru.wikipedia.org/wiki/%D0%A0%D0%B8%D1%82%D0%B0_%D0%A5%D0%B5%D0%B9%D1%83%D0%BE%D1%80%D1%82_%D0%B8_%D1%81%D0%BF%D0%B0%D1%81%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B7_%D0%A8%D0%BE%D1%83%D1%88%D0%B5%D0%BD%D0%BA%D0%B0
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%BF%D0%BE%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%C2%AB%D0%91%D1%80%D0%BE%D1%81%D0%B0%D0%B9%D1%82%D0%B5_%D0%BA%D1%83%D1%80%D0%B8%D1%82%D1%8C%C2%BB
в том числе и ту, по которой сняли "Побег из Шоушенка". Хорошо пишет
Кинг! И реально здорово у него выходит всякие жутики и страшилки, как
про каннибализм или про то, как людей заставляют бросать курить.
Отсутствующий мизинец, заканчивающий эту книгу, круто придуман.

3 years agoDrum cover на Deathspell Omega "Paracletus"
Sergey Matveev [Tue, 26 Oct 2021 14:57:37 +0000 (17:57 +0300)]
Drum cover на Deathspell Omega "Paracletus"

https://www.youtube.com/watch?v=NOZ7ILTSdLM
Чувак больше сорока минут отдалбывает их альбом. И здорово выходит!

3 years agoСегодня впервые попечатал на настоящей пишущей машинке
Sergey Matveev [Mon, 25 Oct 2021 14:45:23 +0000 (17:45 +0300)]
Сегодня впервые попечатал на настоящей пишущей машинке

В Geekboards (c1bf76c29d0d736ef453ce503e3fe18c95a7d909) на столе рядом с
кассой стоит настоящая пишущая механическая машинка. Никогда прежде их
не трогал. Через пять секунд у меня залипли три клавиши: тут то я понял
почему придумали QWERTY и почему там надо, как в фильмах, нажимать по
одной кнопке, грубо говоря. Огромный ход клавиши, значительно большая
сила нажатия требуется. Но здорово, в любом случае лучше чем от руки.

3 years agoWhatsApp с миллиардом пользователей обслуживается 50 инженерами
Sergey Matveev [Mon, 25 Oct 2021 14:28:40 +0000 (17:28 +0300)]
WhatsApp с миллиардом пользователей обслуживается 50 инженерами

https://www.quastor.org/p/how-whatsapp-scaled-to-1-billion
https://www.youtube.com/watch?v=TneLO5TdW_M
Ну так мало достаточно потому что FreeBSD и Erlang, всё очевидно.
Прежде не видел выступления с конкретными настройками FreeBSD на их
серверах. Видел подобное для Netflix интереснейшее.

3 years agoGeekboards и номер телефона при покупке
Sergey Matveev [Mon, 25 Oct 2021 14:20:04 +0000 (17:20 +0300)]
Geekboards и номер телефона при покупке

Сегодня явно начала отказывать Filco клава на работе, точно так же как и
дома: 5a7acbc92c04ac87aef13d5c07c6388ae8c2fa88. Поехал в Geekboards за
новой очередной Das Keyboard 4 Ultimate, ибо всем нравится. При покупке
спросили номер телефона. Говорю что личного нет. "Тогда мы вам не сможем
оформить заказ". Предлагаю email, сунул визитку с ним. Всё оформили, всё
прокатило в их системе. А чем дальше, видимо, тем больше будут упорно
требовать везде этот телефон.

3 years agoКартина с друзьями
Sergey Matveev [Sun, 24 Oct 2021 15:35:13 +0000 (18:35 +0300)]
Картина с друзьями

http://www.stargrave.org/photoes/paint.preview.webp
http://www.stargrave.org/photoes/paint.jxl
Подарили картину с компанией друзей, со всякими отсылками.

3 years agoПрочитал "Странные капитаны" Виктора Конецкого
Sergey Matveev [Fri, 22 Oct 2021 21:54:15 +0000 (00:54 +0300)]
Прочитал "Странные капитаны" Виктора Конецкого

Сборник очень забавных рассказов про капитанов морских судов.

3 years agoИнтересные факты про доменные имена
Sergey Matveev [Fri, 22 Oct 2021 08:07:04 +0000 (11:07 +0300)]
Интересные факты про доменные имена

https://www.netmeister.org/blog/tlds.html

3 years agoРаскол в Gemini обществе
Sergey Matveev [Thu, 21 Oct 2021 08:52:22 +0000 (11:52 +0300)]
Раскол в Gemini обществе

https://lists.orbitalfox.eu/archives/gemini/2021/007326.html
Народ посрался обсуждая дальнейшее развитие и фичи протокола на том, что
они начали использовать Gitlab для этого. И я понимаю эти "fuck you", ибо
у меня даже Firefox (последняя версия которая не требует Rust) не способ
просто отобразить текст задач или файлов в этом Gitlab-е. На Github всё
коряво и поехавше, но хотя бы текст можно всё же читать.

Впрочем там идут обсуждения фрагментированной передачи данных. Мне и так
не нравился Gemini подход/протокол, так теперь ещё больше не будет.

3 years agoКак посчитать номер колонки текста
Sergey Matveev [Thu, 21 Oct 2021 08:39:38 +0000 (11:39 +0300)]
Как посчитать номер колонки текста

https://www.foonathan.net/2021/02/column/
Приятно, что я про себя знаю подвохи и понимаю как правильно надо
считать колонки текста. Надо считать графемные кластеры, хотя это
и не позволит корректно подчёркивать текст на экране. Очень всё
не тривиально.

3 years agoНеобычные алгоритмы сортировки
Sergey Matveev [Wed, 20 Oct 2021 20:32:17 +0000 (23:32 +0300)]
Необычные алгоритмы сортировки

https://codingkaiser.blog/2021/10/20/most-bizzare-sorting-algorithms-you-will-ever-see/
Понравился конечно: while not is_sorted(list): shuffle(list)

3 years agozsh vs bash, снова
Sergey Matveev [Wed, 20 Oct 2021 07:18:40 +0000 (10:18 +0300)]
zsh vs bash, снова

https://www.arp242.net/why-zsh.html
https://tiswww.case.edu/php/chet/bash/POSIX
Хорошие примеры убогости bash-а. Несколько лет назад я всё ещё продолжал
говорить что меня не волнуют более удобные возможности программирования
на zsh, ибо всё равно скрипты писал и буду писать на POSIX shell.
Поэтому программирование (скрипты) и интерактивное удобство могут
разительно отличаться (как tcsh по умолчанию в FreeBSD, вообще не POSIX
или Bourne совместимый даже отдалённо). Но когда я прочувствовал
насколько же удобнее работать с переменными где не нужно париться о
корректном экранировании переменных, то я уже не мало своих скриптов
переписал на pure zsh, в котором и вызовов внешних команд стало сильно
меньше.

Читая эту статью я и не подозревал насколько же bash мало всего умеет!
Выходит, я совершенно его не знал. Ад с quoteing-ом как был, так и
остался в нём, ничуть не делая ситуацию лучше относительно POSIX shell.
Никаких модификаторов переменных в нём нет. Игнорирование чего-либо в
glob-е оказывается есть, но явно не шибко удобно написанное -- я поэтому
никогда и не встречал чтобы кто-либо писал "!(*_test|f*).go" в bash.
Подстановки параметров тоже нет. Да почти всё (кроме работы с float-ами)
я ежедневно использую в zsh, а в bash оказывается ничего из этого нет!
Оказывается некоторые фичи присутствовали в csh или ksh ещё со времён их
рождения.

Автор верно замечает что нет ни одной причины почему bash до сих пор
используется, кроме того факта, что изначально это всё было в GNU ОС и
он там был по умолчанию. Come on, уже давно многие люди не используют ни
GNU, ни нет проблем со свободными лицензиями всяких zsh. Плюс у zsh
только curses и libc из зависимостей и он реально маленький и
компактный, относительно остальных интерпретаторов. И верно замечено что
в zsh можно писать более портируемый код, ибо меньше сторонних
инструментов будет использовано: тот же grep/sed попробуй написать чтобы
он работал в разных реализациях. Помню что единственный способ
использовать портируемо stat команду это... не использовать её, а
вызывать perl. Но вот в zsh есть свой zstat модуль, который бы мог быть
отличной альтернативой.

3 years agoЕщё одна симпатичная вокалистка с death growl-ом из Infected Pain
Sergey Matveev [Wed, 20 Oct 2021 07:05:10 +0000 (10:05 +0300)]
Ещё одна симпатичная вокалистка с death growl-ом из Infected Pain

http://www.hitkiller.com/zharkaya-moldavanka-zazhigatelnyj-trek-budushhego-alboma-infected-rain-postmortem-pt-1.html
Прежде я мог бы вспомнить только Alissa White-Gluz из Arch Enemy. Но
ничего особого для меня её вокал не представлял, а у этой молдованки
хотя бы чуть больше разнообразия в виде чистого пения. Да и музыка Arch
Enemy с приходом к ним девок совершенно стала безинтересна: только
первые три альбома мне серьёзно нравились, регулярно ставлю.

3 years agoДетоубийство в goredo
Sergey Matveev [Tue, 19 Oct 2021 13:58:51 +0000 (16:58 +0300)]
Детоубийство в goredo

В новом релизе goredo добавил убийство порождённых детей, если основной
процесс грохнули. Оказывается есть вполне себе штатное слово
"детоубийство" и его английский перевод "infanticide".

3 years agoУлучшения WARC-а в tofuproxy
Sergey Matveev [Tue, 19 Oct 2021 11:54:56 +0000 (14:54 +0300)]
Улучшения WARC-а в tofuproxy

https://iipc.github.io/warc-specifications/specifications/warc-zstd/
Прежде сжатые WARC-и в tofuproxy поддерживались, но никакого
оптимального индексирования и перемещения по ним (по сегментам gzip или
frame-ам zstd) не было. Теперь во время парсинга WARC-а все эти смещения
учитываются и кладутся в индекс.

С gzip-ом проблем не возникало, а вот с Zstandard все Go-шные библиотеки
меня не устраивают: никто не предоставляет возможности остановится после
чтения frame-а (кто-то предоставлял, но не работал по факту, падал).
Залез в исходный код, но узнать при этом точное смещение начало/конца
кадров как-то геморройно. В итоге написал на Си утилиту: zstd идёт в
stdin, декомпрессия в stdout, в 3-ий файловый дескриптор TSV таблица
смещений кадров и декомпрессированных данных.

Взялся писать zstd компрессор который бы делал multi-frame компрессию
WARC-ов, как это описано в черновике .warc.zst "стандарта", но он упорно
не хотел заполнять размер кадров корректно (это опциональное поле), чего
требовал стандарт. В итоге написал другую Си утилиту для этого, в
которой без проблем всё формирую.

.warc.zst оказывается вовсю уже делаются не первый год в Internet
Archive. Более того, они делают сжатие с встроенным словарём, который
тоже у меня поддерживается. Например:
https://archive.org/details/archiveteam_yahooanswers_20210422220546_c4fac540

3 years agoПрочитал "Активную сторону бесконечности" Карлоса Кастанеды
Sergey Matveev [Tue, 19 Oct 2021 07:39:00 +0000 (10:39 +0300)]
Прочитал "Активную сторону бесконечности" Карлоса Кастанеды

https://nice-books.ru/books/religija-i-duhovnost/jezoterika/162861-karlos-kastaneda-aktivnaya-storona-beskonechnosti.html
А то его фамилию слышал не раз, но совершенно не в курсе что он писал.
Всякие шаманские штучки дрючки и размышления о бытии -- мне не
понравились. Негатива не вызывает, но и интереса нет, скучно. Но
половина книги состоит из жизненных историй, что уже было интересно. Так
что в целом книга то понравилась, ибо сборник любопытных событий. Но
что-то другое у него не возникает желание читать.

3 years agoLSP code action в Vim
Sergey Matveev [Mon, 18 Oct 2021 19:07:08 +0000 (22:07 +0300)]
LSP code action в Vim

Сегодня не раз использовал :LspCodeAction функционал LSP плагина Vim.
Пишешь printf в котором ошибаешься (точнее меняешь тип переменных) с
форматом. sign показывает что на строке что-то неладное и подсказывает
что "fix available". Code action показывает меню с предложением заменить
%-форматирование на что-то другое. Я не помню все эти флаги форматирования
и не приходится смотреть в документацию.

3 years agoЗащита от OOM killer в FreeBSD
Sergey Matveev [Mon, 18 Oct 2021 12:24:51 +0000 (15:24 +0300)]
Защита от OOM killer в FreeBSD

https://klarasystems.com/articles/exploring-swap-on-freebsd/
Есть утилита protect, которая выставит флаги для процесса
предотвращающие его убийство OOM-ом. А в rc.conf можно выставить
${name}_oomprotect для запуска демона с этой настройкой.

3 years agoКомпозитный выход CGA
Sergey Matveev [Sun, 17 Oct 2021 14:37:04 +0000 (17:37 +0300)]
Композитный выход CGA

http://feedproxy.google.com/~r/Old-games-ru-news/~3/Ii5ClqhI9rE/
https://www.youtube.com/watch?v=Hys-wzLcRT8
Вот CGA я вроде бы нигде не застал уже. Изначально (вроде бы) был уже
EGA сразу в 286-ом, ну а позже уже и VGA или сразу SVGA. А у одноклассника
видел MGA (монохромный), на котором я ему смог поднять FidoNet софт.

3 years agoНорвежский лучник убил Andrea "Nebel" Meyer
Sergey Matveev [Sun, 17 Oct 2021 07:57:03 +0000 (10:57 +0300)]
Норвежский лучник убил Andrea "Nebel" Meyer

http://www.hitkiller.com/v-kongsberge-norvezhskim-luchnikom-ubita-andrea-nebel-meyer.html
Мир тесен, никогда не знаешь что окажется среди даже пяти человек.

3 years agoСходил в театр на "Настоящий Zapad"
Sergey Matveev [Sat, 16 Oct 2021 21:10:57 +0000 (00:10 +0300)]
Сходил в театр на "Настоящий Zapad"

https://newteatr.ru/performance/nastojashij-zapad/
https://newteatr.ru/truppa/artists/kalinichev-mikhail
Родителям подарили билет, ну а я за компанию. В целом понравился
спектакль. Впервые вот видел что со сцены в конце раздавали
приготовленные во время представления тосты.

Чаще всего на спектаклях я бывал именно в Новом Драматическом Театре --
всей семье нравится: совершенно не дорого, не далеко, большой репертуар,
а самое главное: маленький зал, в котором, где бы ни находился, всегда
всё будешь видеть хорошо. Ну как с концертами: чем меньше зал, тем лучше.

И я хоть ни капли не разбираюсь в актёрском искусстве, но уже давным
давно понял что самый важный и главный актёр во всём театре это Михаил
Клиничев. Если спектакль с ним, то будет очень круто. Впервые я его
наверное на "12 разгневанных мужчин" увидел -- был очень впечатлён!

3 years agoЛариса Удовиченко -- идеал
Sergey Matveev [Sat, 16 Oct 2021 21:07:12 +0000 (00:07 +0300)]
Лариса Удовиченко -- идеал

https://ru.wikipedia.org/wiki/%D0%A3%D0%B4%D0%BE%D0%B2%D0%B8%D1%87%D0%B5%D0%BD%D0%BA%D0%BE%2C_%D0%9B%D0%B0%D1%80%D0%B8%D1%81%D0%B0_%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%BD%D0%B0
Посмотрел тут в последнее время всякие старые фильмы. И много в которых
снималась Удовиченко. Для меня прям идеал женщины, с точки зрения красоты,
как минимум. И голос и манеры (хотя в фильмах конечно оно разнообразно).
Если Самойлова в "Летят журавли" (3d5048e7f94f04a89cf3a9156d179f83d46ec6c7)
завораживала, то в Удовиченку влюбляюсь.

3 years agoFirefox больше нет в i386 OpenBSD
Sergey Matveev [Fri, 15 Oct 2021 09:25:58 +0000 (12:25 +0300)]
Firefox больше нет в i386 OpenBSD

https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/www/mozilla-firefox/Makefile?rev=1.460&content-type=text/x-cvsweb-markup
Ибо оно требует Rust, а он не может быть собран на этой архитектуре.

3 years agotimeout утилита
Sergey Matveev [Fri, 15 Oct 2021 08:43:34 +0000 (11:43 +0300)]
timeout утилита

https://webzine.puffy.cafe/issue-2.html
Чисто случайно увидел что в OpenBSD появилась простая утилита, которая
грохнет процесс через заданное время. Совсем недавно именно такая мне бы
пригодилась в контексте применения с UCSPI утилитами. Но не догадался
самостоятельно написать.

А минуту назад обнаружил что она из коробки имеется в FreeBSD 10.3. Как
же приятно внезапно обнаружить такие вещи в ОС. В GNU/Linux обычно
регулярно неприятно удивляешься отсутствию то одного, то другого, что
прежде из коробки поставлялось в дистрибутивах.

А ещё недавно услышал про eatmydata утилите, тоже из жанра DJB/Unix-way,
которая на уровне предзагрузки библиотеки (поэтому мне не интересна),
отключает fsync: https://launchpad.net/libeatmydata

3 years agoHate -- Rugia
Sergey Matveev [Fri, 15 Oct 2021 08:13:55 +0000 (11:13 +0300)]
Hate -- Rugia

https://www.darkside.ru/news/135979/
Новый альбом польской клёвой банды. Не знаю что в них такого особого,
вроде бы просто death/black метал, но нравятся. Да и в живую ведь два
раза был на их концерте.

3 years agoПользователи NNCP и goredo
Sergey Matveev [Fri, 15 Oct 2021 08:05:01 +0000 (11:05 +0300)]
Пользователи NNCP и goredo

В последние месяцы поток информации от пользователей NNCP и goredo вырос
и явно все эти люди используют эти утилиты куда активнее и более
разнообразно чем я. И то и то у меня работает, грубо говоря, ежеминутно,
но с унылыми и скучными use-case-ами и не в таком объёме. Круто, что
творения созданные в общем-то для удовлетворения моих нужд кому то и ещё
пригождаются. Например PyDERASN (или всякие PyGOST/GoGOST) -- лично мне
то нафиг не нужны, ибо вне работы с ASN.1 не встречаюсь совсем.

3 years agoПерепрочитал "Думай медленно, решай быстро"
Sergey Matveev [Thu, 14 Oct 2021 10:38:10 +0000 (13:38 +0300)]
Перепрочитал "Думай медленно, решай быстро"

d34f7a527ac495af1f6a0363b18b8f1041240a89 -- хотелось вспомнить и
освежить кучу интересного в памяти из неё. Не много книг я перечитывал,
но эта точно достойна такой участи.

3 years agoНаручные электронные часы Breadboard
Sergey Matveev [Wed, 13 Oct 2021 19:32:27 +0000 (22:32 +0300)]
Наручные электронные часы Breadboard

http://www.e-basteln.de/other/watch/watch/
Вот у меня бинарные часы:
https://www.amazon.co.uk/Kerala-Trance-Watch-KTL102B1-Leather/dp/B000P297PC
и они как какой-нибудь Windows/macOS. А эти Breadboard отражают суть
какого-нибудь suckless проекта: ничего лишнего (фи, аккуратный красивый
корпус?).

3 years agotofuproxy теперь ещё и WARC броузер
Sergey Matveev [Wed, 13 Oct 2021 19:02:09 +0000 (22:02 +0300)]
tofuproxy теперь ещё и WARC броузер

http://www.tofuproxy.stargrave.org/WARCs.html
Ещё одна давняя многолетняя хотелка воплотилась в жизнь! tofuproxy
теперь ещё поддерживает загрузку WARC файлов. Идея и формат WARC-ов мне
нравятся, особенно учитывая что их даже GNU Wget умеет создавать. Но вот
смотреть их -- боль. Потому что почти весь инструментарий написан на
Python (ну ещё на Java, но в её сторону не смотрю, ибо тёмный это для
меня мир) и паршивого качества, который ещё и не поставить
(587711a01f7226bc45fa1a59177e5dccb3f61310).

Раз tofuproxy может выступать в роли и HTTPS сервера/прокси, то и
никаких проблем с ссылками на HTTPS ресурсы. Не нужно париться с
переконвертацией ссылок в документах, чтобы броузер долбился по HTTP и
WARC-capable прокси сервер мог бы нормально отвечать.

Посмотрел на несколько WARC библиотек на Go, пару даже использовал, но в
итоге написал полностью свою реализацию по чтению этих WARC-ов.
Некоторые реализации отмечаю потому что они полностью считывают хотя бы
одну запись в память -- если это WARC coursera.org, то в одной записи
легко может содержаться многосотмегабайтное видео. Не гоже. Некоторые
отмёл просто потому что не нравится как написаны, плохой код, где автор
не всё до конца в Go понимает (создавалось такое впечатление). А
некоторые наоборот слишком монструозны. Ну и главное: не все
поддерживают WARC-и в которых записи разделены на сегменты: часть ответа
может быть в одном WARC, а часть уже в другом. И не во всех можно узнать
хоть какой-нибудь offset по которому можно было бы быстро прыгнуть на
нужную запись в файле.

Вот и родилась собственная реализация. Которая поддерживает и .gz/.zst
сжатые файлы, но без возможности перемещаться по потокам этого gzip-а.
Чтобы достать запись из WARC-а, придётся с самого начала его
декомпрессировать. Поэтому лучше конечно иметь голый .warc, пускай и на
сжатом ZFS dataset-е. Но возможно и добавлю возможность перемещаться
оптимальнее.

Через FIFO файлы можно указывать какие WARC-и надо загрузить. Можно
удалить. Можно зайти на http://warc/ и посмотреть список всех известных
URL-ов загруженных из них. Суть работы тривиальна: просто ищем по URL-у
нет ли такого в WARC-ах и, если нашли, то отдавать ответ из WARC-а.
Вполне себе работает отлично на практике.

Конечно же можно индексы, после парсинга WARC-ов, сохранить на диск,
повторно их уже быстро загружая сразу в память. Думал приделать
поддержку CDX индексов (https://archive.org/web/researcher/cdx_legend.php),
но в них нельзя выразить знание о сегментированных записях. По идее не
проблема, но такой индекс уже не универсален, поэтому я просто сбрасываю
в gob формате.

3 years agoPython система пакетов -- неработающее дерьмо
Sergey Matveev [Wed, 13 Oct 2021 18:35:51 +0000 (21:35 +0300)]
Python система пакетов -- неработающее дерьмо

Вчера хотел установить какую-то утилиту для работы с WARC файлами.
Собранным из исходников Py36, создаю virtualenv, и в нём делаю pip
install. Всё "заканчивается" тем, что процесс установки уходит в
полубесконечный цикл: по несколько десятков раз качаются (в логе
GoCheese вижу) всякие пакеты типа setuptools, wheel, tomli, затем,
видимо что-то падает, понижается минорная версия одного из пакета и
снова процесс многократного скачивания пакета.

Час убил на установку некоторых зависимостей чисто в ручном режиме.
Что-то куда-то скопировать, подправить setup.py/pyproject, но дальше
терпение лопнуло. В Py36+PyPI+самые свежие pip/setuptools просто
*невозможно* установить cdxj-indexer, который на момент "Downloading ...
tldextract-3.1.2.tar.gz" делает вот такое с PyPI репозиторием:

    [...]
    main.go:82: [::1]:10294 get setuptools_scm-6.3.2.tar.gz
    main.go:82: [::1]:44433 get setuptools-58.2.0.tar.gz
    main.go:82: [::1]:34279 get wheel-0.37.0.tar.gz
    main.go:82: [::1]:44433 get wheel-0.37.0.tar.gz
    main.go:82: [::1]:44433 get tomli-1.2.1.tar.gz
    main.go:82: [::1]:16311 get flit_core-3.4.0.tar.gz
    main.go:82: [::1]:16311 get tomli-1.2.1.tar.gz
    main.go:82: [::1]:44433 get tomli-1.2.0.tar.gz
    main.go:82: [::1]:21041 get flit_core-3.4.0.tar.gz
    main.go:82: [::1]:21041 get tomli-1.2.1.tar.gz
    main.go:82: [::1]:44433 get tomli-1.1.0.tar.gz
    main.go:82: [::1]:60575 get flit_core-3.4.0.tar.gz
    main.go:82: [::1]:60575 get tomli-1.2.1.tar.gz
    main.go:82: [::1]:44433 get tomli-1.0.4.tar.gz
    main.go:82: [::1]:48698 get flit_core-3.4.0.tar.gz
    main.go:82: [::1]:48698 get tomli-1.2.1.tar.gz
    main.go:82: [::1]:44433 get tomli-1.0.3.tar.gz
    main.go:82: [::1]:52645 get flit_core-3.4.0.tar.gz
    main.go:82: [::1]:52645 get tomli-1.2.1.tar.gz
    main.go:82: [::1]:44433 get tomli-1.0.2.tar.gz
    main.go:82: [::1]:36476 get flit_core-3.4.0.tar.gz
    main.go:82: [::1]:36476 get tomli-1.2.1.tar.gz
    main.go:82: [::1]:44433 get tomli-1.0.1.tar.gz
    main.go:82: [::1]:32461 get poetry-core-1.0.7.tar.gz
    main.go:82: [::1]:32461 get importlib_metadata-1.7.0.tar.gz
    main.go:82: [::1]:25283 get setuptools-58.2.0.tar.gz
    main.go:82: [::1]:21853 get wheel-0.37.0.tar.gz
    main.go:82: [::1]:25283 get wheel-0.37.0.tar.gz
    main.go:82: [::1]:25283 get setuptools_scm-6.3.2.tar.gz
    main.go:82: [::1]:32461 get poetry-core-1.0.6.tar.gz
    main.go:82: [::1]:32461 get poetry-core-1.0.5.tar.gz
    main.go:82: [::1]:32461 get poetry-core-1.0.4.tar.gz
    main.go:82: [::1]:32461 get poetry-core-1.0.3.tar.gz
    main.go:82: [::1]:32461 get poetry-core-1.0.2.tar.gz
    main.go:82: [::1]:32461 get poetry-core-1.0.1.tar.gz
    main.go:82: [::1]:32461 get poetry-core-1.0.0.tar.gz
    main.go:82: [::1]:44433 get tomli-1.0.0.tar.gz
    [...]

Детали уже забыл, но вроде всё сводилось к тому, что tomli не может
поставить (зависимость) какой-то пакет, который требует этот tomli.
Легко установить tomli тоже по старинке уже нельзя, ибо в нём нет
setup.py. В общем, это кирдык. За последние месяцы, 7 из 10 попыток
что-то установить через pip заканчиваются падениями и невозможностями
продолжить (3f45e46b68805f7ae14bfde0032603dda8b79538).

Хотя год назад всякие WARC-related утилиты ставились точно. Единственное
что у меня точно может влиять из настроек: no-binary = :all:. Уже как-то
был случай что пакет в этом режиме вообще не имел никаких альтернатив
для установки. Выходит сейчас без бинарей нельзя использовать всю эту
экосистему? Вовремя ж я всё таки избавился от Python
(b708ac5077078a699b14fcb86a8c2413266a903f).

3 years agoCN=loadbalancer.localdomain,O=Loadbalancer.org,ST=Delaware,C=US
Sergey Matveev [Wed, 13 Oct 2021 18:24:07 +0000 (21:24 +0300)]
CN=loadbalancer.localdomain,O=Loadbalancer.org,ST=Delaware,C=US

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

3 years agoЗвук в FreeBSD
Sergey Matveev [Wed, 13 Oct 2021 18:12:34 +0000 (21:12 +0300)]
Звук в FreeBSD

https://meka.rs/blog/2021/10/12/freebsd-audio/
Ёмкая статья про ситуацию со звуком в FreeBSD. Если коротко, то FreeBSD
давным давно была куда более пригодной для работы со звуком, ибо
маленькие задержки и jitter -- Linux какаха (по собственному опыту помню).
А всякие современные средства типа virtual_oss позволяют очень гибко
самовыражаться. FreeBSD, как и прежде, рулит во многих областях.

3 years agoRedis vs Memcache
Sergey Matveev [Tue, 12 Oct 2021 08:53:49 +0000 (11:53 +0300)]
Redis vs Memcache

https://engineering.kablamo.com.au/posts/2021/memcached-vs-redis-whats-the-difference/
Отличное сравнение этих двух решений используемых в качестве кэша. Вот
так нужно сравнивать ПО, а не по критериям, верно подмеченным в статье,
типа: оно новее, там больше коммитов и всё из этой серии.

И очень важно что подметили медленность кэшей доступных через сеть. Это
жутко медленно. Помню что в ivi поднимали Redis-и на localhost-ах, в
которые реплицировались обновляемые данные -- суммарно памяти, конечно
же, потреблялось сильно больше, зато исчезали огромные задержки.

Memcache я недолюбливал почти всегда. С Redis работал гораздо больше и чаще,
но и использовал регулярно его более широкий функционал и типы данных.

3 years agoAdvanceCOMP пересжатие PNG
Sergey Matveev [Tue, 12 Oct 2021 07:50:16 +0000 (10:50 +0300)]
AdvanceCOMP пересжатие PNG

http://www.advancemame.it/comp-readme
Эта штука позволила уже прооптимизированную/пересжатую PNG-шку сократить
ещё на треть. Конечно ценой CPU. Screenshot из-за этого у меня получился
меньше по размеру чем JPEG XL, который прежде выигрывал. Но WebP (VP8L)
всё равно ещё на треть меньше. AdvanceCOMP ещё и ZIP-ы может пересжать.

3 years agoПрочитал "Бегство Земли"
Sergey Matveev [Mon, 11 Oct 2021 19:41:39 +0000 (22:41 +0300)]
Прочитал "Бегство Земли"

https://ru.wikipedia.org/wiki/%D0%91%D0%B5%D0%B3%D1%81%D1%82%D0%B2%D0%BE_%D0%97%D0%B5%D0%BC%D0%BB%D0%B8
Вот такие научно-фантастические книги готов читать бесконечно! Солнце
спустя много ледниковых периодов превращается в чёрного карлика, поэтому
Землю с Венерой отбуксировали к паре звёздных систем, где придётся
бороться с телепатами трёхглазами. А всё это известно стало после
перемещения тамошнего учёного-правителя во времени в наш XX век.

Не знал, но оказывается действительно существуют чёрные карлики (в теории):
https://ru.wikipedia.org/wiki/%D0%A7%D1%91%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%B0%D1%80%D0%BB%D0%B8%D0%BA

3 years agoNergal невиновен в оскорблении религиозных чувств
Sergey Matveev [Mon, 11 Oct 2021 11:41:18 +0000 (14:41 +0300)]
Nergal невиновен в оскорблении религиозных чувств

https://www.darkside.ru/news/135107/
Потому что его посты размещены не публично, а за плашкой с предупреждением:

    Содержание, представленное в этом профиле, может оскорбить ваши
    религиозные и другие чувства. Если вы не хотите, чтобы это
    произошло, перестаньте быть моим подписчиком

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

А я типа тоже предусмотрительный и с самого начала создания блога
написал что:

    I am rather harsh and rude person, so some posts could be unpleasant
    for reading, be warned!

3 years agoВоспоминания сотрудника IBM про OS/2
Sergey Matveev [Sun, 10 Oct 2021 13:51:43 +0000 (16:51 +0300)]
Воспоминания сотрудника IBM про OS/2

https://habr.com/en/post/188202/
https://habr.com/ru/post/192126/
https://habr.com/ru/post/5397/
К сожалению я с OS/2 мало успел поиграться. Она была, возможно где-то
полгода, на 486-ом, а дальше появился AMD K6-2 и Windows 98 с FreeBSD.
На ней я по сути успел только поработать с FidoNet софтом. Помню что
ни разу не было проблем, зависаний, нестабильностей или чего-то
подобного. Вроде HPFS ощутимо большую производительность выдавала ещё,
плюс никаких потерь при внезапной перезагрузке. Думаю, что это
объективно существенно лучшая ОС, если сравнивать с Windows-ами. HPFS
впечатляет современностью на тот момент.

3 years agoСоздание частей в Matroska из DVD
Sergey Matveev [Sun, 10 Oct 2021 10:32:22 +0000 (13:32 +0300)]
Создание частей в Matroska из DVD

Давно я не играл ничего с DVD образов, но за последние недели аж
несколько появилось -- в BitTorrent это единственное что удавалось
найти. И вроде бы впервые использовал mpv для dvd:// проигрывания.

Сделать MPEG2 дамп через ffmpeg можно так:
    ffmpeg -i concat:VTS_01_1.VOB|VTS_01_2.VOB|..." -c copy out.mpg
Получить список частей (chapters) можно через:
    lsdvd -x VIDEO_TS > chapters.txt
А дальше сконвертировать этот файл в формат пригодный для mkvtoolnix,
которым их можно добавить к уже имеющемуся Matroska контейнеру:
    mkvpropedit --chapters chapters.txt out.mkv

3 years agoПосмотрел "Убить дракона"
Sergey Matveev [Sat, 9 Oct 2021 18:19:36 +0000 (21:19 +0300)]
Посмотрел "Убить дракона"

https://ru.wikipedia.org/wiki/%D0%A3%D0%B1%D0%B8%D1%82%D1%8C_%D0%B4%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%B0
Очень ржачный фильм! Но и хорошо показывающий чем заканчиваются
большинство всяких потуг и попыток свергнуть текущую власть --
будет только хуже. Ну и людям свобода, как правило (не всегда),
нафиг сдалась (это по смартфонам, соцсетям и проприетарному ПО
и так видно).

Леонов потрясающ! Почти каждая его фраза в этом фильме -- огонь! Он же
и в роли короля в "Обыкновенном чуде" -- единственное что запомнилось.

3 years agoТестирование Си кода через FFI
Sergey Matveev [Fri, 8 Oct 2021 21:06:59 +0000 (00:06 +0300)]
Тестирование Си кода через FFI

https://bronevichok.ru/posts/ffi.html
Надо будет попробовать эту идею. А то, действительно, написание тестов в
Си это тот ещё геморрой в план количества строк кода. Да и в кой да веки
начать пробовать вызывать Си код из Go, где хотя бы даже testing/quick
имеется.

3 years agoНовый GoGOST и gostls13
Sergey Matveev [Fri, 8 Oct 2021 19:32:34 +0000 (22:32 +0300)]
Новый GoGOST и gostls13

В прежних версиях gostls13 tls.LoadX509KeyPair не загружал ГОСТовые
ключи и сертификаты: crypto/x509 модуль то их парсил, но уже в самом tls
helper-е switch/if-ы ничего не знали про ГОСТ. Исправил и теперь ГОСТ
вообще без трудностей можно использовать самыми штатными средствами.

Ну и занялся оптимизацией Кузнечика-MGM. А главным образом MGM:
переделав его работу на кручение/верчение пары 64-битных чисел. Если
чистая Си-шная реализация Кузнечик-MGM выдаёт чуть более 5MiB/sec, то
GoGOST показывает более 3MiB. Как-раз чаще всего я видел что на Go
аналогичные программы где-то на треть медленнее, что тут и получилось,
означая что я почти всё выжал что можно было.

3-5 MiB/sec выглядит как-то медленно. Ну... и AES не шибко быстр, если
реализовать его без многих лет научных изысканий по оптимизации. И если
забыть про SIMD и ассемблер. Плюс MGM два раза шифрует (и GF^128 делает
соответственно), что в два раза сбавляет скорости. Но конечно штатно мы
все уже привыкли или к быстрым Salsa20-like шифрам, или SIMD или
аппаратному ускорению.

3 years agoНобелевская премия мира
Sergey Matveev [Fri, 8 Oct 2021 19:11:02 +0000 (22:11 +0300)]
Нобелевская премия мира

https://lenta.ru/news/2021/10/08/dokatilis/
https://lenta.ru/news/2021/10/08/komment/
Солидарен с мнением что премию дали за антироссийскую пропаганду
и (очевидно, это ж "Новая газета") кучу подлой лжи. Но ещё это и
показатель что в РФ со свободой слова всё в порядке, ибо дают
высказываться подобным типам, пресекая только когда переходят
все границы разумного.

Ну а то, что нобелевка мира является просто стыдобищем (как минимум, в
последнее время), для меня лет 10 назад было очевидным, когда её вручали
Манделле (уничтожившим крутейшую страну) или Обаме.

3 years agoПрочитал "Пролетая над гнездом кукушки"
Sergey Matveev [Fri, 8 Oct 2021 11:34:53 +0000 (14:34 +0300)]
Прочитал "Пролетая над гнездом кукушки"

https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BB%D0%B5%D1%82%D0%B0%D1%8F_%D0%BD%D0%B0%D0%B4_%D0%B3%D0%BD%D0%B5%D0%B7%D0%B4%D0%BE%D0%BC_%D0%BA%D1%83%D0%BA%D1%83%D1%88%D0%BA%D0%B8
Очень понравилась книга! Сюжет фильма, который смотрел не раз, с Джеком
Николсоном который, не сильно отличается и отходил от того что в книге.
Просто многие сценки вырезаны. Полностью вырезано всё что касается
индейца: в книге то повествование ведётся именно от него, с огромным
количеством воспоминаний из его жизни. Во время чтения, Макмёрфи
представляется только Николсоном -- идеально, по моему, играющим
подобные роли.

3 years agoВнешность девушек
Sergey Matveev [Thu, 7 Oct 2021 11:02:30 +0000 (14:02 +0300)]
Внешность девушек

https://s00.yaplakal.com/pics/pics_original/6/4/9/16012946.jpg
https://s00.yaplakal.com/pics/pics_original/3/7/2/16013273.jpg
И в реальной жизни в общественном транспорте встречаешь, как говорят
на работе, "тюнингованных" женщин и поражаешься насколько же они все
одинаково выглядят. Причём ни один нейрон бы не сказал что хоть
насколько симпатично -- видно что это такие синтетические существа.

3 years agoДни рождения
Sergey Matveev [Thu, 7 Oct 2021 09:46:10 +0000 (12:46 +0300)]
Дни рождения

https://habr.com/ru/company/timeweb/blog/581310/
Не ранее 4-го октября родился Айзек Азимов. Не знал что в Теслу,
запущенную в космос, кроме полотенца и "don't panic", положили и
книгу Азимова. Скорее всего самый крутейший и интереснейший фантаст из
всех что я читал. "Большая тройка" из него, Хайнлайна и Кларка --
действительно достойна такого объединения.

Ну и у Путина сегодня днюха. Здоровья ему! Хотя сегодня нашлось что
сказать про него плохое: с ним жизнь стала настолько лучше (после 90-х
то!), что масса людей (молодёжи) массово перестала хотеть обучаться
специальностям, мол и так ведь нормально жить можно. Вот и страдаем от
нехватки специалистов, как минимум, во всех инженерных областях.

3 years agoСбой "Интернета"
Sergey Matveev [Thu, 7 Oct 2021 04:46:19 +0000 (07:46 +0300)]
Сбой "Интернета"

https://habr.com/ru/post/582056/
Недавно увидел что Let's Encrypt шифрует соединения к Интернету
(0cf376851fe0d97b3f8101676c05fa0541b1b27f), а теперь статья про сбой
Интернета 4-го числа... где только на третьем абзаце упоминает что речь
про Facebook. Facebook *уже* Интернет. А я наивно полагал:
    Через год Интернетом видимо будет Facebook?

Причём когда в (поза?)прошлом году из-за ошибок BGP ложился Cloudflare
(если не путаю, или ещё какой-то CDN), то это реально было мне заметно:
многие ресурсы были недоступны (речь даже про простые блоги людей). А
вот то, что Facebook, оказывается, лежал, как и WhatsApp и прочее --
узнал постфактум.

3 years agoИзготовление и инструкция по использованию плюмбуса
Sergey Matveev [Wed, 6 Oct 2021 19:07:28 +0000 (22:07 +0300)]
Изготовление и инструкция по использованию плюмбуса

https://www.youtube.com/watch?v=RkfN5fdiNOA
https://i.stack.imgur.com/b76Y7.jpg
Прежде ещё не читал инструкцию по нему.
Хотя и так ведь понятно как пользоваться.

3 years agoМой ГОСТ CA и поддержка его сертификатов в godlighty
Sergey Matveev [Wed, 6 Oct 2021 14:15:00 +0000 (17:15 +0300)]
Мой ГОСТ CA и поддержка его сертификатов в godlighty

http://www.cagost.cypherpunks.ru/
В godlighty добавил возможность задания ГОСТ X.509 сертификатов и их
выдачу вместо ECDSA онных, если клиент в ClientHello пришлёт знание о
ГОСТах. То есть, на основе ClientHello будет решаться какой вид
сертификатов отдавать. TLS 1.3 ГОСТ поддерживается и так, если
используется gostls13 Go версия (http://www.gostls13.cypherpunks.ru/).
А мой tofuproxy из коробки тоже сразу говорил на Кузнечике-MGM с
godlighty серверами, теперь ещё и ГОСТ сертификаты сможет получать.
Добавил и CAA и DANE записи дополнительные. Но, конечно, странно иметь
DANE с не-ГОСТ алгоритмом для проверки.

3 years agoРазные степени сжатия WavPack
Sergey Matveev [Wed, 6 Oct 2021 09:00:15 +0000 (12:00 +0300)]
Разные степени сжатия WavPack

Увидел что у wavpack-а есть ещё более ресурсоёмкие опции кодирования: -x3.
* без параметров: 35сек кодирование, 31сек декодирование
* -hh (что я использовал всегда): 61сек кодирование, 50сек декодирование
* -hh -x3: 401сек кодирование, 50сек декодирование
При этом -hh делает ~1.1% лучше сжатие, а -x3 лучше всего на 0.2% ещё.
Так что -x3 точно не стоит затрат. Да и в принципе то и -hh наверное
тоже, особенно если думать про энергоэффективность (декодирование
существенно дороже).