]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
3 years agoВыпуск "Back to the BBS" о демосцене
Sergey Matveev [Thu, 30 Dec 2021 09:50:11 +0000 (12:50 +0300)]
Выпуск "Back to the BBS" о демосцене

https://alsgeeklab.com/back-to-the-bbs-episode-6-the-demoscene/
Вот что я совершенно не застал и не видел, так это демосцену.
Обязательно когда рассматривают историю BBS-ок, FidoNet и подобного,
то без демосцены не обходятся. В этом ролике показано много
разнообразных демок -- хотя бы ясно что это такое не на словах.
Впечатляет что люди умудряются делать с доступными ресурсами
(а сейчас и Word будет тормозить на зверь-машинах).

3 years agoПеремещение/копирование директорий
Sergey Matveev [Thu, 30 Dec 2021 08:51:55 +0000 (11:51 +0300)]
Перемещение/копирование директорий

https://minnie.tuhs.org/pipermail/tuhs/2021-December/024921.html
В ранних версиях SysV команда mv действительно буквально только
переименовывала директории. В Plan9 аналогично -- только переименование.
Для копирования есть отдельная dircp утилита, аналогичная вызову:
    @{cd fromdir && tar c .} | @{cd todir && tar xT}
Насколько это всё же правильнее, ибо ведь действительно два совершенно
разных действия. Как в git: одна команда и масса несвязанных действий.

3 years agolore+lei
Sergey Matveev [Thu, 30 Dec 2021 08:30:03 +0000 (11:30 +0300)]
lore+lei

https://lwn.net/Articles/878205/
https://lwn.net/Articles/748184/
https://public-inbox.org/
В Linux для рассылок используют mlmmj. А для их архивирования с
web-интерфейсом, поиском и возможностью локального клонирования:
public-inbox. Надо попристальнее будет посмотреть на эту штуку,
ибо недостаток централизованной рассылки это одна точка отказа.
Впрочем, если выкладываются .mbox файлы, то в offline это тоже
можно будет использовать.

3 years agoВ Linux оказывается есть X.509
Sergey Matveev [Thu, 30 Dec 2021 08:28:33 +0000 (11:28 +0300)]
В Linux оказывается есть X.509

https://www.spinics.net/lists/stable-commits/msg184308.html

3 years agoВажность SIGINFO
Sergey Matveev [Tue, 28 Dec 2021 22:24:25 +0000 (01:24 +0300)]
Важность SIGINFO

https://minnie.tuhs.org/pipermail/tuhs/2021-December/024898.html
В TUHS рассылке есть люди, которые не могут находится рядом с Linux
из-за отсутствия в нём удобнейшего SIGINFO (ну и софта соответственно
и терминала с Ctrl-T). Пишут что и в SVR4 сложно из-за этого вернутся.

3 years agoparallel cpuset
Sergey Matveev [Tue, 28 Dec 2021 22:17:34 +0000 (01:17 +0300)]
parallel cpuset

Когда под рукой многопроцессорная система, то GNU parallel использую
постоянно, для всякой мультимедиа в основном. И хочется чтобы задача
не скакала по ядрам. Для NUMA систем это вообще губительно: процесс
может оказаться "вдалеке" от своей памяти что значительно замедляет
к ней доступ. Благо что сделать привязку легко, учитывая что parallel
может подставить "job slot number": parallel cpuset -l {%} ...
Сгодится конечно если задач не больше кол-ва процессоров.

3 years agoredo и shell
Sergey Matveev [Tue, 28 Dec 2021 21:32:09 +0000 (00:32 +0300)]
redo и shell

https://news.ycombinator.com/item?id=29717028
Комментарий за комментарием пишут что redo не вариант, ибо надо писать
на ужасном shell-е. Удручает что вроде бы все мне известные сайты и
реализации redo подчёркивают, что никоим образом не зависят от shell-а
и не заставляют на нём писать .do файлы. Элегантная простота redo долго
и до меня доходила.

3 years agoДуров ответил Мокси
Sergey Matveev [Tue, 28 Dec 2021 17:53:54 +0000 (20:53 +0300)]
Дуров ответил Мокси

https://habr.com/ru/news/t/598421/
Мокси ему про криптографию и шифрование и хранение plaintext-а, а Дуров
про "мы не раскрываем третьим лицам", про кто кого спонсирует. Ну и... я
конечно не вижу оригинальное его сообщение, но если он и правда заявил
что, раз АНБ участвовало в создании алгоритмов шифрования (что не
правда, ибо оно участвовало в качестве судей, что в общем-то не важно)
-- то они могут дешифровать: это перебор уже в идиотских тупых заявлениях.
Но опровергать заявление Мокси он не стал.

3 years agoМножество примеров zsh expansion-а
Sergey Matveev [Tue, 28 Dec 2021 08:56:23 +0000 (11:56 +0300)]
Множество примеров zsh expansion-а

https://thevaluable.dev/zsh-expansion-guide-example/
В принципе то всё есть в документации и массе других мест, но тут
аккуратно по шагам, не наваливая с полсотни опций/параметров, с
примерами. БОльшую часть всего вовсю использую ежедневно.

3 years agoУти-пути, маленький Бафомет в капитолии штата Иллинойс
Sergey Matveev [Tue, 28 Dec 2021 08:15:27 +0000 (11:15 +0300)]
Ути-пути, маленький Бафомет в капитолии штата Иллинойс

http://www.hitkiller.com/milota-xram-satany-prazdnichno-prines-v-kapitolij-shtata-illinojs-malenkogo-bafometa.html
И самые нетерпимые ко всему чуждому, самые поносящие это всегда всякие
религиозные люди, коих я считаю одними из самых страшных человеков, ибо
они никогда не скажут что у них реально на душе, будут лицемерить и
говорить что прописано и что полагается, но без какой-либо искренности.

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

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

А бафометыш:

    подчеркивает "плюрализм, единение, способность к эмпатии", а также
    отражает позитивные ценности

с чем не могу не согласится.

3 years agoLua: хорошее, плохое и уродливое
Sergey Matveev [Mon, 27 Dec 2021 08:48:10 +0000 (11:48 +0300)]
Lua: хорошее, плохое и уродливое

http://notebook.kulchenko.com/programming/lua-good-different-bad-and-ugly-parts
Хорошее резюме об особенностях этого языка. И даже не смотря на bad и ulgy,
язык мне всё равно нравится... просто надо учитывать эти недостатки и
особенности.

3 years agoПосмотрел "Не смотрите наверх"
Sergey Matveev [Sun, 26 Dec 2021 17:54:02 +0000 (20:54 +0300)]
Посмотрел "Не смотрите наверх"

https://ru.wikipedia.org/wiki/%D0%9D%D0%B5_%D1%81%D0%BC%D0%BE%D1%82%D1%80%D0%B8%D1%82%D0%B5_%D0%BD%D0%B0%D0%B2%D0%B5%D1%80%D1%85
Ну... просто средненький фильм, ожидал большего. Но и не пожалел
времени. Собственно показаны тупые язвы в обществе, когда даже видя
комету всё равно будут говорить что её нет и это всё заговор. Ну как с
COVID19 тем же происходит, да и ещё тьмой вещей. Но фильм современный и
пиндосский, поэтому в каждом кадре по негру и США будет спасать весь
мир конечно же, с женщиной-президентом.

Обожаю Ди Каприо -- и тут с удовольствием на него смотрел и слушал!
Лоуренс, которую я обзываю "Ди Каприо актрис", как-то маловато говорила,
роль поменьше у неё, но тоже обожаю. Смотреть надобно не в дубляже, ибо
Леонардо много орёт.

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

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

Судя по блогу, среди фильмов 2021-го я лучше ничего не смотрел.

3 years ago(почти) Прошедший год
Sergey Matveev [Sun, 26 Dec 2021 11:56:17 +0000 (14:56 +0300)]
(почти) Прошедший год

Какой-то полностью пустой год у меня вышел. На работе как будто вообще
ничем не занимался толком. Хотя при этом и получил две почётные грамоты.
Главное событие то конечно уход собаки Боньки и появление Мухи.

* Впервые на меня подали в суд, который полностью отказал в требованиях
  этим мошенникам. Пока судебная система работает
* В кой да веки, был приятный момент с противоположным полом

* Из литературы очень произвёл впечатление Суер-Выер
* Прошёл The Longest Journey -- единственный из оставшихся квестов очереди
* В восторге от нескольких фильмов Монти Пайтона

* Реализовал давнюю хотелку и написал tofuproxy HTTP/HTTPS-прокси, с TLS
  терминатором, TOFU менеджером сертификатов, DANE-EE, WARC-броузером
* Написал godlighty HTTP/HTTPS-сервер, заменивший у меня все lighttpd
* Удовлетворил своё желание изучить Tcl. Написал на нём не много, но в
  целом язык простой и очень мне понравился
* Переехал на daemontools, UCSPI-TCP и dqcache. Ещё больше погрязаю в
  DJB мире, что меня не удручает
* Стал поклонником JPEG-XL
* Узнал про всякие hardening фичи, научился применять seccomp и Capsicum,
  впиливать DTrace пробы
* Сменил ноутбук на Intel NUC и очень доволен этой железкой

3 years agoКультура и воспитанность людей в общественном транспорте
Sergey Matveev [Sun, 26 Dec 2021 11:33:57 +0000 (14:33 +0300)]
Культура и воспитанность людей в общественном транспорте

Она просто никакая, как минимум в Москве/Подмосковье! Из-за холодов я
на этой неделе не хочу дожидаться удобной маршрутки и поэтому еду на
электричке. Я просто в шоке, мягко говоря от всего что творится там
вокруг: *каждые* 10сек но обязательно у кого-то будет оповещение на его
смартфоне, каждые 30сек обязательно кто-то начнёт трындеть по своей
трубе, всегда находятся люди которые даже фильмы будут смотреть без
наушников. Накопил на чудо техники шпионажа и не хватило 200руб на
наушники? О чём думают те, кто держит перед собой свой девайс и не
выключает оповещения -- не подозреваю. Когда мне звонят (и я поднимаю),
то я говорю что в транспорте и кладу трубку, думая об окружающих. В 9 из
10 случаев народ наоборот заходя в транспорт начинает звонить своим
знакомым чтобы трепаться сорок минут, говоря что кладёт трубку, так как
выходит из вагона/салона.

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

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

На работе вспомнили про культуру людей в метро: стоят параллельно
дверям, а не перпендикулярно, загораживая половину прохода (не собираясь
выходить/входить); не снимают рюкзаки (я тоже иногда так делаю когда на
100% уверен что никому не мешаю, когда это бывает в почти пустых вагонах);
начинают поднимать свой зад для выхода только когда двери уже открылись;
начинают ломиться на вход, не дожидаясь пока всей выйдут. Отдельная боль
это еле плетущиеся черепахи, уткнувшиеся в смартфоны, идущие в полосах
где нельзя обогнать (ничего против не имею черепах, если они в сторонке,
не перекрывают дорогу). Бывают ещё те кто фильмы смотрят, спуская по
одной ступеньке в секунде на эскалаторе. Это прям моя ежедневная
пятиминутка ненависти, как в "1984". Метро хотя бы приятно своим громким
шумовым фоном, за котором не слышно всего этого трындения и просмотра
фильмов людьми.

3 years agoБлоги за Cloudflare
Sergey Matveev [Sun, 26 Dec 2021 11:29:37 +0000 (14:29 +0300)]
Блоги за Cloudflare

За последний год где-то с десяток блогов переехало на Cloudflare CDN.
Смело можно их удалять из агрегатора новостей, ибо CF требует
прохождение CAPTCHA со всякими cookie и JavaScript. Фактически оно
предотвращает работу вне современного броузера.

3 years agoКритика "Миллиона лет до нашей эры"
Sergey Matveev [Sat, 25 Dec 2021 18:33:43 +0000 (21:33 +0300)]
Критика "Миллиона лет до нашей эры"

https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BB%D0%BB%D0%B8%D0%BE%D0%BD_%D0%BB%D0%B5%D1%82_%D0%B4%D0%BE_%D0%BD%D0%B0%D1%88%D0%B5%D0%B9_%D1%8D%D1%80%D1%8B_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC,_2004)
Пишут что масса негативных отзывов была на этот фильм. А мне он жутко
понравился с самого начала, когда по телевидению увидел. Потом и
отдельно скачивал посмотреть на компьютере. Ну где ещё можно школу
швей-гитаристок в доисторическую эпоху увидеть?

3 years agoГотовится Уэбб, самый дорогой прибор в истории
Sergey Matveev [Sat, 25 Dec 2021 08:25:07 +0000 (11:25 +0300)]
Готовится Уэбб, самый дорогой прибор в истории

https://naked-science.ru/article/astronomy/samyj-dorogoj-nauchnyj-pribor-v-istorii
На замену Хабблу полетит этот телескоп. Не знал что его будут размещать
не на околоземной орбите, а в точке Лагранжа, ибо рядом с нами жарко. От
солнца загораживающий экран, но и при этом, всё равно, отдельно система
охлаждения жидким гелием имеется. Дикая сложность и точность всего, без
возможности обслуживания. Офигенный challenge.

3 years agoВ Linux то ещё появился Landlock
Sergey Matveev [Fri, 24 Dec 2021 12:24:38 +0000 (15:24 +0300)]
В Linux то ещё появился Landlock

https://kernelnewbies.org/Linux_5.13
https://lwn.net/Articles/703876/
В Linux давно есть seccomp, но с которым настолько всё геморройно, что
мало кто использует, в отличии от простого OpenBSD pledge или FreeBSD
Capsicum, с которыми программы сотнями переводятся. В Linux решили
написать очередное творение, уже повторяя pledge/capsicum. Я просто не
успеваю за регулярно появляемыми новыми технологиями в их экосистеме.

3 years ago*_uass и fuckwit_* в Linux
Sergey Matveev [Fri, 24 Dec 2021 09:41:39 +0000 (12:41 +0300)]
*_uass и fuckwit_* в Linux

https://www.opennet.ru/opennews/art.shtml?num=47849
Оказывается предлагались такие сокращения в коде для закрытия
уязвимостей в процессорах:
* User Address Space Separation (*_uass)
* Forcefully Unmap Complete Kernel With Interrupt Trampolines (fuckwit_*)
но в итоге приняли унылый Kernel Page Table Isolation (kpti_*).

3 years agoSecret Of Monkey Island перевели на русский
Sergey Matveev [Thu, 23 Dec 2021 18:21:31 +0000 (21:21 +0300)]
Secret Of Monkey Island перевели на русский

https://www.old-games.ru/forum/threads/klassicheskie-versii-kvesta-the-secret-of-monkey-island-perevedeny-na-russkij-jazyk.102434/
Про эту игру (точнее серию) у меня наверное больше всего в блоге
записей. Перевод меня конечно не интересует, но отметить не могу.
Я однозначно полностью нахожусь в лагере квестов от Lucas Arts, не
Sierra. И среди всех квестов от LA -- Monkey Island первые две части
это лучшее что было создано. Третью я тоже люблю, но она типа считается
не каноничной. Какой же там отличный юмор и всё по доброму (типа
каннибалов вегетарианцев). Хотя Grim Fandango я бы наверное на одном
уровне поставил, но в нём нет такого юмора.

3 years agoGojira про веганство и пандемию
Sergey Matveev [Thu, 23 Dec 2021 05:27:10 +0000 (08:27 +0300)]
Gojira про веганство и пандемию

http://www.hitkiller.com/citata-gojira-joseph-duplantier-nas-veganov-pechalit-dolbanaya-pandemiya-poskolku-vse-bedy-ot-ploxogo-obrashheniya-s-zhivotnymi.html
Многих будут бесить всякие сатанисты, а меня вот этот лютый сущий бред
веганов. К сожалению веганство достаточно заразный недуг поразивший и
вокалиста Napalm Death, но он, благо, про это ничего нигде не говорит.

3 years agoCPU радиатор с дисплеем
Sergey Matveev [Wed, 22 Dec 2021 08:42:25 +0000 (11:42 +0300)]
CPU радиатор с дисплеем

https://g15tools.com/best-cpu-cooler-with-screen-5-options-reviewed-rated-2021/
Увидел что бывают CPU радиаторы с экранчиками, у которых нехилое
разрешение и количество цветов. Смысл прозрачного корпуса появляется
(хотя и прежде он был чтобы показать все эти RGB радуги). Туда бы
простую консоль вывести для сервера -- и монитор не нужен.

3 years agoМодераторы Хабра совсем расчванькались: сокеты в Python, чат в 50 строк
Sergey Matveev [Tue, 21 Dec 2021 18:58:16 +0000 (21:58 +0300)]
Модераторы Хабра совсем расчванькались: сокеты в Python, чат в 50 строк

https://habr.com/ru/post/596985/
Комментарием на Хабре уже оставить не могу -- мой самый современный
броузер из всех что имеется уже не ест их JS-код. Но я возмущён что
подобное попадает в RSS.

* автор пишет про "веб-сокеты" -- с какого хрена то там web вообще?
  Ладно, я помню времена когда стали "WWW" считать "Интернетом", помню
  что "Internet Explorer" считать Интернетом, но теперь уже сокеты
  считаются частью web?
* сокет привязан к порту -- нет не привязан
* сокет это типа треда или программы? Ещё не лучше...
* автор выбрал 5000-ый порт "методом тыка", просто потому что на нём у
  него всё заработало. Хм... почему была выбрана USB-клавиатура вместо
  PS/2 -- потому что её штекер смог втыкнутся в USB-порт?
* curl для проверки подключения к серверу?
* то автор читает "1024 байта", то автор отсылает/читает "строки". Может
  определиться что он шлёт то?

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

Хотел бы тыкнуть автора в свой https://habr.com/ru/post/452200/
но интерфейс Хабра совсем не работает.

3 years agoКакой только бред не напишут про SHA256
Sergey Matveev [Tue, 21 Dec 2021 18:44:53 +0000 (21:44 +0300)]
Какой только бред не напишут про SHA256

https://habr.com/ru/post/596983/
https://www.securitylab.ru/analytics/488291.php
В статье про P2P протоколы ссылка на securitylab.ru, с припиской что
"SHA256 также на сегодняшний день считается уязвимой функцией". Смотрю
статью: хэширования там нет вообще, а есть HMAC-SHA256. В нём не описано
ни одной проблемы, а только косяки с вопросами кодирования того над чем
применяется этот MAC. Одна статья бредовее другой -- и ведь в эту чушь
кто-нибудь да поверит.

3 years agozmv рекурсивно по директориям
Sergey Matveev [Tue, 21 Dec 2021 11:32:46 +0000 (14:32 +0300)]
zmv рекурсивно по директориям

Прежде никогда даже не задумывался о том, чтобы применять zmv в иерархии
директорий, но это без проблем работает: zmv '(**/)(*).mp3.wav' '$1$2.wav'

3 years agoПовисающие новенькие мощные MacBook-и
Sergey Matveev [Mon, 20 Dec 2021 19:43:14 +0000 (22:43 +0300)]
Повисающие новенькие мощные MacBook-и

https://www.youtube.com/watch?v=Cw_0tBl11bY
Во время тестов, нагружающих CPU, даже удалось повесить Mac-и намертво.
Даже хвалёному качеству Apple невозможно доверять -- desktop есть
desktop: нагружать их не является штатным режимом работы.

3 years agoАудиофильский SSD
Sergey Matveev [Mon, 20 Dec 2021 19:08:38 +0000 (22:08 +0300)]
Аудиофильский SSD

https://habr.com/ru/company/ruvds/news/t/596727/
Было бы смешно, как бы не было так грустно от того что в это реально
ведь будут верить.

3 years agoПознакомился с Immortal
Sergey Matveev [Sun, 19 Dec 2021 16:24:05 +0000 (19:24 +0300)]
Познакомился с Immortal

https://en.wikipedia.org/wiki/Immortal_(band)
Как и Satyricon (f468b689d1e1159893c04f6df942e34a5c2709c1), лёгкий black
metal, под который отлично работается. Не чета жутко агрессивным и мрачным
Funeral Mist с Marduk. И куда мелодичнее и проще чем Deathspell Omega.

3 years agoЗавели Муху
Sergey Matveev [Sat, 18 Dec 2021 16:53:20 +0000 (19:53 +0300)]
Завели Муху

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

3 years agoНападение инопланетян и отключение электричества
Sergey Matveev [Sat, 18 Dec 2021 10:40:43 +0000 (13:40 +0300)]
Нападение инопланетян и отключение электричества

https://vitus-wagner.dreamwidth.org/2290841.html
Тут у человека регулярно отключают электричество. Дома раз в полгода, в
основном ночью, но всё равно бывает. На работе аналогично. И у родителей
и у бабушки (не один месяц жил) -- всегда бывает.

Ещё жутко бесит когда люди считают что Интернет/сайты всегда есть и
доступны. Достаточно логи RSS-аггрегатора посмотреть чтобы увидеть как
часто всякое бывает недоступно. Родные DNS сервера у всех провайдеров
где я был -- регулярно недоступны (ну или не отвечают не NX-ом). Раз в
месяц да почти везде но обязательно трафик между мной и Интернетом не
ходит -- мониторинг показывает.

3 years agoМатрица 1999-го
Sergey Matveev [Fri, 17 Dec 2021 20:29:58 +0000 (23:29 +0300)]
Матрица 1999-го

https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
С новостями о выходе Матрицы, на работе слово за слово и оказалось что
прилично людей не смотрело этот фильм! Я считал что уж этот то фильм все
видели. И не только я один на работе был в этом уверен. Причём от возраста
это на зависело.

Пытались вспомнить какие бы фильмы вот точно точно все смотрели?

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

Остановились на "Пятом элементе" и "Терминаторе 2". Молодёжь ещё
подсказала про "Гарри Поттера" (с чем наверное соглашусь), "Властелина
колец" и "Пиратов Карибского моря" -- мне всё это в голову даже не
приходило, ибо уж больно что-то современное. Ну и не приходило наверное
потому что не поклонник всего этого.

Хотел бы я ещё назвать "Назад в будущее", но например моя бывшая его
посмотрела только благодаря мне. Среди "Пиратов", "Властелина",
"Поттера" я бы предпочёл ещё раз снова все три части "Назад в будущее"
пересмотреть -- мне кажется никогда он мне не надоест и никогда я не
перестану в нём обнаруживать отсылки.

На работе ещё назвали "Бойцовский клуб", но мои родители его, благодаря
мне, посмотрели только несколько месяцев назад впервые. Я бы хотел
назвать "Криминальное чтиво", но я сам с ним познакомился лет через 15
после выхода.

Ну а про Матрицу нечего говорить -- легендарный революционный фильм, по
моему. Дальнейшие части -- чёрт с ними, ничего не помню кроме пары сцен
со спецэффектами и Монику Белуччи. "Перезагрузку" помню что посмотрел в
кинотеатре в Евпатории. А "Революция" на DVD до сих пор есть в шкафу.

3 years agoFuneral Mist -- Deiform
Sergey Matveev [Fri, 17 Dec 2021 20:17:59 +0000 (23:17 +0300)]
Funeral Mist -- Deiform

http://www.hitkiller.com/mortuus-iz-marduk-vypuskaet-novyj-albom-funeral-mist.html
Нашёл в ужасном качестве для ознакомления. Не думая что всё же сможет
впечатлить, ибо куда ему уж переплёвывать Maranatha и Hekatomb то? Но
нет, Arioch снова породил безумное зубодробительное творение! Нужно
добыть в нормальном lossless качестве только.

3 years agoБайты в Си
Sergey Matveev [Fri, 17 Dec 2021 13:56:16 +0000 (16:56 +0300)]
Байты в Си

https://lists.suckless.org/hackers/2112/18050.html
https://gist.github.com/jibsen/da6be27cde4d526ee564
https://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66110
https://github.com/RIOT-OS/RIOT/issues/5497
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2653.htm
Когда начинал писать на Си, то uint8_t показался корректным и правильным
типом данных для представления всяких байтовых последовательностей. Ведь
Си явно не говорит что char вообще то равен байту или 8-ми битам. Как и
автору libgrapheme suckless библиотеки. Но тут начались обсуждения в
рассылке и он изменил всё на char.

Начал изучать вопрос. Пришёл к тому что надо использовать unsigned char
или char (если не думать по будущие стандарты Си), проверяя на всякий
пожарный что оно равно 8-ми битам. Проблема с uint8_t в том, что
безопасно делать алиасы, когда на один и тот же участок памяти ссылаются
несколько переменных, можно когда или типы совместимы или алиасом
является character тип. uint8_t не character тип, поэтому не может быть
алиасом. Поэтому он не должен дружить с -fstrict-aliasing и может мешать
оптимизациям. На практике это работает только потому что GCC/Clang
делают typedef unsigned char uint8_t.

Дальше задался вопросом про signed/unsigned char. Проблем с конвертацией
между этими двумя типами не будет если используется дополнительный код
(two's complement). C99 не диктует что должно быть именно такое
кодирование, но будущий C23 диктует. POSIX диктует и two's complement и
8-бит размер. По этому, в общем то, на POSIX (signed) char можно
безопасно использовать. Более того, в UTF-8 строки в C11 исходном коде
интерпретируются как char *.

Итого, для работы с байтами, кроме void *:
* uint8_t * -- некорректно
* unsigned char * -- всегда корректно, если UCHAR_MAX==255
* char * -- всегда корректно в POSIX

3 years agoКуча всякого X11-софта с screenshot-ами
Sergey Matveev [Fri, 17 Dec 2021 12:47:24 +0000 (15:47 +0300)]
Куча всякого X11-софта с screenshot-ами

https://cyber.dabamos.de/unix/x11/
Узнал что есть xlennart игра, аналогичная xbill, только где вместо
Гейтса надо мочить Поттеринга.

3 years agoSIGINFO в tar
Sergey Matveev [Thu, 16 Dec 2021 21:15:27 +0000 (00:15 +0300)]
SIGINFO в tar

Сегодня догадался нажать Ctrl-T чтобы послать SIGINFO в работающий tar и
увидеть прекрасный вывод:

    In: 49 files, 309606500352 bytes; Out: 309606500352 bytes, compression 0%
    Current: ./XXX.xxx (77173096448/88082131032 bytes)

по аналогии с
cp (5f5be8fd96b77bc50e7a6b38c6bd52718c941625) и
dd (bfe140989efca7e0645986dc0678f4af4e492211)

3 years agoRust -- must die
Sergey Matveev [Thu, 16 Dec 2021 18:57:03 +0000 (21:57 +0300)]
Rust -- must die

http://rustmustdie.com/
Сайт созданный по аналогии с http://cmustdie.com/.
Даже моих небольших практических знаний по Rust достаточно чтобы
чуть-чуть усомнится в некоторых высказываний, но в целом я согласен
что Rust это та ещё жопа для написания. И на работе коллега подтвердил
что безопасное написание очень часто означает кучу копирования -- значит
медленно.

3 years agoПрочитал "Дневник" Чака Паланика
Sergey Matveev [Thu, 16 Dec 2021 17:43:49 +0000 (20:43 +0300)]
Прочитал "Дневник" Чака Паланика

https://ru.wikipedia.org/wiki/%D0%94%D0%BD%D0%B5%D0%B2%D0%BD%D0%B8%D0%BA_(%D1%80%D0%BE%D0%BC%D0%B0%D0%BD)
Ни с чем прежде у него не знаком (ну кроме фильма "Бойцовский клуб",
хотя чёрт его знает насколько близок он к книге). Очень необычно, очень
детально. Первая половина книги... по мне так скучновата, но возможно
потому что не понятно к чему это всё говорится и к чему всё ведётся. Но
под конец начинается стрёмная кровавая движуха. А это уже понравилось.
Однозначно что-нибудь ещё бы надо у него прочитать.

3 years agoКонвертирование PDF для recoll и определения страниц
Sergey Matveev [Thu, 16 Dec 2021 14:10:00 +0000 (17:10 +0300)]
Конвертирование PDF для recoll и определения страниц

http://www.git.stargrave.org/?p=dotfiles.git;a=blob;f=recoll/bin/pdftotext.sh;h=1775278068da0b9d1b844a82888b8b1a0b8088f9;hb=0232bed604be77802bc76422627be707ac2c8838
Для конвертирования PDF в текст я использую mutool convert -F text
утилиту. Но вот беда -- в её выводе нет информации о страницах. recoll
из коробки понимает разделение на страницы если есть "^L" символ. Пока
сделал хак в виде отдельного mutool info вызова для получения количества
страниц и дальше для каждой страницы вызов convert-а, с выводом "^L"
символа. Существенно медленнее, но пока меня не сильно смущает.

3 years agoСнова tar c|tar x vs cp
Sergey Matveev [Thu, 16 Dec 2021 11:15:26 +0000 (14:15 +0300)]
Снова tar c|tar x vs cp

В dd558b2a665788dfa4a15024397060615bd86d98 уже упоминал про "cp -a": без
этой опции cp будет "терять" всё на свете о файле, кроме его содержимого
(например mtime (863f4e1fadabacdb2de4d6493ba96880e20eb0e8)). А сегодня
обнаружил (это не было новостью -- просто не задумывался прежде) что
сохранить жёсткие ссылки с ним нельзя. Ни в коем случае для серьёзного
backup-а cp использовать нельзя.

И опять же спасает например tar/cpio/pax, которые без дополнительных
опций будут сохранять информацию о таких ссылках в архиве и при
разархивировании воссоздавать их.

Вот только с tar-ом обнаружил неприятную особенность: в нём можно
указать ("T") список путей которые надо добавить в архив, но директории
в нём он рекурсивно добавляет в архив. Например:
    find . -type d -mindepth 1 | tar cfT - - | ...
в архив не поместит только сами директории, но и их содержимое. В POSIX
tar команде ничего нет чтобы могло помочь. В GNU tar есть --no-recursion.
В BSD tar есть -n, --norecurse, --no-recursion. Портабельной опции для
find -d | tar нету.

cpio мог бы тут помочь. Но у самого cpio формата сильные ограничения
(например на размер файла). pax, с точки зрения POSIX, был бы тут
идеален и интерфейсом (копировать файлы можно без pipe-а вызывая pax -rw)
и форматом, но он из коробки нигде не присутствует. А если и имеется, то
зачастую не имеет поддержки pax формата.

Так какую же команду можно использовать для создания архива без
ограничений (типа размера), чтобы find-ом можно было только директории
предоставить например? Никакую :-). Не вижу тут решения. Всё не
портабельное или не присутствует гарантированно в ОС (pax). В FreeBSD
cpio команда то на самом деле использует libarchive и поэтому может
создавать pax-архивы. На практике для конкретных систем -- возможности
то имеются.

3 years agoТакой разный код на Си для простой утилиты cat
Sergey Matveev [Thu, 16 Dec 2021 10:30:07 +0000 (13:30 +0300)]
Такой разный код на Си для простой утилиты cat

https://github.com/0intro/plan9/blob/master/sys/src/cmd/cat.c
https://github.com/coreutils/coreutils/blob/master/src/cat.c
К вопросу о сравнении языков программирования: на одном и том же можно
кардинально сложно или просто писать.

3 years agorcl и несколько индексов
Sergey Matveev [Wed, 15 Dec 2021 21:17:41 +0000 (00:17 +0300)]
rcl и несколько индексов

Сегодня я начал использовать recoll (bb337e0d83d3ef04c5ec966f090ade5a162e21a1)
и уже использую несколько индексов, чтобы контексты поиска разделить.
Отдельно RFC, отдельно man-ы и отдельно рабочая директория. И позволяет
распараллелить работу с ними и независимо переиндексировать, но главное
это позволяет разделить знания об особенностях индексирования по разным
директориям (ведь за это отвечают несколько файлов: recoll.conf и
mimeconf, как минимум).

Хочется уметь легко указывать по каким именно индексам я хочу искать. Не
руками же мне "-i ..." опции передавать. rcl теперь если видит что
первые аргументы к нему являются названиями директорий в ~/recoll, то
добавляет их в качестве дополнительного индекса. Теперь:
rcl http authorization -- ищет среди всяких рабочих PDF-ок
rcl man http authorization -- ищет ещё и среди man страниц
rcl rfc man http authorization -- будет ещё и в RFC смотреть

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

3 years agoМой zsh прогресс
Sergey Matveev [Wed, 15 Dec 2021 21:14:38 +0000 (00:14 +0300)]
Мой zsh прогресс

Сейчас я с первого раза, не залезая в документацию, пишу уже вот такие
команды автоматом: vobs=(VTS*.VOB(on)) ; ffmpeg -i ${(j:|:)vobs[2,-1]} ...
Нужно взять все VTS*.VOB-ы отсортированные, без первого, соединить их
список через "|" ну и передать в ffmpeg (для кодирования с DVD). И нигде
не нужно париться с экранированием (хотя с файлами DVD даже под DOS не
было бы проблем). В прошлом году я бы возможно это ещё и не смог бы
синтерпретировать.

3 years agoJFS2 в Linux пришёл из OS/2
Sergey Matveev [Wed, 15 Dec 2021 19:38:19 +0000 (22:38 +0300)]
JFS2 в Linux пришёл из OS/2

https://en.wikipedia.org/wiki/JFS_(file_system)
Эта файловая система пришла в Linux, как оказалось, из OS/2.
Я не знал что и для последней то она была.

3 years agorecoll показал на что способен
Sergey Matveev [Wed, 15 Dec 2021 13:45:28 +0000 (16:45 +0300)]
recoll показал на что способен

http://www.git.stargrave.org/?p=dotfiles.git;a=blob;f=recoll/bin/rcl
Вчера установил recoll (e18bf71655b8a564745dd4f307df4ce034996031), но
только сегодня вплотную с ним поигрался.

* первая задача: среди кучи всяких ужасных PDF-ок связанных с ТК26,
  найти все где упоминается например "VKO". Они ужасно отформатированы,
  многие ужасно сконвертированы из Word-а. Названия ни о чём не говорят
  (идентификаторы рекомендации/стандарта). Многое разнесено и ссылается
  друг на друга по куче этих стандартов. VKO находит идеально, без
  проблем
* вторая задача искать не тривиальные AND-нутые фразы по RFC: даже
  комментировать нечего -- всё отрабатывает без проблем. Хотя, учитывая
  что там и .txt имеются -- это можно и grep-ом делать, просто не так
  быстро
* третья задача, после которой recoll у меня точно остаётся: замена
  apropos. Работает ли вообще этот apropos? С одной стороны я до сих пор
  продолжал иногда его вводить когда надо что-то найти в man-ах. Но у
  меня стойкое ощущение что банальные вещи у меня и zsh completion
  самописный находит прекрасно, а вот чуть более сложные apropos уже не
  может. В итоге его запускаешь, но толку никакого. Беру проект на Си в
  котором точно помню что есть FreeBSD-specific код, вижу в нём
  упоминание PROC_TRACE_CTL_DISABLE. В какой man смотреть за его
  описанием? apropos -- молчит. recoll показывает что в
  /usr/share/man/man2/procctl.2.gz есть:
      by PROC_TRACE_CTL...self.  PROC_TRACE_CTL...2).
      PROC_TRACE_CTL_DISABLE...as PROC_TRACE_CTL...of PROC_TRACE_CTL...

Я правда написал обёртку над recollq, чтобы она поприятнее для глаз
выводила ABSTRACT (с ним как-то полегче понимать о чём вообще документ
найденный) и в которой ещё и подсветка применяется supercat-а
(d85140c8be0146ddc09312cd4470c1aec828b894):

3 years agoРазукрашивание вывода по регулярным выражениям
Sergey Matveev [Wed, 15 Dec 2021 11:19:33 +0000 (14:19 +0300)]
Разукрашивание вывода по регулярным выражениям

http://supercat.nosredna.net/index.html
http://kassiopeia.juls.savba.sk/~garabik/software/grc.html
http://prysm.sourceforge.net/
Куча всяких разукрашивателей, но написаны на Python -- даже пробовать не
хочется это всё уже. Благо, supercat написан на чистом Си, без проблем
собирается и очень прост в использовании: указываем цвет, регулярку и
получаем разукрашенный вывод. Помню что мне не раз подобное требовалось,
но отдельных утилит для этой задачи не искал.

3 years agoПробую начинать использовать recoll
Sergey Matveev [Tue, 14 Dec 2021 20:15:00 +0000 (23:15 +0300)]
Пробую начинать использовать recoll

https://www.lesbonscomptes.com/recoll/
http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=cbccb5bd5071445788464f183f563cc6a79218c1
Коллега на работе в очередной раз поднял вопрос и напомнил о теме
индексации и поиска информации в документах. По сути я удовлетворяюсь
grep-ом в преобладающем большинстве случаев. Но к сожалению имеются
PDF-ки, как минимум. Да и HTML-ки не всегда удобны для grep-а.

Нашёл recoll программу. Xapian движок -- точно такой же как и в
mu-helper используется (его я использую вместе с Mutt-ом), поэтому язык
запросов мне уже знаком. Есть не только GUI клиенты, но и recallq CLI.
Так как pdftotext у меня нет, ибо не хочу я ставить громоздкий poppler,
ибо я поклонник MuPDF (f5ac4628c014cc4c9fb43f7f15c6bd5cc211d24d), то
пришлось обёртку над mutool писать и переопределять вызов "декодера" PDF
файлов. Делается легко. Работает отлично. HTML-ки, PDF-ки, всякие
случайно попавшиеся под руку файлы словарей -- всё ест и по всему ищет.
С кириллицей не обнаружил проблем. Надо осваивать это всё, а то,
действительно, как в каменном веке перехожу в ~/doc, ~XXX/doc и grep-ом
ищу. Когда понимаю что что-то в PDF-ках, то бывало циклом прогоняю
pdftotext (ну точнее аналог), но это терпимо когда крайне редко делается.

3 years agoВручили на работе почётную грамоту
Sergey Matveev [Tue, 14 Dec 2021 20:13:24 +0000 (23:13 +0300)]
Вручили на работе почётную грамоту

За достижение высоких показателей в труде по итогам года.

3 years agoКриптономикон
Sergey Matveev [Tue, 14 Dec 2021 09:08:24 +0000 (12:08 +0300)]
Криптономикон

https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D0%BA%D0%BE%D0%BD
Порекомендовали тут книгу Нила Стивенсона "Криптономикон", потому что в
блоге про неё нет упоминаний. Но я её, конечно же, читал. Просто много
раньше создания блога. Самая шифропанковская среди всей литературы.
Unix-like системы, перехват ван Эйка, PGP, и приглашённый Брюс Шнайер
специально для этой книги создавший вполне себе серьёзный настоящий шифр
Пасьянс (http://www.cypherpunks.ru/Solitaire.html), использующий
игральные карты для "вычислений". Оказалось что у Нила Стивенсона всего
две книги прочитал: эту и Семиевие (ad1e55aca359fd071aea257aaee50fa59d5b3d3e)
Обе круты.

Ещё в Криптономиконе очень нравился вот этот абзац:

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

3 years agoКиану Ривз о NFT
Sergey Matveev [Tue, 14 Dec 2021 05:24:49 +0000 (08:24 +0300)]
Киану Ривз о NFT

https://habr.com/ru/news/t/595349/
Достойный ответ и смех касательно вообще всей темы блокчейна :-)
Уважуха Киану! Хотя, конечно же, понимаю что он вряд ли не понимает что
это всё такое и как работает. Но сам токен скопировать можно -- он прав,
это же набор битиков.

3 years agoBack to BBS
Sergey Matveev [Sun, 12 Dec 2021 07:37:53 +0000 (10:37 +0300)]
Back to BBS

https://alsgeeklab.com/latest-posts/
Масса видео в нескольких частях про BBS-ки. Можно сказать что это некое
дополнение к "BBS: Documentary". Но тут не только про историю, но и про
современность.

3 years agoСуд на моей стороне
Sergey Matveev [Sat, 11 Dec 2021 22:11:14 +0000 (01:11 +0300)]
Суд на моей стороне

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

3 years agoСлепая печать != печать в темноте
Sergey Matveev [Sat, 11 Dec 2021 21:13:22 +0000 (00:13 +0300)]
Слепая печать != печать в темноте

Я уже со времён института, курса 3-4-го печатаю в слепую: мне не нужны
надписи на клавиатуре. Внезапно узнал об этом, когда пришёл в институт с
shiny новым китайским Lemote YeeLoong ноутбуком, на котором конечно же
не было никакой кириллицы. И мне ребята заметили это, тогда как я
совершенно не задумывался и не обращал внимание на это. Сейчас у меня и
дома и на работе клава полностью без надписей -- сплошная чернота. Ни
разу не заметил чтобы это что либо затруднило или помешало бы.

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

3 years agoСнова ненависть к GnuPG, ну почти...
Sergey Matveev [Sat, 11 Dec 2021 21:07:35 +0000 (00:07 +0300)]
Снова ненависть к GnuPG, ну почти...

И я думал что напоролся на какой-то баг! Хочу удалить ключ, делая
"gpg --delete-key", он спрашивает "точно ли хочу вот этот удалить?",
отвечаю "да", выходит и показывает приглашение командной строки. Бац,
снова вижу его в ключнице. Повторяю удаление -- всё равно не исчезает.
Грохаю dirmngr на всякий пожарный -- не помогает. Оказалось, что я всё
это время упорно нажимал "j" в качестве ответа на вопрос с "y/n". Под
моим "stargrave" пользователем у меня немецкая локаль, GnuPG это
прекрасно видит и я уже привык за много лет видеть от него немецкую
тарабарщину, на которую я отвечаю "ja"/"nein". А ключ я удалял под
другим пользователем, у которого английский по умолчанию, где "yes"/"no".
Начинаю понимать о чём ведут речь пользователи, считающие кучу свободного
ПО плохим UI/UX.

3 years agogpg --fetch-keys оказался с подвохом
Sergey Matveev [Sat, 11 Dec 2021 20:59:14 +0000 (23:59 +0300)]
gpg --fetch-keys оказался с подвохом

Я конечно наслышан про сложность интерфейса GnuPG, но сейчас,
действительно, хочется сильно на него наругаться. В
8358c745a08e2f7632c3054b61641f40177e5fd8 я писал что узнал про
--fetch-keys опцию, думая что это замена "curl | gpg --import".
Так вот она, оказалось, игнорирует все подписи прилагающиеся к
ключу. Что сводит её полезность на нет. Жалко то конечно времени
потраченного на выяснение причин почему у меня нет подписи над
ключом одним, а у собеседника есть.

3 years agoBSDs vs GNU/Linux производительность
Sergey Matveev [Sat, 11 Dec 2021 18:10:59 +0000 (21:10 +0300)]
BSDs vs GNU/Linux производительность

https://www.phoronix.com/scan.php?page=article&item=bsd-linux-eo2021&num=1
В рассылке обсуждают эту статью. Бегло посмотрел на результаты и бросается
в глаза разница в zstd компрессоре. Но в рассылке народ повторяет опыт и
на FreeBSD оно чуть ли не на 10% быстрее чем под GNU/Linux. Так что доверия
к этим benchmark-ам как-то не особо много. Ну или софт с дико разнящимися
флагами компилятора собран.

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

3 years agowww. домен
Sergey Matveev [Sat, 11 Dec 2021 16:22:42 +0000 (19:22 +0300)]
www. домен

https://dropwww.com/why
https://www.yes-www.org/
Время от времени приходится смотреть в newsboat.err.log файлике что
тами из feed-ов поломалось. Кто-то меняет URL-ы, кто то добавляет
permanent redirect-ы, у кого-то вообще всё пропадает или оказывается на
другом домене.

Сегодня забавно было: кто-то добавил www. (и перенаправляет на него), а
кто-то наоборот удаляет. Есть даже целых два домена на тему "нафиг www."
и наоборот.

Лично я твёрдо за него. Аргумент "и так понятно по протоколу в URL-е что
будет на домене" не принимаю, ибо по HTTP/HTTPS сейчас чего только не
работает и не использует в качестве транспорта. И я против того чтобы по
умолчанию считать домен web-сайтом. Если это часть всемирной паутины, то
пускай так и говорит (www.). Убеждён что нужно физический смысл, суть
отображать в поддомене. Если написано "phlog.", то можно понять что
Gopher-протокол будет на нём обслуживаться. Люди же используют "mail.",
а не "smtp.". Есть у меня всякие "cpan.mirror.", "ctan.mirror." -- видно
что это зеркала. Где-то есть "www." приписка к ним, а где-то нет и там
обслуживается rsync протокол. "git." это для Git протокола, а "www.git."
для web-интерфейса к нему. Хотя, по моей логике, надо использовать
"vcs.", но смирюсь с этим, уж лень менять то, что во всех README
прописано.

Бывают пишут "blablabla.bla" -- учитывая что у тьмы компаний (не говоря
о людях) единственным идентификатором бывает адрес в соцсети
какой-нибудь, то чёрт поймёшь это домен (ведь доменов первого уровня
бывает тьма не связанных с политикой/географией и мало знакомых) WWW
сайта или это адрес в whatever-соцсети? Для Twitter вроде добавляют
at-символ впереди -- не спутаешь, но такое же не везде есть. Можно
добавить "http://", но "www." куда короче и сразу понятно что это. К
тому же, WWW может работать, как минимум, по двум протоколам в URL
(HTTP и HTTPS), не говоря про HTTP/2 и QUIC с HTTP/3.

3 years agoConcealing Fate -- непревзойдённое творение TesseracT
Sergey Matveev [Sat, 11 Dec 2021 16:14:44 +0000 (19:14 +0300)]
Concealing Fate -- непревзойдённое творение TesseracT

https://vimeo.com/45041568
https://www.youtube.com/watch?v=grwmUTrO180
https://www.youtube.com/watch?v=nwW1d_KtkJw
Вот сколько не слушаю TesseracT альбомы, но ничего круче Concealing Fate
(несколько композиций под одним общим названием) они всё же не сделали.
Не, есть хиты запоминающиеся, типа Nascent или King-а с последнего
альбома (больше с него вообще ничего не помню), но Concealing Fate
хочется поставить всегда.

3 years agoЗависание USB при пропаже USB аудио
Sergey Matveev [Sat, 11 Dec 2021 12:11:35 +0000 (15:11 +0300)]
Зависание USB при пропаже USB аудио

https://forums.freebsd.org/threads/usb-dac-unplugged-hangs-up-rest-of-usb-devices.72061/
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194727
Давным давно у меня особенность (проблема) есть со звуком: если вывод
происходит на USB DAC, то mpv/mplayer держат открытым файл /dev/dspX.X
и когда USB вынимается, то драйвер в dmesg ругается:

    [10409] pcm4: unregister: channel pcm4:virtual:dsp4.vp0 busy (pid 65234)
    [10409] pcm4: Waiting for sound application to exit!

mpv при этом остаётся жив, и в целом всё что подключено к этому USB
контроллеру становится неработоспособным (спустя какое-то время чаще).
Было это на ноутбуках прежде, где клавиатура была PS/2 и я мог открыть
крышку и грохнуть программу (mpv). Но на NUC у меня только USB, который
может стать unresponsive для клавы и я ничего не могу сделать кроме
нажатия кнопки питания.

Проблема известна и предлагают: писать грамотно OSS-related софт, чтобы
обрабатывал ошибки и выходил. Не знаю относится ли это к mpv. Ну или
использовать virtual_oss. Я же решил просто насильно грохать софт
занимающий звуковые устройства для которых более нет аппаратуры:

/etc/devd/myaudio.conf:
    attach 20 {
        device-name "uaudio[0-9]";
        match "vendor" "0x0b05";
        match "product" "0x17f3";
        action "/etc/devd/myaudio-bitperfect.sh $vendor $product";
    };

    notify 21 {
        match "system" "USB";
        match "subsystem" "INTERFACE";
        match "type" "DETACH";
        match "vendor" "0x0b05";
        match "product" "0x17f3";
        action "/etc/devd/myaudio-killer.sh";
    };

/etc/devd/myaudio-killer.sh:
    #!/bin/sh -x
    export PATH=/usr/local/bin:$PATH
    for uaudio in $(sysctl dev.uaudio | perl -F\\. -lane '/%pnpinfo:\s*$/ and print $F[2]') ; do
        pcm=$(sysctl dev.pcm | perl -F\\. -lane "/%parent: uaudio${uaudio}$/ and print \$F[2]")
        [ -n "$pcm" ] || continue
        for dsp in /dev/dsp${pcm}* ; do
            pid=$(fstat $dsp | perl -lane "next if /^USER/ ; print \$F[2]")
            [ -z "$pid" ] || kill $pid
        done
    done

Такой геморрой потому что в devd приходит только событие о пропаже ugen
устройства, ничего не известно про аудио подсистему, которая не шлёт
ничего о том что у неё пропал родитель. В bugreport-ах видел есть
коммиты на эту тему -- возможно в новых версиях FreeBSD проблем нет.

3 years agoИстория Xbox и место России в ИТ мире
Sergey Matveev [Sat, 11 Dec 2021 10:20:10 +0000 (13:20 +0300)]
История Xbox и место России в ИТ мире

https://www.youtube.com/watch?v=bXLr5HsLCbE
Понравилось вступление про купленность в России ИТ-сферы Microsoft-ом.
Ведь по сути нас в 90-е как страну третьего мира просто решили
заграбастать для vendor-lockin-а, который мы до сих пор расхлёбываем.
У нас до сих пор чрезвычайно DOS, IBM PC, Microsoft-центричные люди.

    Винда всегда была популярна как игровая платформа.
    Серьёзные люди работали на Macintosh-ах.
    Очень серьёзные на Unix-ах.
    Винда в качестве бизнес-платформы популярна только в России,
    потому что в школах и университетах учат программировать под винду,
    так как гранты получают в основном только от Microsoft-а. Затем
    выпускники идут работать в 1С или банк, где пишут на ActiveX,
    который работает только в Internet Explorer-е. Vendor-lock работает
    превосходно. Microsoft купила российскую систему образования в сфере
    программирования с потрохами.
    [...]
    Чему вы радуетесь то? Бесконечной зависимости российской экономики
    от закрытой операционной системы с кучей backdoor-ов контролируемых США?

И всё это ведь рассказывает не какой-то поклонник свободного ПО с сильно
предвзятым мнением.

3 years agoGentoo о Python экосистеме пакетов
Sergey Matveev [Sat, 11 Dec 2021 08:43:59 +0000 (11:43 +0300)]
Gentoo о Python экосистеме пакетов

https://blogs.gentoo.org/mgorny/2021/11/07/the-future-of-python-build-systems-and-gentoo/
Gentoo тоже не выдерживает и пишет о страданиях с полностью поломанной
экосистемой пакетов Python, в которой вообще не понятно что будет
дальше, ибо разработчики просто без оглядки пилят и пилят что-то.

3 years agoПростые задачи на "Linux"
Sergey Matveev [Fri, 10 Dec 2021 18:30:31 +0000 (21:30 +0300)]
Простые задачи на "Linux"

https://www.youtube.com/watch?v=TtsglXhbxno
https://www.youtube.com/watch?v=3E8IGy6I9Wo
Буквально ни одна задача мною бы не выполнялась так как предполагают они.
Насколько же разные подходы у Unix-пользователей (типа меня) и остальных.
Вообще я даже и не представлял сколько сил оказывается было потрачено на
всю эту GUI-ню в нём. И ещё отчётливее становится для кого пилится systemd.
Я бы вряд ли чего смог сделать в GUI GNU/Linux-а, без помощи Google. Но
познавательно!

3 years agoПрочитал "Обмен разумов" Роберта Шекли
Sergey Matveev [Fri, 10 Dec 2021 09:10:21 +0000 (12:10 +0300)]
Прочитал "Обмен разумов" Роберта Шекли

https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%BC%D0%B5%D0%BD_%D1%80%D0%B0%D0%B7%D1%83%D0%BC%D0%BE%D0%B2
Очень понравилась история! Кроме конца -- совсем уж какая-то
чушь высосанная из пальца. Но 90% всей книги по духу напоминает
"Автостопом по галактике" -- столько забавного абсурда!

3 years agoGithub будет форсировать 2FA для популярных NPM пакетов
Sergey Matveev [Wed, 8 Dec 2021 09:46:05 +0000 (12:46 +0300)]
Github будет форсировать 2FA для популярных NPM пакетов

https://www.opennet.ru/opennews/art.shtml?num=56304
https://github.blog/2021-12-07-enrolling-npm-publishers-enhanced-login-verification-two-factor-authentication-enforcement/
То бишь, если бы я хостил свои NPM-чики на нём, то пришлось бы уходить в
другое место. Вот с какой стати хостер репозитория/проекта вообще смотрит
на популярность проекта? Благо я давно свалил с них.

3 years agoLaTeX и Vim
Sergey Matveev [Wed, 8 Dec 2021 07:55:40 +0000 (10:55 +0300)]
LaTeX и Vim

https://castel.dev/post/lecture-notes-1/
https://habr.com/ru/post/445066/
Человек круто заморочился с snippet-ами в Vim -- прям отличный пример
где они могут пригодится и чем они удобны. А то 99% всех примеров что я
видел: такая банальщина, что делается или аббревиатурами или простыми
vimscript-ами (быстрее их написать чем читать документацию по
snippet-ам). Или же явно сильно выдуманные примеры. А тут прям боевые
применения не тривиальные.

В продолжение его статьи думал что будет TikZ показан, но автор
оказывается иллюстрации делал уже в Inkscape. Не тру, но конечно же в
TikZ нельзя быстро сварганить что-то, так что тут безвыходное положение.
Помню что не было ни одной картинки, ни одной схемы, которую бы я
рисовал от руки (пускай и на компьютере) в курсовых или дипломном
проекте: Gnuplot для графиков, что-то Python/Perl-ом сгенерированное,
был GraphViz, а дальше масса TikZ рисунков. И после института, если надо
было что-то нарисовать, то тоже его использовал, хотя постоянно имея под
рукой tutorial/документацию ибо забывается из-за нерегулярности.

3 years agozsh $mailpath и atime
Sergey Matveev [Tue, 7 Dec 2021 09:53:40 +0000 (12:53 +0300)]
zsh $mailpath и atime

Сколько же лет мне потребовалось чтобы допереть до отключения atime на
ZFS разделе где находятся почтовые ящики! Он был единственным, где atime
включён. И только по причине того, что zsh смотрит на atime
файлов/директорий перечисленных в $mailpath (для вывода сообщения о
появлении новой почты). Залез в исходники zsh: действительно,
проверяется atime > mtime ли. Однако, так как у меня maildir-ы, то новая
почта попадает в new/ поддиректорию. А Mutt, при открытии такого ящика,
всё перемещает в cur/, даже если я само сообщение не прочитал (оно всё
равно в Mutt будет иметь метку "N"). Что мешает zsh-у смотреть не за
всей иерархией maildir-а, а только за его new/? Дошло только сегодня.
Теперь atime можно отключить вовсе -- последний dataset где он остался.

3 years agoПрочитал "Цивилизацию статуса"
Sergey Matveev [Tue, 7 Dec 2021 08:58:05 +0000 (11:58 +0300)]
Прочитал "Цивилизацию статуса"

https://ru.wikipedia.org/wiki/%D0%A6%D0%B8%D0%B2%D0%B8%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%B0
Крутая история! Причём самое то интересное для меня в ней было под самый
конец, где главный герой возвращается на Землю, опрашивает разные
категории граждан и видит ужас во что всё (относительно него и меня,
конечно же) превратилось. Частично то ведь что-то есть и в современном
мире, к сожалению.

3 years agoПрочитал "Бесконечную историю" Михаэля Энде
Sergey Matveev [Tue, 7 Dec 2021 08:53:43 +0000 (11:53 +0300)]
Прочитал "Бесконечную историю" Михаэля Энде

https://ru.wikipedia.org/wiki/%D0%91%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D0%B0%D1%8F_%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_(%D0%BF%D0%BE%D0%B2%D0%B5%D1%81%D1%82%D1%8C)
Тоже детская книга типа "пунша" (a21dd83bb4d71d771f2dfa3c006a7aeacfb6e3cb),
но уже куда более серьёзная. Дети будут знакомы с понятием рекурсии и
амнезии. Показывает настоящую дружбу. Очень понравилась!

3 years agoПрохождение Downfall
Sergey Matveev [Tue, 7 Dec 2021 08:51:47 +0000 (11:51 +0300)]
Прохождение Downfall

https://www.youtube.com/watch?v=fBgM0d_Ht00
Самая крутая horror игра что я знаю: Downfall
(268649c35a191daa616b2d5c0525dfe74d4e3580), именно 2009-го года, а не
remake 2016-го, где графика уже не создаёт всю нужную атмосферу.

3 years agoБилефельдский заговор
Sergey Matveev [Tue, 7 Dec 2021 08:34:50 +0000 (11:34 +0300)]
Билефельдский заговор

https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%BB%D0%B5%D1%84%D0%B5%D0%BB%D1%8C%D0%B4%D1%81%D0%BA%D0%B8%D0%B9_%D0%B7%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D1%80
Бывают забавные заговоры о не существовании всяких городов или даже
государств. Оказывается были слухи что Арзамаса-16 не существует, ибо
это заговор ЦРУ. Но я, можно сказать, всё лето проводил рядом с ним,
будучи ребёнком.

3 years agoЗаюзал второй сетевой интерфейс NUC-а
Sergey Matveev [Mon, 6 Dec 2021 11:32:44 +0000 (14:32 +0300)]
Заюзал второй сетевой интерфейс NUC-а

Дошло сегодня на работе что если его поместить в bridge с основным
интерфейсом, то через него можно подключить настольный компьютер и
получить гигабит между ними. А прежде они общались через 100Mbps
коммутатор и перелить 100GB бэкап ZFS-а занимает не один час.

В NUC моём сетевые интерфейсы на разных чипах: I210 (драйвер igb) и
I219 (драйвер em). Последний не поддерживает MSI-X прерывания --
только сегодня узнал про разницу.

3 years agoMySQL не советует использовать один из его разработчиков
Sergey Matveev [Mon, 6 Dec 2021 10:08:16 +0000 (13:08 +0300)]
MySQL не советует использовать один из его разработчиков

https://www.opennet.ru/opennews/art.shtml?num=56287
https://blog.sesse.net/blog/tech/2021-12-05-16-41_leaving_mysql.html
Один из разрабов MySQL не рекомендует его использовать, мол ужасно
не современная штука. Советует PostgreSQL.

А мне MySQL никогда и не нравился: начиная от конфигов, заканчивая в
целом всем подходом к администрированию. PostgreSQL это прям нечто типа
де-факто что берётся для серьёзной SQL СУБД.

3 years agoForth в компьютерах то давно
Sergey Matveev [Sun, 5 Dec 2021 19:32:51 +0000 (22:32 +0300)]
Forth в компьютерах то давно

https://wiki.laptop.org/go/Open_Firmware
https://wiki.laptop.org/go/Forth_Lessons
https://lists.freebsd.org/pipermail/freebsd-current/2018-February/068464.html
https://wiki.freebsd.org/SummerOfCode2014/LuaLoader
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228924
Я знал что в Sun SPARC компьютерах применялся "BIOS" с Forth
интерпретатором встроенным, но, оказывается, Open Firmware и в Apple
Macintosh-ах на PowerPC и в IBM POWER системах применялась. Ну и в OLPC.
Компилятор, декомпилятор, ассемблер, дизассемблер, отладчик исходного и
ассемблерного кода -- всё умещалось в SPI flash-ку. У OLPC даже есть
tutorial по нему. Ну а в загрузчике FreeBSD тоже Forth встроен был, но
сейчас по умолчанию стали использовать загрузчик с Lua. К Lua у меня то
в целом довольно тёплое отношение и тоже могу понять что порог вхождения
в него для большинства пользователей всё же ниже, при этом язык и
реализация довольно минималистичны тоже.

3 years agoРок-клубы прошлого и концерты будущего
Sergey Matveev [Sun, 5 Dec 2021 15:41:31 +0000 (18:41 +0300)]
Рок-клубы прошлого и концерты будущего

https://moslenta.ru/news/moskovskii-gitarist-vspomnil-o-rok-klubakh-proshlogo-02-12-2021.htm
Среди перечисленных гитаристом из статьи, был во всех (Точка, Б2,
План-Б, Вольта), кроме Апельсина -- но в нём был отец на Sweet группе.
Странно что Вольта причислена к "старым" -- она ж открылась ещё при мне,
вроде уже даже после окончания института. По количеству концертов я
вроде больше всего был в Релаксе (хотя статистику по клубам не веду),
который не раз переименовывался и даже перестраивался кардинально
(застал как "старый", так и "новый"). Если и не по количеству посещений,
то по количеству услышанных там групп это точно. А дальше в Вольте.
http://cluub.ru/club/relax/ (уже закрыт)
http://cluub.ru/club/milk/ (закрыт)
http://cluub.ru/club/planb/ (закрыт)
http://cluub.ru/club/tochka/ (закрыт)
http://cluub.ru/club/yotaspace/
http://cluub.ru/club/moskva_hall/
http://cluub.ru/club/volta/
http://cluub.ru/club/pravdaclub/
http://cluub.ru/concert_hall/izvestiya/
http://cluub.ru/club/arena/
http://cluub.ru/concert_hall/crocus_city/
Но тут список очень скудный, ибо нет кучи других мест, типа "Чеширского
кота", где от слэма от деревянного пола отлетали доски и сотрудники
клуба прям во время выступлений забивали гвозди назад, а зимой отопление
было организовано просто в виде бензиновой тепловой пушки стоящей в
зале. Бывшего X.O., где были Jig-Ai, Rompeprop, Dead Infection и мой
первый поцелуй. 7-Клуба расположенного в подвале обычного жилого дома,
где было незабываемо тесно, и когда я тряс башкой, то волосня попадала
под руки гитаристу питерской группы Engorged Vaginal Abyss.
Был ещё и тут, но это тоже далеко не полный список:
https://concertinfo.ru/place/175
https://concertinfo.ru/place/204
https://concertinfo.ru/place/286
https://concertinfo.ru/place/188
https://concertinfo.ru/place/214
https://concertinfo.ru/place/197
https://concertinfo.ru/place/347
https://concertinfo.ru/place/229
https://concertinfo.ru/place/217
https://concertinfo.ru/place/274
https://concertinfo.ru/place/424
https://concertinfo.ru/place/289
https://concertinfo.ru/place/177
https://concertinfo.ru/place/173
https://concertinfo.ru/place/226
https://concertinfo.ru/place/186
Пока смотрел всё это, то очень и очень не мало групп планируется
выступать в 2022-ом! Lindemann (название тура "Я ненавижу детей"),
Behemoth, 1349, Igorr, Within Temptation, Eisbrecher, Marduk, Lacuna
Coil, In Extremo, даже Coyote Brutal Fest (https://concertinfo.ru/gig/18236/)
и чего ещё только нету. Надеюсь я всё же расчехлю свои dancing shoes.

3 years agoИстория Samsung
Sergey Matveev [Sun, 5 Dec 2021 15:19:10 +0000 (18:19 +0300)]
История Samsung

https://16-bits.ru/%D0%BA%D1%80%D0%B5%D0%BC%D0%BD%D0%B8%D0%B5%D0%B2%D1%8B%D0%B5-%D1%82%D0%B8%D1%82%D0%B0%D0%BD%D1%8B-%E2%84%9635/
Бурдж-Халифа оказывается построена Samsung-ом. Даже не представлял что
они и строительством занимались. Как и Goldstar/LG
(48ec95d22f88c8d8bf865feefd77f4ebcc996df7) -- проще сказать что
они не пытались делать (причём очень успешно). Даже ракетами.

3 years agoQuake Horde режим
Sergey Matveev [Sun, 5 Dec 2021 09:06:50 +0000 (12:06 +0300)]
Quake Horde режим

https://www.youtube.com/watch?v=PZwfy8KD-L0
Первое за 25 лет дополнение для Quake. В видео некто играет очень
хорошо, выпилив 664 фрага за чуть менее чем 8 минут. Насколько же мне
приятен именно такой класс игр стрелялок, где не продохнуть, где каждый
десяток миллисекунд на счету.

3 years agoNNCP развитие и использование людьми
Sergey Matveev [Fri, 3 Dec 2021 17:02:06 +0000 (20:02 +0300)]
NNCP развитие и использование людьми

https://jb55.com/log/2021-11-06-airgapped-bitcoin-node-nncp.html
https://blog.taoetc.org/how_to_publish_a_static_site_over_nncp/index.html
Чисто случайно (никакого поиска относящегося к NNCP не делал), ходя по
каким-то ссылкам, внезапно увидел что люди используют NNCP для таких
вещей как airgap BitCoin нода и в качестве транспорта для публикации в
блоги. Кто-то git фигачит поверх NNCP. Приятно что у всех без проблем
получается это собрать из tarball с использованием минималистичного
redo. И что авторы считают что NNCP легко пользоваться. Да и прям
буквально сейчас NNCP упомянут в рассылке обсуждения Gemini протокола и
тоже есть интересующиеся.

Когда я делал очередное изменение шифрованных пакетов
(9dbbfb48af71d290a67a389117411ded7ecc11a6), то подумал про себя что
забавно было бы наблюдать за прогрессом проекта и его изменений форматов
пакетов. Это же ведь и самый долгоживущий более-менее большой проект.
Например на какой-нибудь GoVPN я окончательно плюнул
(9ed0a1b3edd6548e2f9a8b8dadca4975c2bce969).

Простой пакет:

* v1: изначально состоял из:
  TYPE || PATHLEN || PATH || PAYLOAD
* v2: дальше к нему добавился приоритет:
  TYPE || NICE || PATHLEN || PATH || PAYLOAD
* v3: структура осталась прежней. Вместо zlib-сжатия стал использоваться
  Zstandard. Сейчас вот смотрю и понимаю что можно было бы просто ввести
  новый TYPE полезной нагрузки.

Типы простых пакетов:

* изначально были FILE, FREQ (file request), MAIL, TRNS (transitional)
* позже MAIL поменялся на EXEC, оставаясь обратно совместимым по
  формату. NNCP стал не только почту посылать через вызов sendmail, но и
  любую другу команду. Действительно, зачем надо было так себя
  ограничивать? Но, видимо, потому что боялся того что было в UUCP, где
  даже передача файлов превращалась в вызов "cp" команды, а хочется
  эффективности и простоты
* позже узнал что люди применяются nncp-exec для посылки отнюдь не
  маленьких простых файлов, а вообще всякой бинарщины. Как минимум, для
  которой форсированное сжатие EXEC-пакетов будет даже вредным. Появился
  EXEC-FAT тип пакетов, где просто навсего не применяется Zstandard
* ну и относительно недавно появились AREA пакеты, для multicast
  рассылки FILE и EXEC(-FAT)

Sync protocol вообще не поменялся с момента создания. Пакеты имеют тип
и, зависимое от него, тело, всё фиксированного размера. Возможные типы:
    HALT
    PING
    INFO || NICE || SIZE || HASH
    FREQ || HASH || OFFSET
    FILE || HASH || OFFSET || PAYLOAD
    DONE || HASH

Пакеты для multicast discovery появились недавно и вообще состоят ровно
из одного (кроме магического числа) из идентификатора отправителя.

Формат еблобов (EBlob, Encrypted Blob) по сути оставался прежним, но
из-за изменения алгоритмов шифрования для зашифрованных пакетов, заодно
менял и шифрование в нём, поэтому три версии.
    S || T || P || SALT || BLOB
Где S, T, P это параметры Balloon функции хэширования пароля, соль --
просто рандом, ну а BLOB это зашифрованный на выработанном ключе, кусок
данных. Команда nncp-cfgenc может использоваться для любых данных, не
только конфигов, но в NNCP штатно используется только для них.

Формат .nncp.meta пакетов, описывающих .nncp.chunk файлы, по сути тоже
не менялся, но версия один раз поменялась из-за глобальной замены хэш
функции. Всё очень тривиально:
    FILESIZE || CHUNKSIZE || HASH0 || HASH1 || ...

AREA пакеты имеют своё выделенное магическое число, но формат самого
пакета идентичен зашифрованному пакету.

Наконец зашифрованные пакеты:

* v1: первая версия:
    NICE || SENDER || EPUB || SIGN ||
        SIZE || MAC ||
            CIPHERTEXT || MAC || JUNK
    SIGN = sign(NICE || RCPT || SENDER || EPUB
  Использовала Twofish в режиме CTR, BLAKE2b-256-MAC для MAC.
  SIZE зашифрован и для него есть отдельный MAC.
  Четыре ключа (шифрование+MAC для SIZE и полезной нагрузки)
  вырабатывались HKDF-Blake2b-256.
  AES принципиально не хотелось. Почему сразу не выбрал Salsa20
  какой-нибудь? Совершенно не могу вспомнить.

* v2: в заголовке появилось RCPT поле, явно указывающее получателя:
    NICE || SENDER || RCPT || EPUB || SIGN || ...
  Было ли недоработкой отсутствие RCPT прежде? Скорее да. Ничего
  серьёзного бы не произошло, но неприятно видеть пакеты по какой-то
  причине попавшие в spool, но мы их не можем дешифровать.

* v3: Twofish заменён ChaCha20.HKDF-BLAKE2b-256 заменён BLAKE2Xb.
  Минус два криптографических примитива (ChaCha20 используется в SP
  протоколе). Данные разбиваются на 128KiB блоки, шифруемые друг от
  друга независимо, используя номер блока в качестве счётчика, nonce-а
  для ChaCha20.

* v4: BLAKE2b-MAC-256 заменён на Poly1305 и теперь каждый 128KiB блок
  аутентифицируется независимо от других. Это увеличивает суммарный
  размер шифротекста, так как для каждых 128KiB добавляются 128-бит
  Poly1305, но зато существенно упрощает код, и, самое главное то, блок
  сначала дешифруется/аутентифицируется, а уж только потом его выход
  подаётся например на вход внешней EXEC команды.
  Считать ли недоработкой прежний формат? То что в EXEC подаются
  неаутентифицированные данные -- ну это уже проблема вышестоящего
  уровня, аналогичная "gpg -d < | cmd". А не использование Poly1305 всё
  же уменьшало overhead. Мизерный, но всё равно в общем-то избыточный.

* v5: масштабная замена BLAKE2b-256 на BLAKE3 и MTH (Merkle Tree
  Hashing). Содержимое самого пакета это повлияло только заменой
  BLAKE2b KDF функции на BLAKE3. BLAKE2b XOF использовался для создания
  padding-а -- теперь BLAKE3 XOF.

  BLAKE3 на момент создания NNCP ещё не существовал. Когда появился и я
  проникся скоростью его работы -- для меня это ещё не было поводом
  замены BLAKE2b, реализации которого, вообще-то местами могут быть
  сравнимы с BLAKE3. Да и вообще скорость настолько высокая, что не
  проблема.

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

* v6: потоковый формат шифрования.
  SIZE поле отсутствует, но каждый 128KiB блок может быть зашифрован
  одним из двух ключей. В зависимости от ключа, определяется наличие в
  начале блока метаинформации о полном размере пакета и pad-а. Теперь
  временные файлы не нужны вообще, прежде использованные при получении
  данных из stdin-а чтобы узнать их итоговый размер.

3 years agoRISC-V -- плохая ISA, по мнению автора GMP
Sergey Matveev [Fri, 3 Dec 2021 10:42:23 +0000 (13:42 +0300)]
RISC-V -- плохая ISA, по мнению автора GMP

https://gmplib.org/list-archives/gmp-devel/2021-September/006013.html
https://gmplib.org/list-archives/gmp-devel/2021-September/006017.html
Ну... RISC-V это же RISC. Хотя должны быть разумные пределы.

3 years agoМемы Фидонета
Sergey Matveev [Thu, 2 Dec 2021 18:17:06 +0000 (21:17 +0300)]
Мемы Фидонета

http://wikireality.ru/wiki/%D0%9C%D0%B5%D0%BC%D1%8B_%D0%A4%D0%B8%D0%B4%D0%BE%D0%BD%D0%B5%D1%82%D0%B0#.D0.A0.D0.B0.D1.81.D1.81.D0.BA.D0.B0.D0.B7_.D0.BF.D1.80.D0.BE_.D1.85.D0.BE.D0.BB.D0.BE.D0.B4.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA
Про холодильник я застал мем! Похоже это единственный раз когда я был в
теме, а не читал про мемы в каких-нибудь wiki или от кого-то выслушивая
объяснение. Настолько он мне понравился, что с тех времён до сих пор он
у меня на диске сохранён (/home/stargrave/notes/fun/Холодильник.txt).
Возможно потому что был маленький, но помню, как глядел я в своей FreeBSD
в Голого Деда, чисто текстовый режим (X-ы не запускал почти никогда),
читаю, читаю, дохожу до конца и разрождаюсь смехом! Сколько потом
других анекдотов/сообщений заканчивалось аналогично! Конечно же, позже
уже надоедая (на то он и мем).

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

Болгарина Незабора Бандлов не застал, но это наверное скорее к локальным
эхам и поинтам относится. А у нас в Королёве была одна босс-нода.

3 years agoДетально поизучал Signal и OMEMO протоколы
Sergey Matveev [Thu, 2 Dec 2021 08:24:14 +0000 (11:24 +0300)]
Детально поизучал Signal и OMEMO протоколы

OMEMO прям полностью основан/повторяет Signal. Только некоторые вещи
чуть упрощены, типа использования только Curve25519 ключа, преобразуя
его в Ed25519 где надо. Никаких XEdDSA не нужно при этом. Я думал
различий будет больше. Хорошие решения в общем.

3 years agoИспользовал Jitsi Meet
Sergey Matveev [Thu, 2 Dec 2021 08:12:17 +0000 (11:12 +0300)]
Использовал Jitsi Meet

Какое же это всё говнище!

Во-первых, я Jitsi уже пробовал у себя собирать на FreeBSD --
собирается, но вот не запускается из-за баги в libc, мешающей где-то
этому Java софту. Бага тут именно в FreeBSD и она в более поздних
версиях исправлена -- просто мне лень обновляться. Но я думал что вот
когда обновлюсь, то и Jitsi клиент будет, ибо на работе его пару раз уже
призывали использовали. Оказалось что конференции то он и не держит --
поэтому и смысла нет ставить.

Во-вторых, под Firefox оно или не работает, или FF должен быть хостом,
дабы согласовать все кодеки(?) общим знаменателем. На работе сразу
сказали что надо юзать Chrome-based броузеры. То есть, ни нормального
клиента, ни броузера кроме Chrome не сгодится. Дожили.

Начал искать какие есть LiveCD где Chromium из коробки есть. Ну чтобы не
устанавливать, не тратить время, и вообще не на каждом компьютере
достаточно памяти чтобы в ней уместился его пакет. Успешно вышло с
Knoppix: очень быстро (на порядок или два) загружается, автоматом
размечает партицию для хранения state-а. Просто загрузись и будет
Chromium.

Попробовал на ноутбуке с Core2Duo и 2GB RAM. Если хоть у кого-то при
этом передаётся видео (даже в самом убогом качестве), то ему не хватает
CPU мощи чтобы даже от себя отправлять только голос -- он так лагает,
что разобрать мою речь, говорят, невозможно.

Пошёл за 4-ядерный i5 с 16GB RAM. Аудио в конференции хоть как-то но уже
юзабельно, но если есть хотя бы одно видео, то минимум одно ядро сразу
полностью отъедается. Попробовали расшарить экран программы: в течении
полминуты он может ничего не обновить у меня, хотя в программе не один
раз всё перерисовалось. У двух других вообще не получилось расшарить
окно, чтобы PDF-ку показать.

В общем, всё это лютая жопа. Я бы сказал что неюзабельная.

3 years agoПрочитал "Город" Клиффорда Саймака
Sergey Matveev [Thu, 2 Dec 2021 08:09:18 +0000 (11:09 +0300)]
Прочитал "Город" Клиффорда Саймака

https://ru.wikipedia.org/wiki/%D0%93%D0%BE%D1%80%D0%BE%D0%B4_(%D1%80%D0%BE%D0%BC%D0%B0%D0%BD,_1952)
Очень понравилась книга! Люди переселились на Юпитер, а Землю захватили
муравьи :-). Ну и конечно пёсики -- остаются хорошими и добрыми существами
даже через тысячи лет.

3 years agoМасса любопытных фактов
Sergey Matveev [Wed, 1 Dec 2021 19:08:19 +0000 (22:08 +0300)]
Масса любопытных фактов

https://medium.com/fluxx-studio-notes/52-things-i-learned-in-2021-8481c4e0d409
Что-то знал, что-то забавно, что-то полезно.

3 years agoTritty
Sergey Matveev [Tue, 30 Nov 2021 08:35:58 +0000 (11:35 +0300)]
Tritty

https://github.com/sjmulder/trickle
Эмулятор терминала с ограничением по пропускной способности. Можно
оценить как бы жилось на консолях с 300-600 bps. Vim быстро падает в
режим: 'redrawtime' überschritten, Syntaxhighlighting deaktiviert,
отключая синтаксическую подсветку при выводе после дюжины строк. Конечно
же, пользоваться им абсолютно невозможно. zsh-ем со всякими разноцветными
подсветками и suggestion-ами -- тоже. Видно как не оптимально, с точки
зрения трафика, многое перерисовывается.

3 years agoSmartTV заточены под шпионаж
Sergey Matveev [Tue, 30 Nov 2021 07:52:40 +0000 (10:52 +0300)]
SmartTV заточены под шпионаж

https://habr.com/ru/company/globalsign/blog/592407/
https://habr.com/ru/company/globalsign/blog/479022/
https://news.ycombinator.com/item?id=29382643
Скоро, пишут, запросто эти ТВ будут раздавать бесплатно, ибо рекламой
всё с лихвой окупится. Ну и слежкой. Только идея этому не нова, а называется
"телекран" из 1984-.

3 years agoУмерла Бонька
Sergey Matveev [Tue, 30 Nov 2021 01:49:55 +0000 (04:49 +0300)]
Умерла Бонька

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

3 years agoПрохождение концовки NetHack
Sergey Matveev [Mon, 29 Nov 2021 18:02:25 +0000 (21:02 +0300)]
Прохождение концовки NetHack

https://www.youtube.com/watch?v=vwl7OEIBnGE
Показано под каким-то ужасным GUI интерфейсом (дело привычки?), но это
самая захватывающая часть игры, где на каждом уровне пути назад уже не
будет. Прохождение четырёх Равнин: земли, огня, воды и воздуха. А дальше
астральная равнина, где я с трудом понимаю как реально можно остаться в
живых если не повезёт с первым храмом. a3f8f9a70412480c4d8b6731f96dc0a859ec1b63

3 years agoКачество современного Call of Duty
Sergey Matveev [Mon, 29 Nov 2021 17:58:35 +0000 (20:58 +0300)]
Качество современного Call of Duty

https://youtu.be/uYNxfXBKvik
Забавные нарезки всяких косяков и ленностей разработчиков. С одной
стороны: да и чёрт со всем этим, ибо в Doom/Quake/Medal Of Honour и
без этих потуг в реалистичности играли. С другой, это же жутко дорогая
разработка, в которую вбухивают куда больше денег чем в прежние времена,
и качество хотелось бы тоже на должном уровне. Когда костерок состоит из
двух спрайтов, а дерево сакуры из набора спрайтов плоских... серьёзно,
как в середине 90-х?

3 years agoПробую шрифт Go
Sergey Matveev [Mon, 29 Nov 2021 17:50:05 +0000 (20:50 +0300)]
Пробую шрифт Go

https://go.dev/blog/go-fonts
Сегодня было сильное чувство что что-то надо поменять. Вспомнил про Go
шрифт, но не причины чем он не понравился. Просидел сегодня с ним целый
день. Возможно прежде я его отсеял только когда он появился: судя по
репозиторию, через какое-то время его обновили.

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

То есть, Inconsolata LGC в принципе то устраивала, но Go просто ещё
лучше оказывается. Хотя и чувствую себя каким-то яблочником, ибо у них
всё, к чему притронулась рука Apple, становится лучшим на свете. А я Go
считаю лучшим ЯП, а тут вообще речь про шрифт.

3 years agoПрочитал "Гениалкогадский пунш желаний" Михаэля Энде
Sergey Matveev [Mon, 29 Nov 2021 17:28:19 +0000 (20:28 +0300)]
Прочитал "Гениалкогадский пунш желаний" Михаэля Энде

https://www.litmir.me/br/?b=736712&p=1
Просто попалась эта книга по списку, но в тему предстоящего Нового Года.
Годится и для детей маленьких. Про то, как ворон с котом спасли мир от
всего плохо. Понравилась. Лёгкая, очень смешная, добрая.

3 years agoСтатья cmustdie.com на Хабре
Sergey Matveev [Mon, 29 Nov 2021 12:35:33 +0000 (15:35 +0300)]
Статья cmustdie.com на Хабре

https://habr.com/ru/post/592233/
@#$, автор даже опечатки и ошибки оставил как на оригинальном сайте.
Прям буквально Ctrl-A, Ctrl-C, Ctrl-Tab, Ctrl-V.

3 years agoИзбавляются от Лены, "Первой леди Интернета"
Sergey Matveev [Mon, 29 Nov 2021 09:47:39 +0000 (12:47 +0300)]
Избавляются от Лены, "Первой леди Интернета"

https://richg42.blogspot.com/2021/11/lena-is-retired.html
https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D0%BD%D0%B0_(%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5)
https://habr.com/en/company/nag/blog/408831/
Только сейчас узнал почему её изображение обрезано на уровне плеч:
банальное ограничение сканера на геометрию.

3 years agoSolefald любимейшая группа сейчас
Sergey Matveev [Sun, 28 Nov 2021 18:27:53 +0000 (21:27 +0300)]
Solefald любимейшая группа сейчас

https://en.wikipedia.org/wiki/Solefald
https://www.youtube.com/watch?v=kfb08b6iIMs
Если сейчас спросить какая группа у меня любимейшая, то в этом году
однозначно бы ответил что Solefald. В этом году заслушиваю до дыр. Даже
их "викинговые" альбомы заходят. На записи их концерт в стенах какой-то
крепости, похоже -- круто выглядит. Их Cornelius Jakhelln-а в живую в
составе GUT слышал -- вообще полностью грайндкорная тема.

3 years agoTardigrade Inferno vs Solefald
Sergey Matveev [Sun, 28 Nov 2021 09:22:06 +0000 (12:22 +0300)]
Tardigrade Inferno vs Solefald

В 625a35369110ae8ddefef73b50c1f57e52d7bc64 писал что дежавю есть от
прослушивания Tardigrade Inferno некоторых песен. Слушаю "Circular
Drain" Solefald-а и мотивчик с третьей минуты "Sivilisasjonens
Slor-Ravens Fall" трэка прям скопировано Tardigrade-ом в какой-то из
композиций.

3 years agoПереписал torn с Perl на zsh
Sergey Matveev [Sat, 27 Nov 2021 19:36:53 +0000 (22:36 +0300)]
Переписал torn с Perl на zsh

http://www.git.stargrave.org/?p=torn.git;a=blob;f=torn.zsh
Мой самый старый престарый скрипт из всех что я использовал регулярно по
сей день, где в copyright указан аж 2007-ой год, переписан с Perl на zsh.
Точнее он стал zsh функцией, а не полноценным исполняемым скриптом.

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

Подразумевается что используется это вместе с zmv, но никакой специфики
для него нет. Вместо "torn" вызова можно сделать: zmv "*" '`torn $f`.
Прежде была FORCE_DIR переменная, а теперь достаточно работать с glob-ом
самого zsh. zmv -Q "(**/)*(.)" '`torn $f`'. Можно вызывать tornt функцию,
только для транслитерации. Можно включить интерактивный режим (-i) или
dry-run (-n) самого zmv.

Это же ещё и первый раз когда я написал функцию для использования с autoload-ом.

3 years agoРеклама польских политиков
Sergey Matveev [Sat, 27 Nov 2021 15:56:41 +0000 (18:56 +0300)]
Реклама польских политиков

https://www.youtube.com/watch?v=nUHBN-Qyrow
Не, я конечно в курсе сколько много отличных метал групп в Польше,
сколько я был на их концертах всяких, но у них и политики делают
заявления с death-metal подачей!

3 years agoМеталисты -- самые преданные
Sergey Matveev [Sat, 27 Nov 2021 15:46:20 +0000 (18:46 +0300)]
Металисты -- самые преданные

https://rockcult.ru/po/metal-psychology/
Вероятность измены у металистов меньше чем поклонников других жанров.
А ещё это самые лояльные люди.

3 years agoУнитаз Ульриха и Арайя в украинском зоопарке
Sergey Matveev [Sat, 27 Nov 2021 09:02:01 +0000 (12:02 +0300)]
Унитаз Ульриха и Арайя в украинском зоопарке

http://www.hitkiller.com/imennoj-unitaz-larsa-ulrixa-foto-kotorye-luchshe-ne-videt.html
http://www.hitkiller.com/statuya-frontmena-slayer-poyavilas-v-ukrainskom-zooparke.html
Slayer статуя крута!

3 years agoЦикл в fish и zsh
Sergey Matveev [Fri, 26 Nov 2021 20:26:32 +0000 (23:26 +0300)]
Цикл в fish и zsh

https://rmpr.xyz/the-fish-shell-is-amazing/
Автор показывает как плюс синтаксис fish:
    for i in *.pdf
        echo $i
    end
по сравнению с "bash/zsh":
    for i in *.pdf;
    do
        echo $i;
    done
Во-первых, ";" излишни в этом примере. Во-вторых, в zsh это бы было:
    for i (*.pdf) echo $i
И без всяких кавычек в большинстве случаев (впрочем, вроде и fish тоже
экранирует автоматом многое корректно). Куда короче чем в fish.
Хочется несколько команд? for i (*.pdf) { foo ; bar }.

3 years agoКак на порядок увеличить скорость чтения файла в ZFS на NVMe
Sergey Matveev [Fri, 26 Nov 2021 17:33:31 +0000 (20:33 +0300)]
Как на порядок увеличить скорость чтения файла в ZFS на NVMe

А точнее как не снижать скорость на порядок. В
032f5e60bc6079a889859150d5b5baf0f80d252a писал что у меня очень не
шустро читаются файлы. Но при этом быстро идёт scrub, resilver и, как
оказалось, dd с ZVOL-ов. Последнее точно говорит что все данные проходят
через круги сжатия и проверки целостности.

Оказалось, что у меня было заблуждение на протяжении 10+ лет касательно
prefetch-а и SSD. То что prefetch может вредить random IOPS-ам, особенно
на HDD -- тут всё очевидно. Но я также считал что оно и для SSD
бесполезно будет тратить пропускную способность.

Отключение sysctl vfs.zfs.prefetch_disable=1 настройки избавило от всех
проблем со скоростью чтения файлов. Предполагаю что банальные задержки
при отправке и ожидания IO запроса и сводят на нет всю производительность.
Как в сетях и модемах: если ждать ответ на каждый запрос, и только потом
отправлять очередной, то канал утилизируется самым плачевным образом. У
меня и в мыслях не было что на таких быстрых и коротких высокочастотных
PCIe это тоже будет заметно проявляться.

3 years agoПроверка производительности пропускной способности памяти
Sergey Matveev [Thu, 25 Nov 2021 08:36:11 +0000 (11:36 +0300)]
Проверка производительности пропускной способности памяти

https://zsmith.co/bandwidth.php
Хоть Makefile-ов под FreeBSD нет, но собирается clang-ом без проблем.
А то я даже не знал прежде чем вообще можно было бы померить скорости.