Sergey Matveev [Mon, 14 Mar 2022 07:21:23 +0000 (10:21 +0300)]
Добавление vi редактора в базовую поставку OpenBSD
https://marc.info/?l=openbsd-misc&m=164712097216385&w=2
https://marc.info/?l=openbsd-misc&m=164719528006146&w=2
Просят добавить vi в базовый bsd.rd, а то "ну не возможно же!". Мол
разница между ed и vi составляет сотню килобайт всего. Но OpenBSD
непреклонны и просто учат пользоваться ed-ом. Приятно что я его знаю
в достаточной мере чтобы без особого дискомфорта бы можно было
отредактировать конфиги системы.
Sergey Matveev [Mon, 14 Mar 2022 07:10:41 +0000 (10:10 +0300)]
Поддержка 802.11n, 802.11ac, 802.11.ax в *BSD
https://mail-index.netbsd.org/netbsd-users/2022/03/11/msg028309.html
https://marc.info/?l=openbsd-misc&m=164722138610044&w=2
https://wiki.freebsd.org/WiFi
https://wiki.freebsd.org/WiFi/80211ac
В рассылках этих двух ОС подняли тему поддержки этих быстрых WiFi. И
такой поддержки ни у кого нету, кроме маленькой 802.11n в OpenBSD. Про
GNU/Linux на сайтах FSF видел что адаптеров со свободным драйверами тоже
нема высокоскоростных -- типа 1-2 модели в природе существует. В FreeBSD,
насколько вижу, "n" имеется (но наверное только с закрытыми блобами), а
работа по "ac" только идёт.
Sergey Matveev [Mon, 14 Mar 2022 07:03:35 +0000 (10:03 +0300)]
Насколько часты ошибки контрольной суммы в ZFS?
https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSOurRareChecksumFailures
В этом очень популярном блоге Chris Siebenmann-а пишут о том что это
отнюдь не редкость, обнаруживаемая во время scrub-ов. Причём речь у него
про десятки SSD-шек.
Sergey Matveev [Sun, 13 Mar 2022 14:39:15 +0000 (17:39 +0300)]
RIPE NCC и отключение IP-адресов
https://roskomsvoboda.org/post/vzveshennaya-pozitsia-ripencc-icann/
К словам людей на Роскомсвободе я отношусь крайне критично и с
недоверием, ибо они связаны с оппозицией исключительно, во всех бедах
винят только одного человека. Но не раз там повторили, что RIPE NCC
организация слушается законодательства Голландии.
Что для меня означает что они гарантированно в обязательном порядке IP
адреса "отожмут". Это полностью равносильно полному отключению РФ от
Интернета. Возможно им это и не надо, чтобы можно было координировать
своих сепаратистов, оппозиционеров и врагов РФ. Но у меня сомнения.
А я говорил и подчёркивал уже несколько лет назад, что Интернет как
таковой (как некое чудо света со связанными глобально компьютерами) уже
вымирает, семимильными шагами происходит "балканизация". Это не отключит
внутрисетевое взаимодействие в РФ -- наши власти уже не первый год
заблаговременно готовились к этому и проверяли насколько всё упадёт при
отключении от внешнего мира. Банки, оставшиеся соцсети, всякие там VPN
до рабочих мест -- всё это будет работать конечно же, что власти и
проверяли не однократно. Что там будет с Азией (будут ли они "доверять"
решению RIPE NCC) -- политика решит.
А между тем, полчаса назад я сделал релиз NNCP аж 8.7.2. Жопой, так
сказать, чуял что всё это пригодится.
Sergey Matveev [Sat, 12 Mar 2022 19:35:20 +0000 (22:35 +0300)]
У знакомого молча увели домен
https://phd-ru.dreamwidth.org/357642.html
Я когда-то тоже использовал зарубежные регистраторы, мол, ведь надёжно
и дёшево. Но после того, как на три дня потерял над ним контроль, ибо
французы хотели увидеть всякие там паспорта, я зарёкся связываться по
этому делу с кем-либо, кроме организаций внутри страны.
Sergey Matveev [Sat, 12 Mar 2022 16:05:57 +0000 (19:05 +0300)]
Определение interlaced видео в ffmpeg
В выводе mpv не знаю где указывает информация об interlace. Плюс не
всегда оно явно указано. И на глаз не везде так легко определить есть
ли эта чересстрочная развёртка.
ffmpeg -i ... [-frames:v 100] -filter:v idet -an -f rawvideo -y /dev/null
Выводит статистику о прогрессивных кадрах и потенциально чересстрочных
(TFF (top frame first) и BFF).
Убрать её можно действительно отличным -vf yadif фильтром, от которого
не заметно overhead-а и визуально никаких неприятных артефактов.
Sergey Matveev [Sat, 12 Mar 2022 14:43:19 +0000 (17:43 +0300)]
FFV1 кодек оказывается уже RFC 9043
https://en.wikipedia.org/wiki/FFV1
https://datatracker.ietf.org/doc/html/rfc9043
В прошлом году этот lossless видеокодек стал даже RFC.
Я тут обнаружил что он жмёт некоторые видео даже лучше чем lossless VP9.
А в Интернете говорят аналогичное: 80% размера от HEVC может выходить.
Вот только HEVC/VP9 это считанные FPS а то и вообще FPM скорости, а FFV1
у меня кодирует примерно с 4-х кратной скоростью от оригинального потока.
Плюс распараллеливается хотя бы на четыре ядра ещё, тогда как VP9 только
на два.
Sergey Matveev [Sat, 12 Mar 2022 13:41:28 +0000 (16:41 +0300)]
LINX отключила Мегафон и Ростелеком
https://habr.com/ru/news/t/655301/
https://roskomsvoboda.org/post/kinx-otkliuchil-rf-ot-mezhdunar-traff/
Ну наши компании могут заявлять что угодно, но сегодня у меня около 20
feed-ов грузятся с большими тормозами, вылетая регулярно по timeout-ам.
Причём прежде с ними проблем не было (а то бывают и такие, что зависят
от солнечных батарей и поэтому частенько недоступны).
Sergey Matveev [Sat, 12 Mar 2022 11:36:36 +0000 (14:36 +0300)]
Mind's Eye и ReBoot
http://lionovsky.us/blog/o-zhizni/no-ne-tolko-saitami-i-zhelezom-ediny.html
https://en.wikipedia.org/wiki/Mind%27s_Eye_(film_series)
https://ru.wikipedia.org/wiki/ReBoot_(%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D1%81%D0%B5%D1%80%D0%B8%D0%B0%D0%BB)
https://www.youtube.com/watch?v=iYrKYETorM8
https://inwap.com/mf/reboot/episodes/201.html
Узнал про такую штуку как видеоролики Mind's Eye, в которых просто
компьютерная графика/анимация с музыкальным сопровождением. Как и
автор статьи, тоже с удовольствием посмотрел (пока только один .mpg).
Вот именно такую графику трёхмерную я больше всего и люблю. Возможно
потому что это ассоциация с детством, в котором как-раз рядом с
компьютерами стали вовсю использовать слово "мультимедиа" (сейчас,
похоже толком вообще не применяющееся). Первым делом представляю графику
из "Газонокосильщика" на самом деле и всякие prerendered ролики
некоторых компьютерных игр типа M.A.X.
(5648578d297f9e69a6e9b3da5a9e9885abcc8488).
Мне реально очень нравится графика без текстур -- типа я вижу чёткое
геометрическое выражение. Графика в этих роликах мне нравится тем, что
там (точно не уверен) наверняка "чистые" математические поверхности,
описанные простыми формулами, а не агрегат из кучи треугольников.
Сколько я не видел статей про трассировку лучей, то вывод давно сделал
только один: ray tracing это очень просто и легко, только ресурсоёмко.
Сделать офигенный ray tracer фотореалистичный, типа как эта картинка,
которая меня всегда восторгала: https://en.wikipedia.org/wiki/File:Glasses_800_edit.png
не сложно, насколько понимаю: гораздо сложнее создать Doom, чтобы он
бегло работал на 386-ом компьютере.
А в детстве по ТВ показывали мультсериал полностью трёхмерный, название
которого я никогда и не знал. Оказывается "ReBoot". Сразу сейчас
бросается в глаза то, что там нет теней от персонажей.
Sergey Matveev [Sat, 12 Mar 2022 08:41:35 +0000 (11:41 +0300)]
Про санкции все эти
За последнюю неделю мне много раз звонили друзья чтобы просто поболтать
и обсудить всю эту ситуацию происходящую. Половина из них работает на
космических предприятиях. Я на ФСБ, пускай и не напрямую. Впервые ко мне,
за всё время жизни в отдельной квартире, просто так зашли в гости ради
поболтать. У меня допуск к секретным документам, у кого-то даже к
совсекретным, так что множество информации у нас в целом немного
побольше чем доступно в публичном доступе.
И после кучи обсуждений в общем-то приходим к тому, что пока переживать
не о чем так сильно. Точнее: безусловно палку в колёса вставили, какие
то процессы будут приторможены, но ничего критичного. Убрали МакДональдс?
Среди знакомых не нашлось тех, кто был бы этому не рад. Честно говоря, я
многие годы предпочитал взять какую-нибудь шаурму у чурок (в отличии от
"пиндосов" в это слово я никакого негатива не вкладываю, просто уже
привык собирательно их так называть), ибо они мне куда ближе и роднее и
я охотнее хочу с ними делить своими деньгами, чем с западной страной.
Элитные машины? Без комментариев. TSMC? Тут я ответа не знаю, но вроде
всякие умные дядьки выше меня не сильно переживают по этому поводу, ибо,
само собой не без помощи других азиатских друзей/коллег, типа Китая, это
решаемо. Карт Visa/MasterCard у меня уже лет пять вообще в руках не
было. Я и так то их конечно не использую, но вижу что родители Мир-ом
расплачиваются где угодно, в том числе online, не первый год. Что что-то
станет подороже: да, не без этого, неудобства имеются.
Близкие знакомые из Харькова сообщали что они, даже если бы и захотели,
то не смогли бы уйти, ибо просто боятся, а точнее уверены, что их же
соседи просто в спину пристрелят. С 2014-го года знали про них и про их
отношение. Родился и рос на Украине всю жизнь, но несколько лет
поработал в России -- открыто говорят что достоин смерти после этого.
Никому из нас не нужно смотреть и слушать СМИ, чтобы понимать насколько
там всё серьёзно. Считать что страна выбрала нацистский путь, это её
суверенное право? Если бы они при это не убивали русских граждан (как и
вообще всех русскоговорящих, но это ладно, ибо я и по английски и по
немецки немного шпрехать тоже умею), если бы хоть кто-либо давал хоть
какие-то гарантии о безопасности РФ или хотя бы не разворачивал
НАТОвские базы под боком, но дошли же то угроз и ядерным оружием? Какой
тут мог бы быть вариант ещё?
Знаю людей которые считают, без каких-либо оснований, но просто упорно
считают что наши дипломаты точно-преточно ничего не пытались сделать и,
мол, сразу взялись за оружие. Теперь им обидно что русские стали изгоем
во всём мире. Во-первых, только на Западе, но, уверен, что для этих
людей миром является только Запад, а остальных не существует, это просто
придаток такой. Во-вторых, эти же люди не в курсе о том, что иранцы уже
не первое десятилетие являются синонимом террористов, мусульмане в США
аналогично (это даже высмеивали не раз в Симпсонах). То есть, эти люди
вообще никаких новостей не смотрели, ничего не читали, ничего кроме
Западных фильмов типа не видели похоже, но начинают рассуждать о
политике, о дипломатии. Небось на 100% не верят что была водная блокада
Крыма, ведь про неё я не смог найти информацию в англоязычных источниках
(кроме наших СМИ переводящих новости) -- но они и не ездили в Крым ни
разу после 2014-го года, тогда как наша семья там была уйму раз, само
собой разговаривая с местными жителями и видя что нацисты там пытались
устраивать.
Друзей удивило наличие людей, которые готовы уехать в Ереван, ибо там
можно какие-то акции МВидео обналичить. Они не против, если бы эти люди
сдавали паспорта и уезжали вовсе. Меня то наличие этих продажных шкур
вообще не удивляет, ибо в ИТ отрасли таких много. Когда запретили ввоз
хамона, то много кто выл "как же теперь жить то!?". На куче ИТ ресурсов
постоянные обсуждения как покинуть Родину. Я открыто спрашивал родителей
и друзей: разве это не равносильно обычному такому предательству? Или
может это я что-то преувеличиваю? Но нет -- все в один голос без
сомнений это интерпретируют как предательство само собой. Мол чуть
что-то клюнуло тебя -- сразу в кусты, сразу продаваться как шлюшка,
сразу бежать поджав хвост, ну и всё в таком духе. Поэтому мудрые
директора и начальники пресекают любые политические темы на работе.
Особенно, видимо в ИТ сфере, где очень разносторонний контингент в
этих вопросах.
Отключения соцсетей, всяких платёжных систем типа ApplePay -- разве
вообще то откровенно не может не радовать меня? Меня давно удручает вся
эта зависимость от Запада, где вся политика давным давно это терроризм,
шантаж, выдумки и откровенное бесстыдное враньё. Отозвали X.509 TLS
сертификат банков? Через неделю подняли свой УЦ российский? Где-то на
Хабре видел что Яндекс хочет и Certificate Transparency наподнимать. А
почему раньше этого не делали и еле волочили процессы по поднятию УЦ? У
нас в РФ (или у русских в целом?) есть огромная проблема: пока гром не
грянет, то ничего никто не начнёт делать. Поэтому у меня надежда что все
эти санкции будут нужным пендалем чтобы поторапливались все.
Либо на самом деле всё не так: преобладающая часть граждан не сможет без
соцсетей и смартфонов с МакДаками, поэтому всё развалится. Иран, в
условиях десятилетий почти полной изоляции от Запада, не имея толком то
никаких специалистов и наработок (в науке и технологиях), смог стать
отличной клёвой страной с хорошим уровнем жизни. А РФ не сможет? Если
так, то значит грош цена этой стране и поделом и стыдно за неё. Поэтому
посмотрим как на самом деле всё будет обстоять.
Поднимали друзья и тему службы, если призовут. Все из нас готовы пойти
на защиту. На работе нам обещали для всех бронь -- а у меня то мысль
возникла что я её не хочу, ибо был бы хоть какой-то шанс принести пользу
Родине, хотя и понимаю что какой из меня боец? Но за Родину, за Путина
любой из нас пошёл бы. Хотя и не ясно много ли таких, или всё же страна
состоит из сплошных продажных предателей и это было бы всё в пустую и
граждане хотят быть очередной подстилкой США? Увидим, но пока чего-то
фатального не наблюдается, а наоборот надежда что наконец-то долгожданный
пендаль таки пришёл.
То что существенно будет отрезан Интернет, или как таковой пропадёт: я
давно про это говорил. Просто так я что ли вообще интересуюсь темой
store-and-forward и написал NNCP? Видя статьи со списком того что у нас
или заблокировано или поддерживает нацисткий режим и геноцид русских
(поэтому отказывается работать с РФ), даже диву даюсь почему я ни от
чего из этого не завишу, не пользовался почти ничем и даже надобности не
имел? Просто, как мне кажется, здравый смысл о том, что зависимость от
потенциальных (на тот момент) врагов это как-то странно, не говоря про
то что любой проприетарный софт/сервисы это только зависимость и
контроль над тобой. Страдать от блокировок сервисов с сильнейшей
цензурой, где призыв убийства таких как ты -- поощраемая норма, а
упоминание о той же водной блокаде Крыма это недопустимая информация?
Просто так я что ли храню tarball-ы, сохраняю книги и статьи которые
могут быть полезны в будущем? Это связано ещё и конечно просто с фактом
что любой сервер и без политики может уйти в down. Но если РФ состоит в
массе своей из соцзависимых людей, которые не против геноцида себя же...
Sergey Matveev [Sat, 12 Mar 2022 08:22:47 +0000 (11:22 +0300)]
DuckDuckGo цензурирует российские СМИ
https://habr.com/ru/news/t/655303/
Ну... имеет право, обязан наверное, ведь война же информационная. Но я
давно заметил что по какой-то причине он ничего не находит при указании
"site:habr.com" например.
Sergey Matveev [Sat, 12 Mar 2022 08:16:47 +0000 (11:16 +0300)]
Dieharder тесты на обновлённом /dev/random Linux-а
https://www.metzdowd.com/pipermail/cryptography/2022-March/037765.html
PRNG обновили (d77a77f49c4bee22b5e4ed1d8a9d928d05d6d2fa) и теперь
/dev/random выдаёт много WEAK результатов. Я давно говорил что GNU/Linux
не серьёзен для криптографического применения, как минимум, из-за плохого
PRNG на протяжении всей своей истории. Помню что прогонял Dieharder тесты
и они и на Yarrow-основанном PRNG тоже не полностью все проходили, а вот
на Fortuna (которая в FreeBSD уже давным давно) всё на ура. Как только у
людей поворачивается язык считать что GNU/Linux более шифропанковский?
Sergey Matveev [Fri, 11 Mar 2022 14:35:17 +0000 (17:35 +0300)]
go.stargrave.org/rutrackerer
http://www.git.stargrave.org/?p=rutrackerer.git;a=blob;f=README
Хочется в XML-ке Rutracker (4d19c66cf2a24f6d1875bb90b2caa70577141875)
искать быстро, достаточно только по заголовкам. Написал простенький
индексатор на Go, который сохраняет метаданные в родном gob формате.
И простенький поискатор, который отправляет заголовки в grep, передаёт
ему аргументы командной строки (GNU grep быстрее, плюс распараллеливание
появляется), из него узнаёт порядковые номера заголовков найденных и
показывает о них данные на экран. Плюс утилитка просто которая по
offset-у в XML-ке может показать данные. Работает всё это очень и очень
шустро, полностью меня удовлетворяя. Единственный недостаток: индекс
полностью загружается в память, хотя это всего лишь полгигабайта.
Sergey Matveev [Fri, 11 Mar 2022 07:54:49 +0000 (10:54 +0300)]
Копирование Люциферазы Хелависы
https://ru.wikipedia.org/wiki/%D0%9B%D1%8E%D1%86%D0%B8%D1%84%D0%B5%D1%80%D0%B0%D0%B7%D0%B0_(%D0%B0%D0%BB%D1%8C%D0%B1%D0%BE%D0%BC)
https://john-millikin.com/%F0%9F%A4%94/why-i-ripped-the-same-cd-300-times
https://habr.com/en/post/418995/
https://john-millikin.com/%F0%9F%A4%94/error-beneath-the-wavs
http://ixbtlabs.com/articles2/magia-chisel/index.html
https://near.sh/articles/compact-discs/structure
На концерте Мельницы (527ff21a5e31fd0ef55a16ab92840b12ed707706) приобрёл
диск Хелависы. И не удавалось его скопировать, даже когда указывал
минимальную скорость чтения привода. cdparanoia упорно говорит что на
протяжении всех трэков идёт джиттер. При этом на одном из проходов
какая-то часть трэка читалась без джиттера.
Вспомнил про статью где мужик сотни раз копировал один и тот же диск
разными приводами и в итоге сводил ошибки чтения к минимуму. Сам автор
считает что это был брак самого мастер-диска на заводе. Но из
интересного: есть звуковые или видео файлы, которые при записи на диск
будут выдавать ошибки чтения. Из-за EDC кодирования, преобразующего 8
бит в 14 бит, которые могут превратится в последовательность байтов
синхронизации кадров на диске. Страшно, так как ты не можешь записать
произвольные данные, ибо они могут быть не так интерпретированы приводом
и их уже нельзя будет достать. Поэтому надо бы проверять просто хотя бы
на факт успешного чтения.
Всё это к альбому Хелависы не относится конечно. cdrdao всё скопировал,
не ругался, при этом по умолчанию --paranoia-mode выставлена в full
paranoia. Вообще-то есть щелчки какие-то в музыке их. Достал пиратскую
запись (lossless) -- там точно так же. Или всё везде так же плохо или
это они явно такую фишку сами привнесли, мол как грампластинка?
Когда я был маленький, то прям чётко помню что считал лютым бредом
заявления о точности и качественности копирования/проигрывания аудио
дисков, ведь каждый же день мы сотни раз с одного и того же диска читаем
программы/данные и ни бита в них не меняется при этом. Ещё в школе у
меня ещё возникал диссонанс и не понимание, на которое никто мне не мог
дать ответа (ведь Интернета не было, а в журналах/книгах только
поверхностная информация): если на диске 74мин аудио, а он при этом
вмещает ~650MiB данных, то как же так:
74 * 60 * 44100 * 16/8 * 2 = ~746 MiB
Что вообще на сотню мегабайт больше чем заявленные 650! В будущем уже
где-то увидел информацию про разные режимы и структуру секторов дисков,
где видно что аудио сектора не имеют ни кода Рида-Соломона, ни даже
информации о номере сектора! Отсюда и вероятность необнаруживаемых
ошибок чтения и причина возможности появления джиттера, когда мы понятия
не имеем где *точно* находимся. При хранении данных каждый сектор
содержит 2048 байт, а для аудио уже 2352 байт. А вообще диск содержит
более 2.3GiB (8f9a498be4357d8c7ab11b3148e3d999a590cb1b).
Ещё мне было не понятно почему стандарт говорит о 650MiB, которых я
действительно много встречал (CD-R/RW), но в 2000-х по сути везде только
700MiB встречаются. Всё оказалось просто: у дорожки (а она одна
спиральная на весь диск) есть технологические допуски при производстве.
650MiB (333000 секторов) это то, что все обязаны предоставить. К концу
90-х технология производства стала так хороша и точна, что допуски можно
сократить и дорожку чуть плотнее размещать на диске, добавляя ещё пару
десятков тысяч секторов без проблем. Поэтому можно и 800MiB делать, но
уже рискуя что привод из-за собственного несовершенства не факт что
сможет такие плотные дорожки писать/читать.
Sergey Matveev [Thu, 10 Mar 2022 20:32:28 +0000 (23:32 +0300)]
Уроки от консервного ножа
https://www.youtube.com/watch?v=i_mLxyIXpSY
В видео показаны разные консервные ножи. Я использовал советский само
собой, с крутящейся ручкой, замечал что мой текущий с крутящейся ручкой
имеет больше колёсиков и им проще пользоваться. Но оказывается банки
делаются не пайкой, не сваркой, а зажимом слоёв металла. И есть такая
штука как "безопасная открывалка" (не знаю как это корректно по русски
называется), которая имеет маленькие колёсики которые именно эти слои
металла с краю раскрепляют. Крышка после этого держится, не падает во
внутрь. Полностью отсутствуют острые края. Не требуется сила какая либо
для открытия. Ничего режущего не попадает во внутрь, загрязняясь.
Выглядит как штука которая просто обязана заменить другие открывашки (ну
кроме простого консервного ножа), но этого не происходит.
И автор задаётся вопросом сколько ещё есть подобных вещей кажущихся нам
привычными и обычными, которые уже ну просто не возможно улучшить.
Действительно хороший вопрос. Я сразу бы сказал про "make vs redo". И
вот не смотря на наличие всем-во-всём лучшего решения -- всё равно люди
не переходят на него.
Sergey Matveev [Thu, 10 Mar 2022 07:46:52 +0000 (10:46 +0300)]
Российский доверенный корневой CA
https://www.opennet.ru/opennews/art.shtml?num=56830
https://bugzilla.mozilla.org/show_bug.cgi?id=1758773
Пока гром не грянет, пока жареный петух не клюнет, пока рак на горе не
свистнет, но нет, мы делать свой CA не будем, зачем? Но первого марта
всё же догадались из Минсвязи сделать таки его. Почему то RSA, даже не
ECDSA. Но типа ничего лишнего в сертификате не прописано, в тикете на
Bugzilla приложен архив с CMS подписью Головного УЦ этого сертификата.
Конечно же для кучки людей УЦ под управлением РФ это "MitM", а УЦ под
управлением США/НАТО это безопасность/демократия/свобода. Тут ничего
нового. Хотя даже Let's Encrypt, в компетентности техспециалистов
которого я не сомневаюсь, не раз выпускал корявые сертификаты.
Не могу же я не придраться к сертификатам и CMS-кам этого нового УЦ?
Расширение файлов ".crt" -- официально такого нет в RFC-ах, ибо для
сертификатов официально ".cer". Но фиг с ним, ибо внутри вообще PEM.
И мой pretty printer молча вышел, ничего не показав на этом файле.
Оказалось что я впервые в жизни встретился с PEM-ом с DOS-овскими
окончаниями строк. Плюс внутри до сих пор применяются КриптоПро OID-ы
вместо ТК26-ых.
Sergey Matveev [Wed, 9 Mar 2022 15:53:37 +0000 (18:53 +0300)]
Rutracker API и XML
http://api.rutracker.org/v1/docs/swagger.json
https://rutracker.org/forum/viewtopic.php?t=5591249
В комментарии к 4f2673f6010a28c6ab4037ed2fb1dfca74075a9b мне указали на
наличие API у Rutracker. Функционал не богатый, но, как минимум, можно
узнать хэш торрента зная идентификатор раздачи (раздела форума), так как
многие раздачи регулярно обновляются. Попробовал
https://github.com/raitonoberu/rutracker-api утилиту, но поиск не даёт
делать, ибо не позволяет мне авторизоваться (лень разбираться в чём дело).
Но есть раздача XML-ки всего содержимого этого трэкера, которая у меня
была скачана даже когда-то прежде. Вполне себе годный вариант для
поиска, а затем API для узнавания точного (актуального) хэша торрента,
чтобы через DHT он мог найтись.
Попробовал ещё https://github.com/Snawoot/trusearch утилитку на Go,
которая JavaScript выражением позволяет искать в XML-ке всякое. Но, на
момент написания, "total dos collection" так и не был найден, не
дождался. Просто GNU grep -i "..." и less с переходом на нужную строку
отрабатывают быстрее.
И в очередной раз убеждаюсь насколько же важно иметь быстрый
декомпрессор. Wikipedia дампы делаются в bzip2 -- фиг дождёшься
декомпрессии. xz, который используется для XML-ки Rutracker --
вполне хороший вариант, хотя и не такой стремительный как zstd.
Sergey Matveev [Wed, 9 Mar 2022 14:27:11 +0000 (17:27 +0300)]
termcap ограничения в FreeBSD
https://forums.freebsd.org/threads/st-terminal-convert-terminfo-to-termcap.75326/
На фоне tmux-овых terminal-features посмотрел на то, чтобы честно
использовать "st" описание терминала, честно установить знание о нём в
систему, чтобы tmux честно понимал без дополнительных подсказок с чем
имеет дело. Но st предоставляет terminfo записи, а FreeBSD использует
termcap. Ну значит, просто навсего, надо сконвертировать terminfo в
termcap же. Но всё утыкается в то, что запись termcap-а ограничена одним
килобайтом и в него не помещается всё указанное для st терминала.
Насколько понял -- ничего с этим не поделать. В итоге плюнул. Хотя
похоже что идёт работа по переезду в FreeBSD с termcap-а на terminfo.
Sergey Matveev [Wed, 9 Mar 2022 12:10:13 +0000 (15:10 +0300)]
Нашествие зомби в моей системе
http://www.git.stargrave.org/?p=godwmstat.git;a=commitdiff;h=d7682898d29de9c0eb64346228e9212a57349d72
Не знаю о чём я думал когда писал этот код, но он не делает wait()
процесса sysctl, который каждую секунду считывает значение текущей
частоты процессора. Посмотрев в top, заметил что у меня 15 тыс. зомби
процессов -- случайно обратил внимание. Впервые столкнулся с этим --
обычно родители всё же умирают и зомби усыновляется init-ом, поэтому их
мало когда видно, тем более в таких количествах.
Sergey Matveev [Wed, 9 Mar 2022 11:15:56 +0000 (14:15 +0300)]
Наши люди обожают рисковать всем
судя по всему. Узнал я тут про такой сервис как Домклик от Сбербанка, в
котором совершаются сделки по недвижимости. Типа люди его предпочитают
за безопасность. Порылся в их статьях и описаниях что же это такое и как
оно работает. В общем, Сбербанк для участников выпускает квалифицированные
сертификаты (ключевые пары), которые в дальнейшем участвуют в подписании
всех документов сделки. Я даже побывал в этом Сбербанке и спросил лично
где же находится мой приватный ключ то при этом? Мне выдают какой-то
USB-"криптоключ"? "Нет, нет, нет, что вы, только смартфон, никаких
ключей, всё делается через личный кабинет Домклика". На сайте позже
нашёл прям буквально открыто сообщающийся факт о том, что все ключи
хранятся в "облаке" этого сервиса.
С одной стороны есть люди которые кричат "все эти ЭЦП всё равно
подделываются и ничуть они не безопаснее". С другой стороны есть "ЭЦП
это надёжно и безопасно, а раз Домклик использует ЭЦП, то это безопаснее".
То есть, если прежде, при сделке требовались мои подписи: нечто что в
теории как бы могу сделать только я -- нечто аутентифицирующее меня, то
тут предлагают использовать нечто, что находится в руках совершенно
третьего лица, которое может сделать абсолютно действительную,
юридически работающую, подпись от моего имени. Нет никакого способа
доказать что подпись сделана не мной. Если с физической подписью есть
способы доказать что подпись сделана рукой другого человека, то с ЭЦП
всё, действительно, надёжно -- или она валидна (с невероятно
непренибрежимой вероятностью что это не так), или нет. Но ЭЦП в
Домклике/Сбере могут технически/физически сделать масса людей. А лично я
даже не имею на руках свой приватный ключ.
То есть, прежде, хотя бы аутентифицирующая меня информация остаётся при
мне, а с "безопасным" Домкликом она *полностью* отдаётся под управление
третьему лицу. Типа как-будто я сходил к нотариусу и сделал бумажку где
наделяю правами это третье лицо (Домклик/Сбер) на *любые* действия
которые требуют моей подписи. И всё будет держаться только на надежде и
доверии что он не будет злоупотреблять такими абсолютными правами.
Мягко говоря, это полнейшее безумие. После выпуска такой ЭЦП, с этой же
секунды, Домклик/Сбер (его сисадмины, программисты и прочие люди) могут
подписать документ о том что я подарил например свою квартиру кому-то
или согласился продать. Нет ничего что бы препятствовало этим действиям.
Захотел через Домклик купить квартиру -- потерял ещё и свою, ибо
юридически все документы подписанные тобой (якобы, хотя на самом деле
кем угодно, но только не тобой, ибо на руках у тебя никогда не было
приватного ключа) имеются.
Ничего более небезопасного я ещё не встречал. Например банковские карты,
которые могут "утечь", могут быть скомпрометированы -- всё же банками
эти риски покрываются и ущерб будет возмещён. Но тут же речь про святую
святых, так сказать: аутентифицирующее, тебя и только тебя, действие. По
определению если в сертификате ЭЦП прописан я, то по определению только
я должен иметь приватный ключ под управлением и только я могу его
использовать. Если это не так, то ключ по определению является
скомпрометированным, ибо владелец сертификата не имеет над ним полного
контроля. В Домклике владелец сертификата вообще не имеет над ним
никакого контроля.
Это пугает жить среди людей которые подобное безумие считают нормой или
даже чем-то положительным. Интересно, сколько в итоге людей останется
вообще без крова из-за этого? Удручает что близкие люди в это ввязались
и я реально боюсь что они могут потерять и "новую" (покупаемую) квартиру
и свою текущую. А удручает то тот факт, что моё мнение не стоит ничего,
точнее меня откровенно открыто считают выпендрёжником, "мол все так
делают же", и вообще стыдятся меня. Не раз убедился что люди если кого и
слушают, то пустозвонов маркетологов и громкие рекламы, хотя вообще-то
задача всех этих рекламщиков и банков -- зарабатывать деньги *себе*, а
не помогать людям в этом деле (по определению).
Sergey Matveev [Wed, 9 Mar 2022 07:39:43 +0000 (10:39 +0300)]
zsh-autoquoter плагин однозначно полезен
С 14688506b1824673973cdb71eb835d40c3955c34 начал использовать
zsh-autoquoter плагин. С того момента как был у меня только список из
"t a" (добавление новой заметки), и "yt"/"ytb" (youtube downloader), так
и остались. Но автоматические кавычки очень здорово экономят время, ибо
в этих командах они нужны всегда. Действительно полезный плагин, пускай
и для считанных задач, но очень частых.
Sergey Matveev [Tue, 8 Mar 2022 20:04:46 +0000 (23:04 +0300)]
Прочитал "Страну багровых туч"
https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D1%85_%D1%82%D1%83%D1%87
В целом понравилась книга, но всё же ничего особенного. Уже не один
десяток книг видел про Венеру, где всё описанное максимально далеко
от того что на самом деле на ней творится -- приходится просто мириться
с этим. А эта книга написана вообще ещё до запуска первого спутника.
Просто интересное приключение.
Sergey Matveev [Tue, 8 Mar 2022 19:26:56 +0000 (22:26 +0300)]
Родители посмотрели Энни Холл
Мама посчитала что под него можно заснуть, мол постоянные рассуждения
Вуди Аллена, которые никому не интересны. Отцу вроде бы понравилось, как
и мне очень сильно (6c315b88d94f9c3a91441a57a9d012893c3873d2). Мне
кажется, что это в первую очередь фильм сделанный мужчиной и понятный мужчинам.
Sergey Matveev [Tue, 8 Mar 2022 18:43:36 +0000 (21:43 +0300)]
Rutracker теперь всё
Сегодня увидел что его поместили за Cloudflare, а значит без скачивания
недоверенных программ (на JavaScript) больше его уже не посетить.
Печально, ведь неплохое было место.
Sergey Matveev [Tue, 8 Mar 2022 18:39:07 +0000 (21:39 +0300)]
Ввод пароля на Android
Сегодня на абсолютно чистом и голом смартфоне с Android (полный сброс
всех настроек) надо было ввести пароль для новой учётной записи. Внезапно,
Android при этом делает автокоррекцию слов! Вводишь парольную фразу, а
он сам правит в ней слова. Не проверял, но не удивлюсь если для их
проверки ещё и в online режиме запрашивает проверку вводимых слов,
фактически сливая фразу наружу. И даже не спрашивает повторного ввода,
молча удовлетворяясь однократным.
Sergey Matveev [Mon, 7 Mar 2022 09:17:51 +0000 (12:17 +0300)]
Посмотрел "Артиста"
https://ru.wikipedia.org/wiki/%D0%90%D1%80%D1%82%D0%B8%D1%81%D1%82_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
Немое чёрно-белое кино из 2011-го года. Очень понравился! Незатейливая
история, но легко смотрится и не позволяет тебе оторваться от экрана.
Sergey Matveev [Fri, 4 Mar 2022 18:54:58 +0000 (21:54 +0300)]
Сходил на концерт Мельницы
Как оказалось, в прошлом году она была точно такого же числа. Понравился
конечно же. Забавно, что я себя называю и считаю металистом, но вот от
классического heavy metal типа Арии (bef6526ee52378814da78893700dccc090327d90)
удовольствия не шибко много получаю.
Sergey Matveev [Fri, 4 Mar 2022 12:38:14 +0000 (15:38 +0300)]
Сотни миллионов смартфонов Samsung не имеют безопасного шифрования
https://www.schneier.com/blog/archives/2022/03/samsung-encryption-flaw.html
https://threatpost.com/samsung-shattered-encryption-on-100m-phones/178606/
В общем, в их реализации GCM режима, в котором используются nonce-ы,
можно извне влиять на эти самые nonce-ы, заставляя их повторятся, что
фатально. Небезопасное применение безопасных примитивов.
Sergey Matveev [Fri, 4 Mar 2022 11:43:22 +0000 (14:43 +0300)]
Rock Me Amadeus
https://en.wikipedia.org/wiki/Rock_Me_Amadeus
https://www.youtube.com/watch?v=cVikZ8Oe_XA
https://www.youtube.com/watch?v=9qExmU6F22s
https://www.youtube.com/watch?v=Vd35k7M_GA4
Давно знаком с "Rock Me Amadeus" песней в исполнении Megaherz.
Недавно вот услышал её же в исполнении Sturmgeist.
А сегодня решил поискать оригинал на который все они его делают.
Sergey Matveev [Thu, 3 Mar 2022 18:48:10 +0000 (21:48 +0300)]
Новые фотографии "терминаторов"
http://www.stargrave.org/photoes/term4.preview.webp
http://www.stargrave.org/photoes/term4.jxl
http://www.stargrave.org/photoes/term5.preview.webp
http://www.stargrave.org/photoes/term5.jxl
В городе уже не первый год как появились ещё "терминаторы",
как я их называю. Сегодня смог сфотографироваться рядом с
ними. Последний стоит прямо рядом с нашей пожарной частью.
Sergey Matveev [Wed, 2 Mar 2022 07:41:52 +0000 (10:41 +0300)]
Прочитал "Малыша" Стругацких
https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BB%D1%8B%D1%88_(%D0%BF%D0%BE%D0%B2%D0%B5%D1%81%D1%82%D1%8C)
В основном я говорю что творчество Стругацких мне не очень нравится.
"Пикник на обочине" (522ba6e4fdd94f0750e7c7865af1d94370c43db4) суперская
книга, но о какой-нибудь "Трудно быть богом" у меня прямо противоположное
мнение. Малыш вот явно из серии той фантастики что мне нравится! Буду
читать весь цикл этих произведений, уже начал "Страну багровых туч".
Надеюсь что я просто неудачные (для меня) книги брал.
Малыш мне понравился, но под конец как-то всё очень быстро подошло к
развязке и на нет.
Sergey Matveev [Tue, 1 Mar 2022 19:11:48 +0000 (22:11 +0300)]
Использую conflictStyle=zdiff3 в git
http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=109f0f1e4e4288c2e8d2c880de8f37963526a4b0
https://blog.jcoglan.com/2017/05/08/merging-with-diff3/
https://blog.nilbus.com/take-the-pain-out-of-git-conflict-resolution-use-diff3/
https://stackoverflow.com/questions/27417656/should-diff3-be-default-conflictstyle-on-git
В блоге даже не упоминал этого факта, но чуть более месяца назад включил
такую штуку как отображение неразрешённого конфликта в виде (z)diff3.
Вроде потому что были сильные сомнения в полезности. Но сегодня точно
понял и порадовался этому способу отображения конфликта. Был точно тот
самый случай когда во время rebase что-то можно потерять, во время
хронологической перестановки коммитов изменяющих одни и те же места
файлов. И при "старом" diff мне бы точно пришлось подсматривать в
историю или сохранять во временный файл некоторые куски чтобы самому
было проще (на самом деле рефлекторно я это всё равно сделал). Но diff3
показал всё настолько хорошо и понятно, что я даже удивился безболезненности
разрешения конфликта. В общем, однозначно могу рекомендовать эту настройку!
Sergey Matveev [Tue, 1 Mar 2022 10:14:23 +0000 (13:14 +0300)]
Западные CA отозвали X.509 сертификаты банков
https://habr.com/ru/news/t/653923/
https://crt.sh/?id=6051080112
Ну и каким придурком надо быть чтобы не верить прежде в эту возможность?
Точнее в то, что это в любом случае бы произошло, даже если бы не принимались
мочить бандеровцев -- придумали бы с полдюжины других причин.
Sergey Matveev [Tue, 1 Mar 2022 09:45:10 +0000 (12:45 +0300)]
Мой Align в vim
http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=9b587025d39d98ee5a0545e85d3315d3cb232385
В 0b3deca9141cc1700b95aa3bd150b09861555ebb упоминал что для выравнивания
по разделителю можно использовать column внешнюю команду. Но BSD версия
не умеет "вставлять" назад разделитель (-o опция у GNU версии), что чаще
бывает неудобно, например при выравнивании таблиц по "@tab" в Texinfo.
Есть конечно Align-плагин https://www.vim.org/scripts/script.php?script_id=294
но он на несколько тысяч строк кода и поэтому выглядит overhead-ом. Так
что просто написал обёртку в vimscript которая добавит нигде-не-встречающийся
разделитель, табуляцию, выровняет по табуляции, разделитель заменит на
разделитель указанный пользователем.
Sergey Matveev [Tue, 1 Mar 2022 08:20:38 +0000 (11:20 +0300)]
Dognapped
https://www.youtube.com/watch?v=XY0D29SLeQ0
https://www.mobygames.com/game/rescue-rover-2
Из Old Hard выпуска увидел описание игры Rescue Rover 2. Обожал эту игру!
Точнее я её знал только под названием "dognapped" (все директории и .exe
так назывались), но, судя по MobyGames, это ре-релизное название. Помню
что кто-то точно из родителей даже поигрывал в неё. На снимках экрана
даже узнаю уровни.
Sergey Matveev [Mon, 28 Feb 2022 20:36:22 +0000 (23:36 +0300)]
tmux terminal-features
http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=f7cf80842562ed21fac059a3e1c6d489ac02bc0f
http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=3c909dab2de881f2a3212f491eec1b716a33e373
Недавно писал про поддержку OSC52 b430db6f858a162b9ed2fe64ed5377c0853424fd
в suckless терминале, которая у меня успешно отработала. Но мне написали
что всё равно не фурычит, мол настраиваем tmux:
tmux set-option -g set-clipboard external
но в буфер обмена ничего не попадает. Проверил -- действительно не
сработало. Даже мой printf не отрабатывает. Точно значит проблема в
tmux. В man увидел terminal-features опцию, в которой можно всякие
clipboard, ccolour, cstyle, title и кучу других опция выставлять для
терминала. Штатно они определяются на основе terminfo:
и использую я screen-256color, который, с точки зрения tmux, умеет
только выставлять title окна. Добавил clipboard -- и OSC52 заработал.
Как-то я пробовал менять цвет курсора в st, ведь я видел что поддержка
этого функционала явно есть в его коде. Но как не пытался -- не выходило.
Сейчас понял в чём дело: tmux всё это проглатывал. Добавил ccolour --
цвет спокойно меняется. Теперь осуществил свою давнюю хотелку, где-то
подсмотренную, чтобы цвет курсора менялся в зависимости от используемого
vi-режима в zsh. Плюс можно менять стиль курсора (работает -- проверял).
Правильнее конечно честно говорить что у тебя st терминал и в систему
засунуть знания о нём, чтобы честно tmux понимал с чем имеет дело.
Sergey Matveev [Mon, 28 Feb 2022 12:50:35 +0000 (15:50 +0300)]
Apple изобрела клаву с компом
https://lenta.ru/news/2022/02/28/keyboard/
https://en.wikipedia.org/wiki/ZX_Spectrum
Брехня какая-то. Ведь это давным давно уже было в виде, как минимум,
ZX Spectrum-а, который дошёл до СССР даже. И тоже ничего не нужно было,
кроме телевизора. Ну и опционально магнитофона (обычного), если не
удовлетворён встроенным BASIC-ом.
Sergey Matveev [Mon, 28 Feb 2022 12:14:19 +0000 (15:14 +0300)]
ЕС планирует сделать менее безопасные X.509 сертификаты
https://www.feistyduck.com/bulletproof-tls-newsletter/issue_86_eu_plans_to_mandate_less_secure_certificates_in_browsers
Ну на самом деле название статьи только звучит громко. В Европе хотят
форсировать использование "квалифицированных" сертификатов (у нас
подобные уже давно существуют и я даже наверное с ходу назову большинство
полей и отличий в них). При этом CA только среди доверенных могут это
делать. И среди них есть CA которые прежде даже были исключены из списка
доверенных в броузерах за всякие косяки: https://wiki.mozilla.org/CA/Camerfirma_Issues
Кстати я тоже удивлялся, видя некоторые *CA* сертификаты, которые не
являлись валидными с точки зрения X.509/RFC5280 схемы: мол, как?, как
это вообще и кем могло быть принято?
Sergey Matveev [Sun, 27 Feb 2022 15:51:13 +0000 (18:51 +0300)]
OSC52
https://oroques.dev/notes/vim-osc52/
https://github.com/ojroques/vim-oscyank
Узнал про такую штуку как OSC52 ANSI escape последовательность, которая
позволяет вставить значение в буфер обмена. Мне задали вопрос получалось
ли у меня его выполнить в suckless terminal-е. Даже не пробовал, а сразу
полез в его исходный код, где чётко виден case 52 в switch-е OSC кодов,
где выполняется Base64 декодирование и вставка в оба X11 буфера обмена.
Но есть if, проверяющий выставлен ли allowwindowops в конфиге. По
умолчанию, как раз таки, он выключен, ибо это потенциально опасное
действие. Включил, сделал printf "\e]52;c;0L/RgNC40LLQtdGC\e\a" и увидел
что в буфере находится "привет". Так что всё работает.
Sergey Matveev [Sun, 27 Feb 2022 14:10:04 +0000 (17:10 +0300)]
Думаешь не только на родном языке
На работе как-то вбросил кто-то фразу о том что на иностранном языке не
думают: думаю на "своём", который переводят на иностранный. Человек
иностранными языками не владел. Но все заметили что он не прав и все,
задумавшись, поняли что они реально думают как-раз таки на иностранном
(когда на нём говорят).
Последние несколько дней я было часами сидел и сижу за письмами всяким
немцам, туркам, американцам, которые со мной (и наоборот) связывались и
затевали разговор касательно ситуации с Россией и Украиной. Их приходится
и обдумывать про себя, пока не за компьютером. А вчера я несколько часов
друзьям рассказывал про redo и daemontools -- и было пара моментов когда
я просто не мог с ходу родить некоторые слова и мысли на русском:
английская фраза у меня в голове выстраивается чётко и сразу, ибо на
английском я последние дни только и общаюсь, русский используя только
в блоге.
Sergey Matveev [Fri, 25 Feb 2022 14:24:55 +0000 (17:24 +0300)]
Столяров о TLS SMTP
http://stolyarov.info/node/350
posteo.net сервер стал в обязательном порядке требовать TLS, причём не
ниже TLS 1.2. Столяров принципиально отказывается тут что-то делать.
Солидарен с:
Крипто по обоюдному согласию между частными серверами — это вполне
нормально. Криптобесие — это когда крипто, разрушая
интероперабельность и добавляя сложность там, где её и так слишком
много, при этом принципиально не прибавляет ни грамма безопасности.
В этом случае ситуация именно такова: если почтовый ящик заведён на
публичном сервере, ни о какой его безопасности речи быть не может, а
применение шифрования становится откровенным карго культом.
Но у меня на серверах есть TLS через опциональный STARTTLS, хотя и
понятно с какими точками доверия.
Sergey Matveev [Fri, 25 Feb 2022 08:59:04 +0000 (11:59 +0300)]
Попробовал bondcat
https://blog.benjojo.co.uk/post/multipath-without-mptcp
https://github.com/benjojo/bondcat
Multipath TCP для бедных в userspace, написано на Go. Если есть два
Ethernet между двумя компьютерами, то обеспечить увеличение скорости в
два раза -- не тривиальная задача. Все эти lagg и bond не работают если
поток данных идёт между двумя IP адресами (и тем более одним и тем же
TCP/UDP портом например). Можно включить round-robin раскидывание
пакетов, но, из-за переупорядочивания пакетов, TCP будет сильно страдать.
MPTCP как-раз про всё это: сделать так, чтобы один TCP мог разные IP
адреса использовать при этом. Но в FreeBSD, насколько понимаю, этого в
ядре пока нет. В SCTP протоколе закладывалось с самого начала, но, опять
же, не знаю как это всё завести просто так и можно ли.
На одном хосте делаю bondcat -l -p XXX, а на другом указываю его два IP
адреса, которые в разных сетях и на разных сетевухах. Прокачиваю
несколько десятков гигабайт, считаю BLAKE3 (ну чтобы уж наверняка не
упереться в CPU). 234 MiB/sec. То есть оно полностью утилизирует 2xGbE.
Задача отлично выполнена!
Автор пишет про то, что он данные с лент не мог достаточно быстро
просасывать через сеть. Вот у меня есть почти свободный терабайт на NUC
NVMe, и я не прочь бы его использовать для чтения данных со стримера, но
лента это ~130-140 MiB/sec. Возможно используя mbuffer можно сгладить и
уменьшить эту скорость во время того, когда она доходит до конца и
меняет направление чтения, но у меня сомнения. bondcat бы тут отлично
справился.
Sergey Matveev [Fri, 25 Feb 2022 08:09:11 +0000 (11:09 +0300)]
guix.gnu.org недоступен только в РФ
Из feed-ов у меня вчера полностью перестал работать сабжевый домен.
Всякие сайты по мониторингу доступности показывают что, действительно,
только в РФ он не доступен. Ну кол-во людей с двойными стандартами,
совершенно не совместимыми с идеологией свободного ПО (типа давайте
запретим СПО для РФ), уже было показано когда наезжали на Столлмана.
Sergey Matveev [Thu, 24 Feb 2022 21:54:42 +0000 (00:54 +0300)]
Рассказывал Путину про СПО
Позавчера, после просмотра его обращения о признании ДНР/ЛНР и всей этой
ситуации, приснился сон с Путиным. Видимо потому что это последнее что
видел перед сном. В общем, Королёв, пр-т Королёва, летний день, Путин у
нас с визитом и что-то типа пресс-конференции прямо на улице с народом.
Но он почему-то при этом идёт куда-то, передвигается и то один, то
другой ему задают вопросы. У меня точно помню (во все) что планов о
чём-то спрашивать не было -- мол, о чём я могу, ну и чего на меня
отвлекать его и отнимать время других людей. Но что-то там кто-то брякал
уже касающееся ИТ, что меня возмущало. А потом как-то он оказался на
расстоянии вытянутой руки от меня, и вопросы у людей поугасли и
возмущение моё не прошло -- ну и я к нему "Владимир Владимирович, ..."
обратился и как-то перешёл на тему важности и критичности свободного ПО.
И мы с ним вдвоём идём по нашему проспекту, сзади толпа, охрана за нами
передвигается, а я всё жужжу ему, а он кивает, отвечает что всё верно
толкую, всё так, я прав, это важно, ну и тому подобное. И мы так
очень прилично с ним прошли: прям даже помню что примерно начали от
самого памятника Королёву (но шли по левому тротуару от него, а не
центральной аллее) и до памятника Исаева.
https://www.votpusk.ru/country/dostoprim_info.asp?ID=22353
http://in-korolev.ru/novosti/na-prospekte-korolyova-otkryli-pamyatnik-isaevu
А дальше он в здание вошёл и уже на этом вся "конференция" закончилась.
Отчётливо помню желание сообщить родителям что сам Путин меня слушал
внимательно целых 10мин.
А сегодня почитал я всякие зарубежные новости о том что творится на
Украине. И предыстории даже есть, мол вообще с чего все конфликты то
начались с ней (ещё в 2014-ом). И *нигде* нет ни бита информации и
упоминаний того, что и живьём там людей сжигали и бандитизм
безнаказанный лютый был и что ДНР с ЛНР постоянно обстреливают уже
сколько лет. И что воду, хуже фашистов, перекрыли, якобы, своим же
гражданам. И куча знакомых кто за это время ездило в Украину -- почти
все не могли не отметить реально наличие бесстыдных нацистов. Я даже в
школе в 7-8-ом классе когда ездил в Киев, то лично я столкнулся с ними
прямо на вокзале после прибытия (провоцировали на драку, задирали: и это
были взрослые, "против" ученика средних классов), ну а у других были
приключение и с мордобитием, когда я буквально на пять минут с ними
разминался. Со сколькими народами я не работал и не дружил. Полшколы за
одной партой с азербайджанцем, с которым мы довольно крепко дружили,
родителям его я нравился, и с радостью позже пересекались, искренне
интересуясь у кого как жизнь складывается когда даже институт я
закончил. Украинцы были на всех работах. Армяне и в институте и на
работах. Азербайджанцы тоже. С узбеком как-то подработку делал вместе.
Казахи были. И как бы национальная тема не то что не поднималась, но
даже отдалённо в мыслях никогда не возникала. Но если заходит где-то
речь про национализм, именно радикальный, то вот всегда почему-то
связано с украинским. И отец подтверждал и дяди его возраста, что ещё в
советское время, когда они школьниками были, но обязательно да были те
кто писал на партах или книжках "УОА" (хотя они учились вообще в
Нижегородской области). Поэтому не поверить что на Украине есть
радикальные нацисты -- не смогу, ибо с детства знаю про их существование
там и убедился за одну только поездку в Киев, без какой-либо
предвзятости. Поэтому мне очень понятно и близко было обращение Путина.
И то что НАТО с США (хотя между ними почти равенство можно поставить)
наши главные враги я с детства знаю, а в институте, так как я
"конструктор и проектировщик КЛА и РБ", то много изучал ракеты, для
которых все задачи сводились (в учебниках это чётко рисовалось) к
доставке "грузов" или на территорию США, ну или на орбиту какую. И я
полностью согласен со всем сказанным президентом и полностью поддерживаю
его решения. И не только его, но и Шойгу с Медведевым -- их
профессионализм ценю и уважаю.
Ну а лицемерие Запада известно уже давно. США бомбить каждый день страны
чужие -- ну это демократия, ёпта. Уничтожать страны, превращая в разруху
и бедноту -- ну другого Запад никогда не делал. Нет ни одной страны, где
если бы побывала США, то там бы жизнь улучшилась. СССР в Афганистане
сколько инфраструктуры всякой делал: больницы, школы, тьма дорог, до сих
пор использующихся. Мой родственник Матвеев преподавал в Кабуле высшую
математику тогда даже. Отец там служил и видел что помощь была ещё какая.
В Крыму РФ -- фактически спасла уйму мирных жизней, за которых бандеровцы
бы в 2014-ом обязательно взялись, учитывая пророссийскую настроенность
(кстати, там нацистских намёков ни разу не заметил даже отдалённо). Мы
часто семьёй ездили в Крым и когда он был ещё при Украине и после: до РФ
цены приятно низкие, но и разруха присутствовала, застой с 90-х. Сейчас
же сколько там всего отстраивается и в городах и стратегически по всему
полуострову! Ну и в ДНР и ЛНР, уверен, что придёт куда большее
спокойствие и мир. Аналогичное я видел и в Сирии, два раза съездив пару
лет назад. И с нашей военной полицией на границе с Ливаном пересёкся и
со мной они поболтали (с другими коллегами не стали) -- чувствуется что
крутые достойные мужики, рукой нам приветливо помахали когда уезжали.
Путин как-то про Крым сказал что-то типа "а как ещё вообще можно было?
как можно было бы поступить по другому?" -- полностью солидарен.
Когда они тебя оскорбляют: это "свобода слова".
Пытаешься возразить: это "отсутствие культуры"!
Если они задают вопросы: это "свободомыслие",
Если ты пытаешься задавать им вопросы: это "допрос"!
Они тебя в чем-то обвиняют: это "поиски правды",
Ты пытаешься оправдаться: значит, ты -- "лжец"!
Они смеются над тобой: это "конструктивная критика",
Пытаешься ответить: это "нетерпимость"!
Они тебе угрожают: значит, "защищают себя",
Когда сам пытаешься защищать свои убеждения:
ты -- "разжигатель ненависти и насилия"!
А это иранский режиссёр сказал (если не путаю) -- ничего не поменялось.
Как-то я даже говорил что если бы жить не в РФ, то Иран бы выбрал. Мы
сейчас как-будто сближаемся, становимся похожими (ну там санкции-фиганкции,
ограничения банкам), что меня даже чем-то радует. Ростех, официально под
управлением которого я работаю сейчас, вообще уже вроде как два года под
санкциями. Нравились слова Кадырова о том, что факт того, что тебя внесли
в санкционный список -- здорово, значит ты всё делал правильно для
своего народа/гос-ва.
Sergey Matveev [Thu, 24 Feb 2022 18:29:02 +0000 (21:29 +0300)]
Borknagar крут
https://en.wikipedia.org/wiki/Borknagar
Заценил несколько альбомов Borknagar -- очень круто! В целом музыку
можно спокойной назвать, где тьма чистого вокала. Всё очень гармонично и
мелодично. И на фоне отлично можно послушать и сосредоточиться на ней.
Sergey Matveev [Thu, 24 Feb 2022 15:17:43 +0000 (18:17 +0300)]
ZFS и NFS
https://klarasystems.com/articles/nfs-shares-with-zfs/
В блоге, насколько вижу, никак не упоминал про то, что вовсю
использую sharenfs опцию ZFS dataset-ов. Очень нравится:
zfs set sharenfs="-maproot=XXX -ro -network 2001::XXX"
и dataset доступен другим компьютерам. Никакой магии: эти строчки
просто складываются в /etc/zfs/exports и mountd демон их подгружает.
Разницы между прописыванием руками в exports нет никакой -- но тут
просто удобнее: знания хранятся прямо вместе с dataset-ом и дёргать
руками ничего не надо явно.
Проблема с этими строчками в том, что они NFS-implementation specific. В
FreeBSD один NFS демон со своими опциями, в GNU/Linux-ах будет другой.
В статье говорится просто про "on" значение опции -- такое не пробовал.
Sergey Matveev [Thu, 24 Feb 2022 15:08:11 +0000 (18:08 +0300)]
Пишут про сбои Telegram и Instagram
https://lenta.ru/news/2022/02/24/durov/
https://lenta.ru/news/2022/02/24/insta/
Ну проблемы наверняка не только у них, а вообще в целом. У меня с
десяток никак с ними не связанных feed-ов не грузятся: пакеты не
ходят до хостов. Только один за Cloudflare. Плюс Hacker News не
работает сейчас.
Sergey Matveev [Thu, 24 Feb 2022 14:56:50 +0000 (17:56 +0300)]
DJB и IMAP4 протокол
http://thedjbway.b0llix.net/imap/introduction.html
Это конечно не слова DJB, но не удивительно что он полностью игнорирует
IMAP4 протокол и вообще подход к работе с почтой через него. Как и я
аналогично.
Sergey Matveev [Tue, 22 Feb 2022 14:06:41 +0000 (17:06 +0300)]
Замена urlview
http://www.git.stargrave.org/?p=dotfiles.git;a=blob;f=urlview/bin/urlview
Бесит меня в urlview то, что backspace в нём почему-то не работает,
приходится нажимать Ctrl-H при редактировании URL (часто приходится
удалять всякую tracking информацию).
Подумалось: а почему вообще fzf бы не использовать для этой задачи?
Нужно же просто выдернуть все URL-ы и подать на вход к нему. Regexp я
взял прямо из urlview. Чтобы отредактировать URL и открыть, запускаю
rlwrap как редактор строчки (в зависимости от .inputrc он может и сразу
работать в vi-режиме без проблем) по нажатию Ctrl-F.
Sergey Matveev [Tue, 22 Feb 2022 10:06:09 +0000 (13:06 +0300)]
Vendor-locked CPU к материнке (PSB)
https://www.youtube.com/watch?v=bFNJVaO9E-o
https://www.servethehome.com/lenovo-is-using-amd-psb-to-vendor-lock-amd-cpus/
https://www.servethehome.com/amd-psb-vendor-locks-epyc-cpus-for-enhanced-security-at-a-cost/
https://www.servethehome.com/lenovo-vendor-locking-ryzen-based-systems-with-amd-psb/
Оказывается CPU можно заточить на использование только с текущим UEFI.
Уже не первый год замечаю что если с чем-либо от крупных vendor-ов есть
слова типа "security"/"secure", то речь про DRM.
Sergey Matveev [Mon, 21 Feb 2022 12:41:26 +0000 (15:41 +0300)]
Произношение немецких слов
На прошлой работе слышал что люди говорили про "веркзеуга". Даже не
сразу понимал о чём речь. Мне казалось по немецки типа все умеют читать:
ведь, в отличии от английского, как пишется, так и читается. Вот только
правила чтения всё же имеются. "Werkzeug" произносится как "веркцойг".
На днях, в презентации утилиты для работы с zettelkästen-ом, которую с
youtube скачал, автор утилиты произносит её как "зеттелкастен". В одной
статье на Хабре даже в заголовке "Зеттелькастен" написано. Интересно,
немцев это также бесит как меня? Ведь уж англичане то вообще относятся к
германской языковой группе и могли бы знать что это читается только как
"цеттелькэстен". А если будет написано "kasten" вместо "kästen", то
действительно "кастен".
Ладно в школе мало кто немецкий проходил и не знает что время ("Zeit")
это "цайт". Но "цайтнот" хотя бы слышали. Карла Цайса то уж точно все
слышали, ибо известнейший брэнд с его фамилией, на котором пишут
"Zeiss". Никто же не будет это читать как "зейс", надеюсь.
Sergey Matveev [Sat, 19 Feb 2022 19:24:26 +0000 (22:24 +0300)]
Сходил на концерт Арии
Просто чтобы развеяться, за компанию с родителями. Из всех песен знал я
похоже только пару: Штиль (и наверное потому что её исполнял Rammstein)
и "Улицу роз". Ну... просто нормальный heavy metal концерт, но не более.
Вообще я отмечал что последнее время барабанщики как-то довольно круто и
по другому играют относительно того что записывали в 70-80-е года. Отец
вроде тоже заметил это. В Мельнице, казалось бы вообще спокойной группе,
барабанщик я прям отметил что крут (c2a00c1252c1c4a0764afbb4048c540061f02a42).
И вот помня его, барабанщик Арии выглядит для меня просто никаким. Я тут
вообще не разбираюсь во всём этом и может быть совершенно не прав, но не
впечатлил он меня вовсе. Хотя чуть ли не в обычном роке уже драммеры
куда более крутые вещи выдают стабильно.
Скоро будет снова концерт Мельницы у нас -- думаю что снова пойду.
Но на Арию вряд ли -- совсем не моё. Но прикупил пару их альбомов.
Sergey Matveev [Sat, 19 Feb 2022 10:34:53 +0000 (13:34 +0300)]
Человек глушил связь в паре городков
https://habr.com/ru/news/t/652463/
Я тоже хотел бы поставить себе глушилки дома, раз всё равно WiFi не
использую, а телефонная связь может легко быть проводной. Но сразу
понимаю что это же затронет и соседей, поэтому идею отметаю. Головой же
думать надо. Это вот в частном доме можно, проверив что сигнал дальше
участка или дома не выходит.
Sergey Matveev [Sat, 19 Feb 2022 10:13:30 +0000 (13:13 +0300)]
Zsh в go.stargrave.org/feeder
В feeder-е много всяких .zsh файлов. Основные скрипты: cmd/download.sh,
cmd/parse.sh, cmd/muttrc-gen.sh написаны на POSIX shell, но другие уже
на zsh. Благо в целом они опциональны. Почему не POSIX shell, ведь я так
бьюсь против башизмов например?
Bash почти ничего не даёт в плане безопасности и простоты написания
скриптов. Единственное что приходит на ум из действительно ценного в нём
это setopt pipefail. В остальном же (0630e96a5148d8f43b8873fc013acac53cb0f677)
он точно так же подвержен всем трудностям и сложностям программирования
на shell.
Я изначально старался делать POSIX shell в feeder, но как-то меня
достала постоянная борьба со всем что попадается в нём, с каждой его
строчкой. download.sh/parse.sh -- хорошо ложаться на POSIX shell без
особых страданий и граблей. Но
cmds="$(dirname "$(realpath -- "$0")")"
конструкция уже довольно неприятна (dirname правда можно заменить на
отрезание строки до последнего слэша). В zsh это будет cmds=$0:h:a, прям
буквально без всяких кавычек.
while IFS= read -r -d '' file; do
some_command "$file"
done < <(find . -type f -name '*.mp3' -print0)
Чтобы вывести список упавших задач запущенных через GNU parallel, я
создаю --joblog файл, который является TSV, где первая строчка это
заголовок указывающий какие элементы в какой колонке находятся. В POSIX
это всякие cut бы пришлось использовать, не шибко приятно выглядящие. В
zsh же для вывода всех упавших команд (у которых return code != 0, где
команда всегда последний элемент TSV):
read row
cols=(${(s:\t:)row})
i=${cols[(i)Exitval]}
while read row ; do
cols=(${(s:\t:)row})
[[ ${cols[$i]} -ne 0 ]] || continue
print failed: ${cols[$#cols]}
end
Ни единого внешнего вызова и даже while выполняется не в subshell.
Удалить все устаревшие файлы, не входящую в первую сотню?
rm -f $feed/cur/*(Nom[101,-1])
Вместо сотни использовать значение переменной? Да пожалуйста, заменяем
"101" на $max. Кажется очевидным? А в bash бы уже не сработало:
for i in {1..$n}
В zsh я могу спокойно писать:
opts=(
--page-requisites
--foo $bar
)
cmd $opts --out=$dst/$fn $url
не боясь что пробелы в именах директории $dst или $fn или $bar что-то
могут испортить. Хочется побыть человеком и использовать что дружелюбно
ко мне, тем более раз оно есть.
Sergey Matveev [Sat, 19 Feb 2022 09:49:04 +0000 (12:49 +0300)]
Реализации redo
Готовлюсь тут друзьям программистам рассказать про redo. И надо же
сделать небольшое резюме по имеющимся реализациям. Если кратко и с ходу
по памяти, то всё не очень, но оно исправимо:
apenwarr/redo (https://redo.readthedocs.io/en/latest/) -- по сути
единственный недостаток это то, что он на Python. Значит даже просто его
запуск будет на глаз заметен. Он не делает автоматическое хэширование
целей, а полагается на mtime+inodeNum+size+мелочи, что означает
возможные false positive, но это терпимо. Главное чтобы было собрано то,
что должно собраться. Есть особенность неприятная в виде SQLite3 БД,
которая создаётся один раз на проект и важно чтобы это было в его
top-директории. Сам автор признаёт что корректнее бы было делать .redo в
каждой поддиректории. Не помню уважает ли он umask. Не делает fsync-и
даже для SQLite3. Но жить с этим можно. Ценнейшая вещь в этом проекте
это документация, которую стоит читать всем кто погружается в redo!
https://github.com/leahneukirchen/redo-c -- 1kLOC Си без зависимостей,
вместе с встроенной SHA256 реализацией. Умеет распалаллеливаться. umask
не уважает. Всю метаинформацию размещает рядом с целями, вместо
помещения в отдельную директорию. Всё это я даже исправлял в своём fork.
И всё бы ничего (с этими правками), если бы не один коммит на пару
строчек, который создаёт результирующий файл при пустом stdout. Это
полностью уничтожает возможность создания виртуальных OOD-целей.
Буквально если сделать revert этих пары строчек -- redo-c бы был
полностью юзабельной отличной реализацией, смотрящей на ctime+hash.
https://github.com/gotroyb127/baredo -- совсем новый проект, который я,
так сказать, консультировал и из-за меня появились fsync-и честные,
umask-дружелюбность, атомарное обновление файлов с метаинформацией и
возможность их чтения человеком, плюс распараллеливание задач (правда
сейчас автор там что-то ещё коммитит и я не знаю работает ли оно), плюс
то, что должно учитываться содержимое файла, как будто он был open/read,
а изначально там содержимое самой символической ссылки например
читалось. Но автор ни в какую не соглашается использовать что-либо кроме
mtime. Ни apenwarr статьи, ни мои аргументы его ни в чём не убеждают.
Если я сделаю truncate -r 1 2 ; touch -r 1 2 ; mv 2 1, то его baredo не
увидит изменений. apenwarr разумно учитывается inode number поэтому и у
него таких проблем не будет. Но если в baredo в коде поменять "mtime" на
"ctime", то всё будет вполне себе хорошо.
http://www.goredo.cypherpunks.ru/ -- насколько понимаю, сейчас это
основная рекомендуемая большинством реализация. Самая навороченная в
плане дружелюбности к разработчику (все фичи apenwarr заюзал, плюс свои
накрутил). Самая замороченная на fsync-ах и атомарности. Замороченная на
(не)доверии к файловым системам, позволяя на выбора даже не учитывать
ctime или например наоборот доверять mtime. umask дружелюбна. Jobserver
совместим с GNU Make и NetBSD bmake (apenwarr единственный кто совместим
хотя бы только с GNU). Покрыта интеграционными тестами, на некоторых из
которых вроде бы apenwarr бы уже не проходил.
apenwarr/do -- входит в apenwarr/redo и это мизерная POSIX shell
реализация пригодная только для сборки с нуля, без распараллеливания и
учёта зависимостей. Пригодна для подкладывания в tarball-ы софта чтобы
его можно было собрать без дополнительных зависимостей. Под OpenBSD, как
недавно выяснил, оно не работает правда (зато goredo собирается и
работает).
redo-sh (http://news.dieweltistgarnichtso.net/bin/redo-sh.html) -- из
неё я взял основную массу интеграционных тестов (другую часть тестов из
apenwarr/redo). Использовать не пробовал, так как оно требует GNU
утилиты и под BSD работать не будет.
Sergey Matveev [Sat, 19 Feb 2022 09:25:02 +0000 (12:25 +0300)]
Полностью перешёл на go.stargrave.org/feeder
https://www.feeder.stargrave.org/WARCs.html
С момента создания b10a0aa678fd8759885c9af0d9abba7bafd88efb своего
новостного агрегатора, нашлось много мелочей и косяков и особенностей:
* вряд ли кто-то удивится что некоторые XML-ки вообще невалидны. Причём
совсем (типа <foo bar="baz "boo" bom">). Но, видимо, авторам это
сообщают и через полдня ошибки пропадают
* бывают feed-ы в которых содержимое новости (content) меняется *каждый*
раз при скачивании feed. Я перешёл на хэш от title+content как
идентификатор уникальный, но это не будет работать, так как tracking
информация каждый раз меняет этот хэш. Дата поста в этих feed-ах
аналогична равна now банально. Но, повезло что хотя бы GUID там
присутствует и действительно уникально идентифицирует пост. В итоге я
проверяю уникальны ли GUID-ы и, если да, то использую их, в противном
случае хэш от title+content (у кого-то title нет, у кого-то он
повторяется). Вот это уже работает надёжно
* updated дата самого feed-а может быть меньше чем дата его постов.
Поэтому нужно брать дату последнего поста
* бывает что информация об авторах присутствует, но равна пустой строке
* удалил пять feed-ов потому что они отдают 403 если видят curl-овый
User-Agent. Я сейчас отправляю go.stargrave.org-feeder/0.1.0, но
никакого почтения тем кто не даёт использовать curl -- не достойны
упоминания или чтения
Много ещё всяких мелочей поправил и исправил. Всё работает просто
прекрасно теперь! Newsboat я полностью удалил. Остался urls файл,
генерируемый linksexp (df5af37e96c74dedf26d1a2614cb2fe79a7f52ba),
который продолжаю использовать для urls2feeds.zsh, ибо этот список
регулярно меняется (что-то появляется, что-то исчезает, где-то меняются
адреса и домены).
В Mutt на клавише "o" в режиме pager открывается urlview с ссылками из
X-URL и X-Enclosure, по аналогии "o" клавише в Newsboat.
Максимальное кол-во элементов feed-а можно изменять конкретно для
каждого feed-а: echo 50 > feeds/FEED/max. Ноль будет означать без
ограничений.
Появилась приятная возможность пересохранять новость в другой ящик,
чтобы почитать в будущем. Это же всё же полноценная почтовая система.
Большой плюс по сравнению с Newsboat.
Полностью избавился от redo зависимости в проекте. Зависимостей в
задачах было 1.5 штуки, и то через промежуточную искусственную цель. Для
распараллеливания используется GNU parallel, у которого клёвый progress
bar (--bar) показывающий сколько выполнено и сколько осталось задач.
redo тут всё же переусложнение.
Не то чтобы я это когда буду использовать, но в качестве доказательства
что это не сложно сделать: написал ./feeds-encs.zsh для скачивания
enclosures (ссылки на аудиофайлы в podcast-ах например) из новых новостей.
GNU wget уже этим занимается. И аналогично ./feeds-warcs.zsh скачивает
все link-и из новостей как страницы с реквизитами (все необходимые
картинки, CSS-ки для просмотра HTML-ки) в WARC файлы. Это позволяет не
только скачать feed-ы, но и всё на что они ссылаются и читать это дальше
в offline, используя например tofuproxy как WARC броузер:
for w (feeds/*/warcs/*.warc) print $w:a > path/to/tofuproxy/fifos/add-warcs
В общем, очень доволен получившимся результатом! Я думал будет куда
геморройнее и менее удобно использовать MUA чем Newsboat, в котором
keybinding-и стали так привычны. Плюс это всё работает значительно
быстрее в целом: запуск newsboat занимал секунд 20, при этом он жутко
тёк по памяти (6e2b2c02747ad3c1ac0a5e39e18e616b3b0bb680) и неслабо её ел
(сотни мегабайт).
Sergey Matveev [Thu, 17 Feb 2022 19:39:04 +0000 (22:39 +0300)]
Сделал собственный newsfeeds aggregator
http://www.feeder.stargrave.org/
http://www.feeder.stargrave.org/Usage.html
Видимо не давал моей голове покоя sfeed
(571ce0c3d2c17e5562ff41866ae4948c701cf54b) и я проснулся с мыслью о том
что надобно или написать свой или понять что это отнюдь не тривиальная
задача. В итоге получилось гораздо проще чем ожидал, причём работает
существенно быстрее Newsboat при парсинге/индексации за счёт
распараллеливания.
Вовсю переиспользуются существующие инструменты. curl, как оказалось,
прекрасно умеет самостоятельно отправлять If-Modified-Since и ETag
заголовки, храня эту информацию в отдельном для ETag-а файле и mtime.
Прекрасно поддерживает сжатый Content-Encoding, в том числе Zstandard.
Хранить сообщения из feed-ов я решил в Maildir-ах и использовать MUA в
качестве интерфейса для этого. Каждый feed это отдельная директория, по
совместительству Maildir, в которой и состояние для скачивания curl-ом
хранится.
Использую github.com/mmcdole/gofeed библиотеку для парсинга всевозможных
форматов. Поддерживает даже JSON, которого в Newsboat не было. Она
просто выплёвывает простые структуры идентичные для любых форматов
feed-ов, из которой я руками формирую почтовые MIME сообщения. Тело
сообщений -- только HTML. Ибо даже я в своих feed-ах его использую для
простоты.
Названия файлов для писем: SHA512/2(title+date). Изначально вообще
использовал дату обновления/публикация для имён, но, оказалось, очень
много feed-ов вообще не несут никакой информации о датах. А ещё могут
иметь одну и ту же дату для кучи разных записей. Честно выставляю mtime
и для файлов и для Maildir директорий, чтобы MUA понимал когда последний
раз были сообщения в feed-е.
Всё попадает в new/, что в Mutt-е честно будет показываться с флагом
"N". Всё что не прочтённое, но уже и не новое, будет old-ом ("O").
feed2mdir утилита умеет ограничивать кол-во обрабатываемых записей.
Удалять старые записи тривиально можно сортировкой по mtime и отсеканию
ненужного множества файлов (rm *(om[101,-1])).
Распараллеливать скачивание можно либо через redo, либо через parallel:
С redo вышла засада: сама по себе команда redo выполняет цели без
распараллеливания, последовательно, чтобы можно было написать: redo lib
install clean. Так делает не только goredo. Но redo-ifchange делает
проверку на "надо ли это вообще собирать", а так как явно зависимостей
никаких нет, то он ничего выполнять и не будет. Я добавил в goredo "-f"
флаг для redo-ifchange, но вообще думаю что redo тут наверное вообще
излишен. Честно для tracking-а зависимостей он использует для решения
надо ли запускать feed2mdir и для пересборки mutt.rc файла, если список
feed-ов и их названий поменялся. Но то, что feed.download, feed.parse,
feed.clean являются виртуальными целями, как будто присутствующими в
директории -- мне эстетически нравится.
Mutt запускается в режиме броузера почтовых ящиков. Для всего этого дела
автоматически генерируется mutt.rc, в котором все feed-и прописаны в
качестве почтовых ящиков с человеческими названиями. Сортировка по дате,
быстрый переход к списку feed-ов/ящиков, компактные форматы index-ов,
отображение авторов, категорий и ссылок новостей в виде X--заголовков
сообщений.
Можно запускать (что я и делаю) mu index для индексации этого всего и
добавлены макросы в Mutt для быстрого вызова поиска и просмотра
результатов. Так как в результатах поиска мешанина из элементов разных
feed-ов, то названия feed-ов в этом индексе тоже отображаются. Я привык
в Newsboat нажимать "A" для помечания всех элементов текущего feed-а
прочтёнными -- легко было написать аналогичный макрос и для Mutt.
В общем всё это получилось шустро работающим, сильно гибким из-за куда
более мощных инструментов. Я думал что подвохов будет гораздо больше.
Хотя по сути то самое главное это парсинг и раскладывание в БД: это
делается на Go. redo скорее не нужен будет -- можно будет заменить
только parallel.
Теперь выясняется что fsync на самом деле нифига не fsync, а штука
которая выгружает всё из буферов ОС, но не отправляет команду на очистку
буферов самих дисков! По сути просто врёт. Зато какие крутые цифры в
benchmark-ах! А на самом деле, если "честный" fsynс там делать, то
производительность у автора выходит... 46 IOPS!!! Это тупо в разы
медленнее чем у жёстких дисков.
В desktop применении fsync-и не часто делаются на самом деле, не так
много задач, поэтому apple fanboys конечно будут удовлетворены. Но для
"боевых" задач (СУБД например) оно вообще ни на что не годится.
Sergey Matveev [Wed, 16 Feb 2022 18:40:31 +0000 (21:40 +0300)]
Гомер Симпсон ездит на жигулях
https://www.youtube.com/watch?v=S_hWBfL1ro0
Не многие знают, но есть один эпизод в Симпсонах, начало которого не
нарисовано, а снято живьём. Причём действительно максимально похоже на
их классические заставки. И в нём Гомер ездит на жигулях (ВАЗ-2105 вроде).
Sergey Matveev [Wed, 16 Feb 2022 16:50:44 +0000 (19:50 +0300)]
Почему на тебя накричал GreyCat?
http://mywiki.wooledge.org/GreyCat/CompilingBad
Пока читал 0630e96a5148d8f43b8873fc013acac53cb0f677, то увидел ремарку
от GreyCat-а. Раз тема про shell, то это наверняка мой первый начальник,
который учил на shell-е писать грамотно. Раз он там упомянул про
название музыкальных файлов, то значит точно он.
Посмотрел его статью на тему "почему компиляция скриптов это плохо".
[...]
If you're asking us for help selling a product, then you are a
spammer and we want nothing to do with you.
If you're ashamed of your script because you know it's a piece of
shit, but you would prefer to hide its crappiness from people (but
still have them use it!) instead of fixing it, then you are a blight
upon humanity.
Видимо, с него я точно тоже брал пример для подражания о том как надо
выражаться :-). Мог ли он накричать в жизни? Конечно, помню день когда
после очередного push-а, слышу из-за спины вздох и слова "Серёг, сейчас
всё отреверчу нахуй" (хотя мат от него редко можно услышать).
Sergey Matveev [Wed, 16 Feb 2022 16:45:46 +0000 (19:45 +0300)]
Процесс загрузки FreeBSD
https://klarasystems.com/articles/the-freebsd-boot-process/
Очень коротко объяснено как FreeBSD загружается по старинке, с более
новыми GPT и UEFI. Очень просто и понятно что как и почему происходит.
Хотя я всё равно могу придраться: нет варианта с загрузкой без
MBR/GPT/UEFI, с ZFS установленной прямо на диск, без каких-либо
партиций, где загрузчик устанавливается так:
Sergey Matveev [Wed, 16 Feb 2022 15:45:38 +0000 (18:45 +0300)]
Подвохи при использовании bash
http://mywiki.wooledge.org/BashPitfalls
Очень хорошая подборка не банальных косяков, которую бы стоило почитать
всем кто пишет что-то на shell. БОльшая часть тут касается и POSIX shell.
Чтобы прочитать список файлов в иерархии, то рекомендуют делать так:
while IFS= read -r -d '' file; do
some_command "$file"
done < <(find . -type f -name '*.mp3' -print0)
Действительно, лучшего способа для POSIX/bash не найти (для POSIX только
нужно будет перенаправить find через pipe). Для zsh можно было бы:
for file (**.mp3(.)) {
some_command $file
}
И обратить внимание на отсутствие кавычек. В zsh это безопасно. Пишут
что в bash 4.0 можно делать так:
shopt -s globstar
for file in ./**/*.mp3; do
some command "$file"
done
Копировать $file в $target не безопасно, так как $file может иметь
дефисы в начале. И это касается многих других команд. Всякие GNU-шные
понимают "--" аргумент, означающий конец всех опций. Но это зависит от
конкретной программы. Не знал, но как хак применяют добавление "./" к
пути файла.
Отмечен старый хак с [ x"$foo" = xbar ], но и верно замечено что уже
давно в нём смысла нет -- проблемы с дефисом в $foo могли возникнуть
уже в очень старых версиях shell-ов.
Чтобы в ps|grep не попал сам grep, то можно делать: ps ax | grep '[g]edit'
Не слышал прежде про это. Но дальше верно замечают что правильнее и
легче использовать конечно pgrep (хотя я и не знаю насколько его опции
портируемы).
bash не в состоянии будет сделать это: for i in {1..$n}
поэтому советуют делать так: for ((i=1; i<=n; i++)); do ...
В zsh, конечно же, с этим проблем нет: for i ({1..$n})
Сам бы я наверное не догадался что же выведет следующая конструкция
(впрочем про (()) я и так ничего не знаю):
i=0
true && ((i++)) || ((i--))
echo "$i"
Выведет 0, так как код возврата (()) равен выражению внутри и будет
равен 1 ($i тоже будет равен 1), что для shell означает плохой код
возврата и будет выполнено ((i--)), сделав $i равным 0.
Sergey Matveev [Wed, 16 Feb 2022 13:42:44 +0000 (16:42 +0300)]
BIG TCP
https://lwn.net/SubscriberLink/884104/89d8ccf8f52ad9dc/
Если хочется передавать данные поверх 100GbE, привычными ~1500 байт
пакетами, то это более 8 миллионов пакетов в секунду. Процессору
остаётся 120нс для обработки каждого пакета.
В IPv6 давным давно в 90-х предусмотрели возможность передачи пакетов
большого размера (>64KiB), добавлением расширенного заголовка с 32-бит
размером.
Ну а в статье просто рассказ про набор патчей для Linux для поддержки
этих больших пакетов.
Sergey Matveev [Mon, 14 Feb 2022 20:22:43 +0000 (23:22 +0300)]
Посмотрел "Новейший завет"
https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D0%B2%D0%B5%D0%B9%D1%88%D0%B8%D0%B9_%D0%B7%D0%B0%D0%B2%D0%B5%D1%82
Как я могу относится к фильму, в котором визуализирован главный (для меня)
фидошный мем про холодильник (f5b1ebddf811eb35d626d63e80a8c7830c9c097c)!?
В фильме он буквально выпал с самолёта и приземлился на человека. Чего
не ожидал, того не ожидал.
Даже и без холодильника фильм очень понравился! Про бога из Брюсселя,
которого везде только мутузят. В конце ссылают чинить стиральные машины
в Узбекистане. Вообще жалко мне его.
В фильме есть очень мудрый посыл о том, что без сотового, человек был бы
куда куда счастливее, ибо не знал бы сколько ему осталось. Ах да, и ещё
то, что компьютеры нужно lock-ать, когда отходишь от него.
Эпизод про озабоченного мне жутко понравился! Прям местами показывают
всё через мою призму восприятия, очень понимаю этого "апостола".
Ну а конец фильма показывает что нельзя женщинам давать какой-либо
серьёзной власти. И по жизни так считаю и даже в этом новейшем завете
это отчётливо вижу.
Хотя последние эпизоды (последний апостол и дальше) уже как-то как-будто
высосаны из пальца, скучны.
Sergey Matveev [Mon, 14 Feb 2022 17:21:15 +0000 (20:21 +0300)]
Dæmonarch -- Hermeticum
https://www.metal-archives.com/albums/D%C3%A6monarch/Hermeticum/2695
https://en.wikipedia.org/wiki/Daemonarch#Experimenting_(1998%E2%80%932000)
У Dæmonarch был только один альбом, но который я не знаю откуда но имею
на CD ещё со школьных времён. Наверное продавец порекомендовал из Irond
(закупался дисками у них на Горбушке). К Moonspell я равнодушен (ну
кроме того что вокалист имеет запоминающийся голос), но этот Dæmonarch
очень нравился и до сих пор продолжаю ставить!
Только сейчас увидел на Encyclopaedia Metallum что там использовалась
драм-машинка: а я то с самого начала удивлялся звуку и такой чёткой
монотонной долбёжке! Сразу почувствовал что что-то не так с их
барабанами.
А на Moonspell я был в живую и даже отец со мной ходил в 2015-ом.
Headliner-ами правда там были Dream Theater.
Sergey Matveev [Mon, 14 Feb 2022 16:48:24 +0000 (19:48 +0300)]
Череда поломок с zsh 5.8.1 продолжается
https://github.com/zsh-users/zsh-autosuggestions/issues/603
https://github.com/zsh-users/zsh-autosuggestions/issues/660
В 398f6985b90366c4fc0c2cc536922f681020109f много чего поломалось,
казалось бы, не взаимосвязанного. Но сейчас увидел что (лень проверять,
но с отключением асинхронной работы что ли?) autosuggestions всё равно
не делает подсветку своего предложения. Bugreport-ы уже завели. И...
дело не в autosuggestions, а в необходимости ещё обновить и
syntax-highlighting плагин. Но это всё чинит, действительно.
Sergey Matveev [Mon, 14 Feb 2022 16:27:33 +0000 (19:27 +0300)]
Добронравов пожаловался на зрителей со смартфонами
https://lenta.ru/news/2022/02/14/dobonravov/
Всецело согласен со всеми его словами. Это просто лютое неуважение к
окружающим, ибо реально этот яркий светящийся экран жутко отвлекает.
Хорошо сказано что это разрушает магию театра которую пытаются создать.
К концертам это тоже относится, но благо на всяких метал и рокерских я
стараюсь быть в том, что на больших площадках называют фан-зоной, где
народ собирается на концерт, на музыку, на представление и ему нет дела
до своего сраного смартфона и делания селфи на нём. Ну и, как минимум, в
зале со сцены довольно много света льётся и поэтому светящийся экран не
так бьёт по глазам. Но я бы всё равно, как Lindemann, отнимал их при
входе (6a30d3693577f42c01ed7e5bdf73328a5eb30dfa).
Когда я набрал "mu suck", нажал Shift-Up, то ожидаю что включится
инкрементальный поиск с уже вставленным "mu*suck" текстом. Вот последнее
действие упорно не выполняется.
Подумал что сломал PS1 как-то. Откатил. Не помогло. Вспомнил что обновил
zsh как-раз заодно с 5.8 до 5.8.1. Откатил до 5.8 -- помогло. Ну
очевидно что бага в zsh. Полез в их репозиторий смотреть diff между
релизами. Ничего подозрительного или странного, никаких обратно
несовместимых изменений.
Пока возился с этим, заметил что autosuggestions не всегда отображают
suggestion текст разукрашенным -- текст есть, но без применения стиля.
Явно и autosuggestions как будто сломался. Полез смотреть -- а у меня
явный checkout его предыдущей версии сделан. Хотя в более новой явно
сказано о поддержке zsh 5.8. Обновил autosuggestions, хотя и не помню
почему откатывал. Подсветка починилась, но инкрементальная история нет.
Вставляю print $BUFFER в функе -- всё имеется, всё на месте, явно беда с
zle вызовом.
Отключаю autosuggestions -- поиск по истории работает. Хотя бы понял что
беда именно с этим плагином. Пошёл смотреть его исходный код на тему
особенностей с поиском по истории, смутно понимая как он вообще устроен.
Благо что в начале плагина есть массивы с перечислениями всяких widget-ов
и что с ними надо как-то особо обходится. И в некоторых как-раз
перечислены widget-ы связанные с поиском по истории, но не инкрементальной.
Добавил их в ZSH_AUTOSUGGEST_IGNORE_WIDGETS -- всё заработало!
Сегодня заметил что как-будто пропускаются некоторые нажатия up/down при
поиске по истории. Действительно, чуть ли не каждый раз по два раза
приходится нажимать. Когда я смотрел README autosuggestions плагина, то
мне сразу не понравились фразы про асинхронную работу плагина. И оно
включено по умолчанию. Отключил -- решило проблему.
Обновление одного софта на минорнейшую версию, повлекло то, что другой
софт ломает третий :-). Позже смотрел на bugtracker autosuggestions и
там похожие проблемы наблюдались регулярно с widget-ами. Но, не смотря
на его странное качество (или по другому просто без хаков не выйдет его
сделать?), он über-полезнейший и must-have в моём арсенале!
Sergey Matveev [Mon, 14 Feb 2022 09:43:16 +0000 (12:43 +0300)]
Вокал Сакиса Толиса
https://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D0%BB%D0%B8%D1%81,_%D0%A1%D0%B0%D0%BA%D0%B8%D1%81
https://www.youtube.com/watch?v=hwxd2JIqBQ0
https://www.youtube.com/watch?v=ua1sV0iheWU
Пишут про уникальный вокал вокалиста Rotting Christ. Действительно,
такую манеру пения не встречал. Да и в целом они конечно однообразны, но
заводны и легко слушаются. Хотя я пока только с поздним творчеством
ознакомился. Клёвая группа!
Sergey Matveev [Mon, 14 Feb 2022 09:23:43 +0000 (12:23 +0300)]
sfeed RSS/Atom reader
https://sgauthier.fr/blog/minimalism_3_sfeed.html
Автор пишет, что пришлось искать замену Newsboat, который стали писаться
на Rust. В общем-то я Newsboat-ом доволен, но использую его последнюю не
Rust версию. Пока проблем не вижу с этим. Если понадобится какое-то
хитрое скачивание статей, то он может читать feed-ы из файлов сторонних,
которые можно качать как пожелаешь. Я часто не понимаю людей которые
перестают пользоваться ПО, если оно перестало поддерживаться. Вопросы
безопасности -- тут всё понятно. Но если это какой-нибудь newsreader, то
он что, перестаёт работать что ли с прекращением поддержки? Я вот GoVPN
вообще не трогал сколько лет, но на 95% уверен что он (а сборочница
портов FreeBSD это доказывали) и собирается и работает точно так же как
и прежде. Но если от Newsboat придётся избавляться, то буду смотреть в
сторону sfeed. Хотя я как-то бегло уже глядел и awk мне не понравился.
Но это чисто субъективная вкусовщина (лишь бы под BSD awk работала).
Sergey Matveev [Sun, 13 Feb 2022 18:31:26 +0000 (21:31 +0300)]
releases.atom.zsh
http://www.git.stargrave.org/?p=releases-feed.git;a=blob;f=releases.atom.zsh
После 35be2372fa3caa2b73a24eca45c1333159519ba8 замучила совесть за то,
что у моего софта нет никаких средств оповещения о выходе новых релизов,
кроме иногда (например я это редко делаю для GoGOST того же) публикуемых
писем в рассылки. Причём отдельных рассылок только для announcement-ов нет.
latest-version.txt это конечно интересно, но всё же уже имеется Atom
формат для задач оповещения об изменениях.
Добавил в своих проектах генерирование releases.atom и
"<link rel="alternate" title="Releases" href="releases.atom" type="application/atom+xml">.
Atom генерируется на основе *.meta4 файлов, ссылаясь на них, используя
их mtime в качестве времени у записи в feed-е.
Sergey Matveev [Sun, 13 Feb 2022 17:52:45 +0000 (20:52 +0300)]
Paster поддерживает asciicast-ы
http://www.paster.stargrave.org/
http://www.paster.stargrave.org/Asciicast.html
Для своего демона заметок (24cd89da8ad2d37061f2fd9867ed7e0472fc2900)
добавил возможность автоматической генерации .html-ек для asciicast-ов
(2d4333e8dc6ac239a490ad940255025414702449). Заранее надо подложить
asciinema-player на сервер, указать его имя для paster демона, а дальше
все ".cast" файлы будут сопровождаться ".cast.html" версией с
подключением JavaScript проигрывателя этого asciicast-а. Конечно же
возможность скачать ".cast" остаётся, чтобы это локально без JS
проигрывать по человечески.
Использую при этом старую версию player, которая ещё не была переписана
на Rust/WASM, ибо она работает даже в Xombrero броузере, ну и Firefox
последнем независящем от Rust. В курсе что есть более новая версия,
более быстрая, в несколько раз более компактная, но она даже в Firefox
не работает у меня.
Для последнего решил использовать родной zsh функционал для работы с
VCS. Посмотрел на код -- идёт вызов git rev-parse, но хотя бы никаких
"git status" тяжёлых не вызывается при всём этом (что тормозило).
Показываю только 8 символов от хэша коммита, плюс особый режим типа того
что мы сейчас находимся в "rebase".
Для отображения virtualenv/autoenv показываю однобуквенные флаги,
которые храню в уже имеющимся PSVAR массиве.
Прежде у меня PS1 каждый раз, при каждой инициализации строки
приглашения или смене vi-режима, создавалась с нуля, проверяя что и как
надо выводить, динамически её изменяя. Теперь использую родные
возможности %(X.Y.Z) if/then/else условий и PROMPT_SUBST, который
предварительно делает раскрытие переменных. PS1 устанавливается только
один раз при запуске, а дальше динамически меняются только _VIMODE и
PSVAR переменные, плюс vcs_info сообщение.
Прежде использовал отдельную переменную $timer для учёта времени
выполнения команды, а в качестве текущего времени $SECONDS. Сегодня
понял что можно же только $SECONDS использовать, обнуляя её перед каждой
командой. Документация говорит что это особая изменяемая переменная --
наверное как раз намёк на то, чтобы её и использовать в этом контексте.
Почти всё показывается только опционально. Минимально строка приглашения
показывает только: путь до текущей директории (два последних элемента) и
vi-режим. Максиально строка может показывать (разделяя элементы разными
цветами и стилями): путь, "V" флаг virtualenv, "A" флаг autoenv, кол-во
фоновых задач, режим git-а (rebase, amend, и т.д.), часть хэша git-а,
не успешный код возврата команды, время выполнения команды (если больше
секунды), vi-режим. Насчёт информации о Git-е я не уверен в её пользе,
буду смотреть.
Sergey Matveev [Sun, 13 Feb 2022 17:34:41 +0000 (20:34 +0300)]
Прямоугольное выделение в tmux
Узнал что в tmux (ну да, кто ж читает manual-ы!) можно делать
прямоугольные выделения текста, просто нажимая "v" для переключения
режимов "построчного"/"прямоугольного".
Sergey Matveev [Sun, 13 Feb 2022 16:53:27 +0000 (19:53 +0300)]
iWatch будут искать "партнёра"
https://habr.com/ru/post/651079/
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B2%D0%B5%D1%81%D1%8C_%D0%B4%D0%B8%D0%B4%D0%B6%D0%B5%D1%8F
Часы будут выбрировать если рядом окажется подходящая "пара". Сразу
напоминает серию "Чёрного зеркала", когда компьютер говорил кому, с кем,
сколько нужно пробыть в интимных отношениях. Такое впечатление, что
"Чёрное зеркало" это прям вестник того что ждёт всех нас в будущем.
Sergey Matveev [Sun, 13 Feb 2022 13:50:25 +0000 (16:50 +0300)]
Megadeth отказался играть с Rotting Christ
https://en.wikipedia.org/wiki/Rotting_Christ#Publicity
Лидер Megadeth отказывался играть с Rotting Christ в Греции. Абсолютно,
по моему, недостойное поведение металиста, тем более, будучи гостем в их
стране.
Sergey Matveev [Sun, 13 Feb 2022 10:01:48 +0000 (13:01 +0300)]
Поиграл в Манчкина
https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BD%D1%87%D0%BA%D0%B8%D0%BD_(%D0%B8%D0%B3%D1%80%D0%B0)
Слышал название игры много раз, но не знал про технику и принцип игры
совсем. Очень понравилась! Все говорили что чем больше людей в ней, тем
лучше -- понял почему, явно будет заметно веселее. Так как знаком с
Magic The Gathering, то многое про себя map-ил на термины из неё. Эдакая
ultra-lightweight/simplified версия MtG.
Sergey Matveev [Fri, 11 Feb 2022 19:33:24 +0000 (22:33 +0300)]
Вы можете объяснить этот пропуск в вашем резюме?
https://irreal.org/blog/?p=10316
... я пытался сделать сложный TikZ рисунок и потерял счёт времени.
Очень хорошо понимаю автора этого, сам терял его когда рисовал в TikZ.
За свою жизнь я ни разу не делал ни одной презентации в PowerPoint и
аналогичных программах (даже не знаю название в Open/LibreOffice).
Всегда это был либо Beamer, либо скрипты внутри Vim или что-то подобное.
Чертежи делал в QCad. И вот схемки не помню делали ли когда-нибудь в
чём-то кроме TikZ, ибо очень уж напрягает меня тот факт, что они не
детерминированны, так сказать: всё делается же типа на глаз и как
выйдет, так и выйдет. Наверняка в каком-нибудь Inkscape/Xfig можно и
плясать от узлов сетки какой-нибудь, но небось геморройно и проще будет
взять настоящий CAD для этого. Всё это конечно я брал только если в
Gnuplot или Graphviz нельзя сделать.
Sergey Matveev [Thu, 10 Feb 2022 18:33:14 +0000 (21:33 +0300)]
Заценил The 3rd and the Mortal
https://ru.wikipedia.org/wiki/The_3rd_and_the_Mortal
Сегодня познакомился с творчеством этой норвежской группы. Слушал их с
конца, а на альбоме 1994-го года появилось дежавю от женского вокала.
Полез в wikipedia, оказалось что это Kari Rueslåtten, сольные альбомы
которой у меня на дисках есть, но которые не ставил лет десять.
Сегодня коллега верно заметил что с возрастом восприятие и вкусы ощутимо
меняются. Многие мои знакомые слушали в подростковом возрасте всякие
Limp Bizkit и Korn, а сейчас даже на концерты не пойдут. Отец у меня
совсем перестал ставить AC/DC, хотя в детстве я буквально рос под них.
Я бы лет десять назад покрутил пальцем у виска, не поверив что буду
слушать что-то типа этих 3rd and the Mortal, Peccatum, Starofash, Major
Parkinson, Diablo Swing Orchestra, Trail Of Tears, Ihsahn и, теперь
любимейших, Solefald. Кривил рожу когда люди предлагали сходить на
концерт Мельницы, а в этом году снова планирую на них в Королёве
побывать. Я даже сказал бы что Мельница -- это лучшее что я в городе из
концертов слышал. Я стал раз в двадцать больше слушать всякого black
metal, но раз в десять меньше goregrind-а заводного. Бывает поставлю, но
скорее для вспоминания молодости. У меня в playlist-е чаще появляется
Madonna, Lenka и Dolores O'Riordan.
Nightwish, с которых я начинал слушать метал, мне как-то параллелен.
После ухода Тарьи то я их вообще не слушаю, но и их первые альбомы раз в
год наверное только поставлю. Но их Once мне крышу просто сносил! Зато
вот какой-нибудь Rammstein как ставил, так и ставлю. Только теперь ещё и
с Lindemann альбомами. Ранний Theatre Of Tragedy мне был слишком уныл, а
их "экспериментальные" альбомы 2000-2002-го годов настолько постыдны,
что даже удалял с жёсткого диска -- сейчас же ставлю регулярно, как и
ранние doom-ные.
Отчётливо помню, что со всякими Rammstein, Megaherz и прочим neue
deutsche härte, думал что самая крутая (для меня) музыка идёт из
Германии. Со всякими Nightwish появилась тьмища исключительно финских
исполнителей, на худой конец из Швеции. С грайндкором и горграйндом
горизонты расширились, люто захватывая Скандинавию. А теперь в playlist-е
сплошные норвежцы и шведы.
Sergey Matveev [Thu, 10 Feb 2022 18:04:09 +0000 (21:04 +0300)]
Гос-ая открытая лицензия
https://www.opennet.ru/opennews/art.shtml?num=55960
https://g.info.gov.ru/datamart/nsud-datamarts.git
https://www.opennet.ru/opennews/art.shtml?num=32632
https://standartgost.ru/g/%D0%93%D0%9E%D0%A1%D0%A2_%D0%A0_54593-2011
Что-то мимо меня как будто прошла новость о "Государственной открытой
лицензии, версии 1.1". Хрен прочтёшь её в броузере -- JavaScript врубай.
Придётся клонировать git-репозиторий.
Прежде это была, как оказалось, открытая лицензия "Восхода". В куче кода
и файлах упоминается эта лицензия с ссылкой которая уже не работает
(файл переименован). Или вообще без ссылок, а с placeholder-ом "тута
надо вставить ссылку". Короче вместе с исходным кодом самого текста
лицензии нет, как и на сайте его нет. И я понимаю людей которые метают
какахи в сторону госработ, когда видят подобное качество на отъебись.
Исходный код коммитится и обновляется в репозитории одним бинарным Zip
архивом. Я даже не знаю как это прокомментировать. Люди впервые
пользуются VCS? Или, опять же, "на отвали" делают? Всякий IntelliJ мусор
закоммичен при этом. И бинари всяких зависимостей.
В "открытой лицензии" с ходу бросается в глаза что явно отмечено что ты
не можешь нарушать законы РФ и чего-то Евразийского. Выглядит как
нарушение нулевой свободы (свободного ПО), но вроде бы юридически это и
так автоматом будет следовать что закон выше в любом случае и ты его и
так обязан соблюдать.
И, опять таки, почему то мимо меня прошёл тот факт, что у нас есть ГОСТ Р
с определением "свободного ПО". Причём в нём действительно речь про СПО,
а не open source. Упоминают FreeBSD и даже правильно пишут "GNU/Linux",
не забывая добавлять что это только развивающая ОС, видимо, в противовес
законченной FreeBSD :-). Приятный ГОСТ, в котором первым делом ссылаются
на GNU GPLv3.
Sergey Matveev [Thu, 10 Feb 2022 17:34:31 +0000 (20:34 +0300)]
Установка софта DJB-way
https://sorting.cr.yp.to/install.html
https://libpqcrypto.org/install.html
https://news.ycombinator.com/item?id=17505357
Бернштайн предлагает качать tarball-ы так:
wget -m https://whatever/whatever-latest-version.txt
version=$(cat whatever/whatever-latest-version.txt)
wget -m https://whatever/whatever-$version.tar.gz
tar -xzf whatever/whatever-$version.tar.gz
cd whatever-$version
при этом намекает и на создание отдельного пользователя под которым оно
будет собираться, с chmod 755 $HOME и umask 022.
Идея с latest-version.txt мне понравилась. Надо бы и у себя наверное так
сделать. А то как понять появилась ли какая новая версия? Atom feed-ы я
не делаю для своего софта.
Хак с wget -m, создающим директорию, внутри которой будут помещаться все
tarball-ы программы, тоже понравился.
Sergey Matveev [Thu, 10 Feb 2022 07:43:07 +0000 (10:43 +0300)]
Как понять, что перед вами плохой разработчик
https://habr.com/ru/company/hexlet/blog/650603/
Уже наверное с год я стал замечать как люди говорят. Видя всяких
блоггеров время от времени, видя интервью с молодняком и Брайанами
Керниганами (89c4d5373d535a0b04b499a583d6f69312f302ea), стал
отмечать насколько же отличается речь. И действительно заметна
корреляция между уровнем разработчика и тем, как он говорит. Это
замечаю и в жизни у коллег. Отличный список критериев в статье:
* Насколько объёмный у него словарный запас;
* Как часто он поправляет себя;
* Как начинает и как заканчивает фразы;
* Насколько целостны и непротиворечивы его мысли;
* Насколько плавна его речь;
* Много ли он использует слов-паразитов и заполняющего паузы "мычания";
* Насколько обширный контекст он способен удерживать в диалоге;
* Насколько лаконично и ёмко он способен донести информацию.
Злоупотребление жаргонизмами, buzzwords, новояз -- аналогично тоже
замечал что крутые профи ничем подобным не балуются никогда.
Перфекционизм и идеализм -- тоже замечал что у молодых и неопытных это
нередко проявляется. Сам такой. И понимаю что всё хорошо в меру.
Переусложнение или оверинженеринг -- самое первое что бросается в глаза
у не очень опытных разрабов! Но тут всё очевидно.
* Желание учесть абсолютно все пограничные случаи работы приложения,
независимо от их вероятности и степени рисков, которые они несут
* Трата ресурсов и времени на разные аспекты задачи
непропорционально их фактической значимости
* Инновации ради инноваций
* Преждевременная оптимизация
Самоуверенность, велосипедизм, эффект Даннинга-Крюгера -- ни с чем не
поспоришь, корреляция всего этого с уровнем разраба ещё какая.
Туннельное зрение, когда человек использует бездумно
технологии/инструменты/подходы и даже не интересуется альтернативами.
Sergey Matveev [Thu, 10 Feb 2022 07:36:27 +0000 (10:36 +0300)]
Симпатичные doom-ерши
http://www.hitkiller.com/moshhnye-dumershi-smotrim-novyj-klip-zhenskoj-death-doom-komandy-konvent.html
Датская Konvent группа состоит только из девок, как и греческая Astarte
(fe96e0512ef8d053d102d868df0627e791f05509), но играют doom metal.
Простой, незатейливый, но приятно слушается. Такого женского гроула ещё
не слышал.
Sergey Matveev [Wed, 9 Feb 2022 12:42:12 +0000 (15:42 +0300)]
Сколько кубит нужно для взлома 256-бит ECC ключа
https://www.schneier.com/blog/archives/2022/02/breaking-245-bit-elliptic-curve-encryption-with-a-quantum-computer.html
13 миллионов чтобы взломать его за день. На сегодняшний день самый
большой и крутой квантовый компьютер IBM имеет всего 127 кубит.
Sergey Matveev [Wed, 9 Feb 2022 09:30:58 +0000 (12:30 +0300)]
GNU Guix переходит на Zstandard сжатие пакетов
https://guix.gnu.org/blog/2022/sunsetting-gzip-substitutes-availability/
Ибо оно у них экономнее lzip получается. Только у zstd умопомрачительная
скорость декомпрессии ещё.
Sergey Matveev [Wed, 9 Feb 2022 07:42:13 +0000 (10:42 +0300)]
Расширение RAIDZ в ZFS
https://freebsdfoundation.org/blog/raid-z-expansion-feature-for-zfs-goes-live/
В fd06c1c180f30fb802075a3a4a48ef0197576a85 упоминалась статья, где одним
из недостатков ZFS является невозможность увеличивать RAIDZ vdev.
Известно что работа над этом велась, а теперь она уже, можно сказать,
завершена.
Sergey Matveev [Tue, 8 Feb 2022 20:39:26 +0000 (23:39 +0300)]
Посмотрел "Один прекрасный день"
https://www.kino-teatr.ru/kino/movie/euro/19174/annot/
Под этим именем всякие другие фильмы и сериалы прячутся -- фиг найдёшь
где французский фильм с Пульвордом. Фильм про то, как то всё наперекосяк
у главного героя идёт, а потом внезапно вдруг все его любят, женщины
дают просто так, на работе хорошо как и не мечтал, жена возвращается и
всё в таком духе. Но почти весь фильм я был очень напряжён, ибо если бы
в жизни такое произошло, то обязательно что-то плохое всё это
компенсирует -- не бывает просто так и резко хорошо. Кто-то слишком
хорошо к тебе внезапно относится -- жди подвоха (хотя в фильме их не
было). Вот и герой фильма попадает в психушку из-за этого -- нервы не
выдержали.
Sergey Matveev [Tue, 8 Feb 2022 20:35:19 +0000 (23:35 +0300)]
Посмотрел "Не послушник"
https://www.afisha.ru/movie/266138/
На выходных за компанию с родителями ходили в кинотеатр. В целом мне
наверное не понравился, из-за слишком православной пропаганды в конце.
Родителям основная идея понравилась, но вот то, что, мол, нельзя без
соцсетей ничего сделать -- нет. Ну тут понятное дело что меня это тоже
удручает.
Sergey Matveev [Tue, 8 Feb 2022 16:27:25 +0000 (19:27 +0300)]
HackerNews сервер
https://news.ycombinator.com/item?id=16076041
https://news.ycombinator.com/item?id=28478379
https://news.ycombinator.com/item?id=30257487
Весь HackerNews работает на двух серверах (master и запасной) с FreeBSD:
CPU: Intel(R) Xeon(R) CPU E5-2637 v4 @ 3.50GHz
FreeBSD/SMP: 2 package(s) x 4 core(s) x 2 hardware threads
Mirrored SSDs for data, mirrored magnetic for logs (UFS)
К сожалению, многие даже не подозревают насколько вообще то современное
железо мощное и как много на нём можно делать. Чуть что, так сразу
бросаются за решениями с облаками и десятками машин.
Sergey Matveev [Mon, 7 Feb 2022 20:50:56 +0000 (23:50 +0300)]
Eaten By a Grue будет играть в победителей IFComp
https://monsterfeet.com/grue/notes/44
"Eaten By A Grue" -- первый подкаст который я начал слушать. Более пяти
лет я с ними, практически с самого начала. Они проиграли во все Infocom
IF-ы. Затем решили проиграть в оставшиеся четыре графические Infocom
игры. А затем настал волнующий выбор:
* либо завершить подкаст, мол как полностью законченный проект
* либо поиграть в квесты от LucasArts, типа Maniac Manson и Monkey Island
* либо поиграть в другие игры с Zork-ом в названии, уже графические, не Infocom
* либо поиграть в победителей ежегодного соревнования IFComp
Выбрали последний вариант. Во-первых, это всё же IF, а не графические
квесты. Во-вторых, там априори победители -- значит явно не плохие игры.
Я с нетерпением буду ждать их выпусков снова, которые под конец выходили
раз в несколько месяцев (на Zork Zero они потратили семь месяцев). Тем
более что в некоторых победителей IFComp я уже играл и именно на них и
ориентировался. Плюс среди них большая часть это относительно короткие
игры, которые можно за пару часов пройти, в противовес нескольких
месяцев легко затрачиваемых на Infocom-овские творения.
Sergey Matveev [Mon, 7 Feb 2022 17:41:24 +0000 (20:41 +0300)]
NNCP и goredo пакеты в разных ОС и дистрибутивах
http://www.nncpgo.org/Installation.html
http://www.goredo.cypherpunks.ru/Install.html
https://github.com/NixOS/nixpkgs/pull/141769
Почти никто из maintaner-ов пакетов не сообщает что пакет для софта был
добавлен куда-то. Понасиловал поисковик и обнаружил что софт мой много
где добавлен:
goredo: ALT Linux, Arch Linux AUR, Fedora, FreeBSD, macOS Homebrew, NetBSD
NNCP: Arch Linux AUR, Debian, Dragonfly BSD, FreeBSD, GNU Guix, NetBSD,
NixOS, Void Linux
Ну и возможно в NixOS появится goredo, в котором народ поругался на
отсутствие HTTPS с "валидными сертификатами". Причём мне не понятно для
чего? Они же там SHA256 хэш от файла вшивают в само описание пакета!
Сам я maintain-ил только GoVPN (уже мёртв) и NNCP в FreeBSD.
Sergey Matveev [Mon, 7 Feb 2022 10:22:10 +0000 (13:22 +0300)]
Запись terminal screencast
https://habr.com/ru/company/first/blog/648773/
https://pypi.org/project/asciinema/
https://blog.asciinema.org/post/two-point-o/
Делал я наверное только с десяток записей экрана терминала. Делал
записывая видео, конвертируя его потом в lossless VP9. Это требует и
места на диске прилично и много времени занимает кодирование. Но
lossless сжатие довольно компактно выходит, относительно фильмов.
В FreeBSD можно использовать "script -r" для записи вывода в файл с
временными штампами. И проигрывать его позже через "script -p". Но это
явно несовместимое с GNU/Linux реализацией решение, где у script свои
опции и отдельная scriptreplay команда.
Про asciinema я слышал, но считал что для этого обязательно что-то на
JavaScript надо запускать. Оказалось что нет. Есть asciinema Python
пакет, без зависимостей -- поэтому установить не проблема. Он и
записывать и проигрывать может, прямо в терминале, без дополнительных
программ. Решение куда более портируемое чем script.
В блоге для 2.0 версии показали что rec/play можно использовать и через
pipe для показа своего терминала удалённому пользователю, без всяких
ssh/tmux (5f98503b78f5aa80bd48f4633ce82e9a219ed7e6). Не пробовал, но
надо взять на заметку.
Sergey Matveev [Mon, 7 Feb 2022 08:36:56 +0000 (11:36 +0300)]
Эпитафия ноутбукам
https://vermaden.wordpress.com/2022/02/07/epitaph-to-laptops/
https://drewdevault.com/2020/02/18/Fucking-laptops.html
Автор ругается на постоянную деградацию клавиатур ноутбуков. Как по
качеству, так и по количеству важных клавиш. Полностью с ним солидарен!
Уже давно я ноутбуки использую только с внешней клавиатурой, ну и
монитором заодно. А в этом году то и вообще перестал как класс их
использовать.
Верно заметил что сейчас огромное количество людей выросло вообще без
полноценных клавиатур и не знают как использовать PgUp/Down, Home/End,
Ins/Del блок клавиш.
Sergey Matveev [Sun, 6 Feb 2022 09:58:20 +0000 (12:58 +0300)]
Спам чёрные списки совсем оборзели
https://blog.roastidio.us/posts/spam_blacklists_are_out_of_control/
Человек пишет что его IP адрес в чёрном списке, только потому, что он
соседствует с какими-то другими нехорошими из этой же организации. И это
официальное объяснение, даже с пометкой что "мы понимаем, что конкретно
ваш адрес ничего плохого и не делает". Это действительно совершенно
бессовестно уже. Автор не использует эти сервисы, как и я. Их поведение
неприемлемо и выходит за все разумные рамки.