]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
20 months agoPuffin Cafe приближается к концу
Sergey Matveev [Thu, 10 Aug 2023 15:15:23 +0000 (18:15 +0300)]
Puffin Cafe приближается к концу

В c2ca5b3c80288aaa1a12d1a6d6ff3e2600657c0d я нашёл сборник аудиокниг
Puffin Cafe, где хорошо читают и подборку фантастики имеют схожу с
Моделью Для Сборки (3144d39f1903349286e1e81e3d4ca114bf420349). Да вот
засада: я уже на 472-ой книге из 498. То есть вот-вот уже с недели на
неделю всё прослушаю. Надо будет снова искать сборники.

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

20 months agoПопытки пропаганды украинских нацистских террористов
Sergey Matveev [Thu, 10 Aug 2023 08:13:25 +0000 (11:13 +0300)]
Попытки пропаганды украинских нацистских террористов

https://club.hugeping.ru/blog/Tvq6MCSCEZFXXvlpBNom#Tvq6MCSCEZFXXvlpBNom
Автор одного небольшого ресурса пишет, что его спамом заваливали
недавно, но при этом использовали свой родной язык. Он верно пишет, что
врагу вообще-то пишут на его родном языке, дабы донести какую бы то ни
было информацию. Но у последователей нацистского террористического
режима настолько всё отбито в голове, что они даже этого не понимают. У
них явно даже нет цели попытаться донести что-то. От коллег, которые
больше обитают в соцсетях, слышал что нацики считают, что их язык якобы
все славяне обязаны знать.

А так полностью солидарен с автором этого блога по теме СВО. Точно также
наслышан про тьму ИТшников (0c8266d3ec0e7676deb9da3d4e3d85fb94748e1a)
либералов (для меня это собирательное слово уже давно, отличная
лакмусовая бумажка). И точно так же думал: зачем освящать громко и
публично свою позицию? Но и было чувство некоего предательства, ибо как
будто стыдишься поддерживать свою Родину и своих солдат товарищей,
которым и сам станешь в любой момент.

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

Говорила, что боится куда то там идти работать, потому что очень опасно.
Я про себя думаю: что ж такого опасного то может быть на какой работе?
Мысли, честно говоря, только про то, чтобы заниматься чем-то незаконным,
типа наркоторговли. Ну или работать в зоне боевых действий. Оказалось,
речь про то, что работа может оказаться под санкциями. Насколько же у
нас кардинально разное восприятие, что даже не смешно уже, противно.

С моей точки зрения, оказаться под санкциями, равносильно признанию
того, что ты всё верно и правильно делаешь для своей страны и для
спасения жизни миллионов людей. Это признание заслуг, чем вообще-то
стоит гордиться. Как автор блога на club.hugeping.ru видит, что его
статья запускает некую цепную реакцию у нацистов: "Значит, всё-правильно
сделал".

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

20 months agoПосмотрел "Лучше не бывает"
Sergey Matveev [Thu, 10 Aug 2023 07:30:05 +0000 (10:30 +0300)]
Посмотрел "Лучше не бывает"

https://ru.wikipedia.org/wiki/%D0%9B%D1%83%D1%87%D1%88%D0%B5_%D0%BD%D0%B5_%D0%B1%D1%8B%D0%B2%D0%B0%D0%B5%D1%82
Какие-то отрывки из фильма я видел ещё в детстве по ТВ. Почему-то в
памяти запомнился Джек за рулём в перчатках и что ему не нравится когда
его трогают. Джек Николсон вообще крутейший актёр когда надо играть на
голову больных и страшных людей (Отступники, Пролетая над гнездом
кукушки, Сияние, и т.д.). Фильм очень понравился. Как человека может
поменять пёсик и пробудить в нём хорошую сторону! Ах да, ну кроме пёсика
ещё женщина. Вот только в конце Николсон чуть ли не перестаёт быть
собой, превращаясь в какого-то обычного романтичного влюблённого,
потеряв свою изюминку.

20 months agoUntitled Goose Game
Sergey Matveev [Thu, 10 Aug 2023 07:28:44 +0000 (10:28 +0300)]
Untitled Goose Game

https://en.wikipedia.org/wiki/Untitled_Goose_Game
Увидел упоминание компьютерной игры, где играешь за гуся, который должен
сеять хаос и панику среди людей в деревушке. Собственно, и наград всяких
у неё не мало. Чего только не придумают!

20 months agoDownfall, Inception
Sergey Matveev [Wed, 9 Aug 2023 08:06:51 +0000 (11:06 +0300)]
Downfall, Inception

https://www.opennet.ru/opennews/art.shtml?num=59571
https://www.opennet.ru/opennews/art.shtml?num=59574
Очередные (каждые несколько месяцев же ведь находят всё новые и новые!)
возможности постороннему процессу получить данные другого. Пишут, что
даже и через JavaScript в броузере можно.

20 months agoБрэма нет -- репозиторий начал уродоваться
Sergey Matveev [Wed, 9 Aug 2023 06:53:39 +0000 (09:53 +0300)]
Брэма нет -- репозиторий начал уродоваться

Подтянул обновления из git-репозитория Vim. Вот прям вся история до
этого была в нём линейна, и вот сейчас появился уже уродливый "merge
pull request":

    * 84bc00e9b (tag: v9.0.1679, origin/master, origin/HEAD) patch 9.0.1679: Cleanup Tests from leftover files
    *   9fcde9417 (tag: v9.0.1678) Merge pull request #12740 from k-takata/import-9.0.1678
    |\
    | * ad34abee2 patch 9.0.1678: blade files are not recognized
    |/
    * 4c0089d69 (tag: v9.0.1677) patch 9.0.1677: typo in syntax test input file
    * 16abd997c (tag: v9.0.1676) patch 9.0.1676: warning for buffer in use when exiting early
    [тысячи линейно идущих друг за другом]

Я вот удивляюсь тем кто это делает: они вообще что ли никогда не смотрят
в историю и просто вслепую нашлёпывают коммиты в репоизтории? Сложно
перед merge сделать rebase?

20 months agoВолодарского больше нет
Sergey Matveev [Tue, 8 Aug 2023 18:05:12 +0000 (21:05 +0300)]
Володарского больше нет

https://lenta.ru/news/2023/08/08/potok/
https://lenta.ru/news/2023/08/08/volodarskirip/
Изначально я увидел новость о перепалки какой-то блогерши с Собчак, на
тему переводов Володарского. Блогерша написала и привела пример фильма
с его переводом. Собчак же заметила что это Гаврилов был. Собчак мразь
конечно та ещё, но тут оказалась права. Удивительно, но все эти ссылки
на Telegram вполне себе позволили в Links показать посты этого канала
и выдать ссылку на YouTube, которую обсуждали. Конечно же это Гаврилов.
Что я на самом деле узнал сам только три года назад:
2e94b72b12b80b04d00e6b983f193a9ce652a4e9.

В новости на Ленте пишут что у каждого типа если и были кассеты VHS,
то не без Володарского. У нас видеомагнитофон появился под конец 90-х,
и кассет с фильмами у нас наверное несколько штук за всё время и было.
Использовался он для записи по будильнику передач с ТВ. Но зато кассет
у знакомых много видел. Так вот Володарского я с ходу даже и не вспомню
где у кого слышал, в отличии от Гаврилова. С ним, действительно, прям
всё детство прошло, ибо в, тогда ещё, Калининграде по местному
кабельному крутили с видеокассет фильмы с переводом именно Гаврилова.
И вот у меня сомнения: точно ли авторы новости не путают Гаврилова и
Володарского? Или это нам в Королёве так повезло, что нас пичкали именно
Гавриловым, в переводе которого я даже современные фильмы стараюсь
скачивать. А Володарского... честно говоря, и слушать сложно и перевод,
я бы сказал -- отвратительный, никакой, теряющий большую часть информации,
даже суть не передающий.

Пример перевода из "Кровь и бетон", где масса народу пишет, что это
Володарский, что неверно: https://www.youtube.com/watch?v=ak0VILEdYDw

20 months agoНе стоит недооценивать пропускную способность HDD-over-email
Sergey Matveev [Tue, 8 Aug 2023 09:53:02 +0000 (12:53 +0300)]
Не стоит недооценивать пропускную способность HDD-over-email

https://textfiles.libsyn.com/the-computer-shopper-aesthetics-episode
Jason Scott упомянул в своём подкасте, что, при сканировании книг на
больших разрешениях, у него файлы по 70 гигабайт выходят. Поэтому он
задумывается об отправке жёстких дисков курьерской почтой.

Таненбаум в "Архитектуре компьютера", если не ошибаюсь, писал что не
стоит недооценивать пропускную способность грузовика гружённого лентами.

20 months agolftp и WebDAV
Sergey Matveev [Mon, 7 Aug 2023 06:58:55 +0000 (09:58 +0300)]
lftp и WebDAV

lftp с WebDAV-ом реализованном через golang.org/x/net/webdav я считал
что не работает. Попытался разобраться. Всё оказалось до банального
просто. lftp и не пытается честно следовать WebDAV протоколу по
умолчанию для получения списка элементов коллекции. Просто навсего нужно
выставить http:use-propfind в нём и всё заработает.

20 months agoПолтора дня шашлыков и DJing
Sergey Matveev [Sun, 6 Aug 2023 13:05:43 +0000 (16:05 +0300)]
Полтора дня шашлыков и DJing

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

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

20 months agoBram Moolenaar больше нет
Sergey Matveev [Sun, 6 Aug 2023 11:18:40 +0000 (14:18 +0300)]
Bram Moolenaar больше нет

https://www.tuhs.org/mailman3/hyperkitty/list/tuhs@tuhs.org/thread/LQ7RTVZ5ITQ7IJBLCKTSA3YJVGS6SEW5/
https://en.wikipedia.org/wiki/Bram_Moolenaar
https://www.opennet.ru/opennews/art.shtml?num=59557
https://habr.com/ru/news/752706/
http://blog.sesse.net/blog/tech/2023-08-05-17-36_rip_bram_moolenaar.html
Умер автор Vim, главный разработчик онного.

20 months agoПароли здорового человека
Sergey Matveev [Wed, 2 Aug 2023 12:37:26 +0000 (15:37 +0300)]
Пароли здорового человека

https://habr.com/ru/articles/751414/
Статью сразу можно считать говном, ибо пароль предлагают генерировать
старым добрым идиотским способом с кучей спецсимволов. Реально это уже
всё выглядит как заговор, навязыванием небезопасных решений, с целью
проталкивать 2FA.

20 months agoУшёл сопровождающий XFS в Linux. Будет заниматься ZFS
Sergey Matveev [Wed, 2 Aug 2023 12:31:21 +0000 (15:31 +0300)]
Ушёл сопровождающий XFS в Linux. Будет заниматься ZFS

https://www.opennet.ru/opennews/art.shtml?num=59543
Заниматься ZFS -- одобряю! Но XFS мне нравилась в своё время тоже.

20 months agoПодпись без OpenPGP, signify/minisign, ssh-keygen
Sergey Matveev [Wed, 2 Aug 2023 10:21:15 +0000 (13:21 +0300)]
Подпись без OpenPGP, signify/minisign, ssh-keygen

http://www.ca.cypherpunks.ru/
Недавно подписал, просто ради интереса попользоваться утилитами, X.509
CA сертификат не только OpenPGP, но и minisign-ом и OpenSSH-ем.

minisign приятен тем, кроме минималистичности, что его подпись
совместима и с signify утилитой, входящей в состав OpenBSD. Просто тупо
подпись, без ада структур и сложностей OpenPGP. Даже вариативности
работы то толком никакой нет у утилиты, что хорошо. Как минимум, в
OpenBSD, ничего дополнительно из софта ставить не надо будет для
проверки этих подписей (ну кроме копирования 1-2 строчных публичных
ключей).

ssh-keygen (e6184094fc1f16c6d0648dfb62b02e95c15b4136) из OpenSSH может
подписывать произвольные данные. Публичный ключ занимает, аналогично как
в authorized_keys, одну строчку. В подписи необходимо указывать
namespace, что вообще очень здорово и правильно: современные хэши из
коробки в своём API позволяют задавать application-context. Я тоже во
всех проектируемых форматах/алгоритмах/протоколах всегда добавляю
контекст (хотя бы просто добавляя строчку при хэшировании). Формат
подписи чуть сложнее: содержит ещё и идентификатор хэша, namespace и
публичный ключ. Приятно решение тем, что OpenSSH из коробки и в BSD и в
GNU/Linux-ах, как правило, имеется.

20 months agoOpenSSH против SSH
Sergey Matveev [Wed, 2 Aug 2023 10:00:04 +0000 (13:00 +0300)]
OpenSSH против SSH

https://habr.com/ru/companies/ruvds/articles/751756/
Действительно, вечная проблема "реализация vs стандарт (типа независимый)".
Не знал что DJB выгоняли из DNS IETF-а. BIND кстати всегда прям не любил,
не нравился он мне даже форматом конфигов. У себя на практике вроде бы
его никогда и не использовал.

А вот OpenSSH мне нравится. Конечно, отнюдь не минималистичное решение,
но ребятам из OpenBSD доверие имеется. Да и как может не нравится софт,
в котором явно есть переключатель "не использовать (ненавистный) OpenSSL"
(ac8333dcf2a8d2e40a00b4a551355760aa0e28b7)?

Dropbear SSH я вроде в 2000-х как-то трогал в составе OpenWRT. Мало что
из воспоминаний о нём осталось. Если не ошибаюсь, то вроде были проблемы
с тем, что он современных алгоритмов каких-то не поддерживал.

21 months agoПоломается ли RSA-2048 в 2030-ом?
Sergey Matveev [Mon, 31 Jul 2023 15:28:04 +0000 (18:28 +0300)]
Поломается ли RSA-2048 в 2030-ом?

https://habr.com/ru/companies/mvideo/articles/751506/
https://articles.59.ca/doku.php?id=em:20482030
Конечно же нет, если коротко. Статья прикидывает почему именно. Я
поэтому и не видел и не вижу проблем с RSA 2k и создавал его для многих
ключей OpenPGP подписи. Сейчас, конечно же, использую ed25519, особенно
когда он вообще стал алгоритмом по-умолчанию в GnuPG.

21 months agoМуха охотится на маленьких детей
Sergey Matveev [Mon, 31 Jul 2023 14:39:53 +0000 (17:39 +0300)]
Муха охотится на маленьких детей

Собака Муха (63f7f86c5e15507ca960e0b7d861176c48a4655c) обожает дачу и
любит её охранять: может и тяпнуть, говорят. А как-то сам увидел как
если рядом нет взрослых, то Муха бежит, думая что её никто не видит, за
маленькими детьми чтобы загнать их с лаем на лавку и не позволять
спускаться. Причём прям явно видно как совершенно иначе она относится к
маленьким и взрослым.

21 months agoПара дней на шашлыках
Sergey Matveev [Mon, 31 Jul 2023 14:37:55 +0000 (17:37 +0300)]
Пара дней на шашлыках

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

21 months agoБудущее Web-а это VNC
Sergey Matveev [Mon, 31 Jul 2023 11:57:42 +0000 (14:57 +0300)]
Будущее Web-а это VNC

https://shkspr.mobi/blog/2023/07/the-future-of-the-web-is-vnc/
О, точно такая же мысль пришла одному человеку как и мне
(a3b6b4ff11f962f8810c12fb331311a3655adda3): просто использовать аналог
VNC для Web-а, чтобы никаких сложностей и пользователь не мог делать
того, что не хотят корпорации (ab5d66334f36ab22a7b8547357829bcd24925ea6).

21 months agoПроблемы с пробелами в Bourne shell
Sergey Matveev [Mon, 31 Jul 2023 10:51:11 +0000 (13:51 +0300)]
Проблемы с пробелами в Bourne shell

https://blog.plover.com/Unix/whitespace.html
https://drewdevault.com/2023/07/31/The-rc-shell-and-whitespace.html
Хорошая статья о том, что в POSIX shell всё вообще очень ужасно если
есть пробелы в именах файлах. Да и где бы то ни было ещё. И ещё статья
ответ, в которой говорится об rc shell (но не тот что в Plan 9), а также
упоминающая что в zsh и fish, в которых нет упомянутых проблем с
экранированием. Обе хороши. И в bash проблем ничуть не меньше.

21 months agoКонцерт Тейлор Свифт -- землетрясение
Sergey Matveev [Mon, 31 Jul 2023 06:07:59 +0000 (09:07 +0300)]
Концерт Тейлор Свифт -- землетрясение

https://naked-science.ru/community/867783
Поклонники буквально устроили землетрясение с магнитудой 2.3. Круто!

21 months agoБлог умеет показывать картинки
Sergey Matveev [Fri, 28 Jul 2023 18:40:40 +0000 (21:40 +0300)]
Блог умеет показывать картинки

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

Для добавления дополнительной информации к коммиту (который является
постом в блоге) в Git можно в отдельной ветке в файле с названием равном
хэшу коммита разместить произвольную информацию. Собственно это
git-notes. Комментарии у меня хранятся именно как git-note, в который
дописываются recfile-отформатированные записи. Но картинки это бинарные
файлы, к тому же к которым надо бы название/alt добавлять и намекать на
формат изображения. Была идея превратить файл в notes-like ветке в
директорию, в которой названия файлов это alt-текст плюс расширение
указывающее тип.

Но хранить изображения хотелось бы в отдельном репозитории, ибо это уже
опциональная информация, жутко тяжёлая по определению. Начал думать о
подключении в движке ещё одного репозитория, в котором выбирать нужную
ветку и искать директорию с файлами. Легко делать сложно. И только после
этого дошло: а зачем Git то? Не нашёл ответа. В итоге для хранения
картинок просто указываю путь к директории с картинками. Поддиректориями
являются хэши записей в блоге. Внутри них -- просто обычные файлы. И
раздавать директорию можно обычным HTTP-сервером, ничего не надо
просасывать через движок блога. По сути он теперь просто проверяет есть
ли директория с именем коммита и список файлов превращает в список <img>
элементов, а в Atom ленте это превращается в enclosure.

Делаю сертификаты для нового домена img.blog.stargrave.org через
zeasypki (47b11bfd222d9f3f03664035e4fb4ca32cfa75de). Среди них ECDSA
(для всякого старья), EdDSA и ГОСТ, который на уровне TLS 1.3
поддерживается моей сборкой Go (http://www.gostls13.cypherpunks.ru/).
Делаю записи в DNS через zdns (d4eadab571bf5e8ea00d19598f129a708a322d15)
(сертификаты надо сделать заранее, чтобы DANE записи появились в зоне).
Добавляю знание о нём в свой HTTP-сервер godlighty
(http://www.godlighty.stargrave.org/). Пишу скрипт для rsync-а ~blog/img
директории на сервер. Правлю код sgblog. Добавляю пару строчек в
конфигурационный файл на сервере: ImgPath:
/home/www/www/img.blog.stargrave.org, ImgDomain: img.blog.stargrave.org.
Добавляю первую картинку, загружаю, перезапускаю sgblog, радуюсь.

В Atom ленте для enclosure стоит указывать MIME-тип. Поэтому sgblog по
расширению должен уметь определять его. Пока просто сделал hard-code
словарика со всеми поддерживаемыми форматами которые я мог бы раздавать.
То бишь, JPEG XL и WebP (так как много чего у меня в нём есть, без
оригинального файла из которого он был сделан).

Так как я люблю, чтобы серверы были дружелюбны к зеркалированию полному,
то директория раздающая картинки должна читаться через WebDAV. godlighty
его поддерживает частично: например lftp не работает с ним. Но cadaver и
rclone вполне.

21 months agoFreeBSD консоль и кириллица
Sergey Matveev [Fri, 28 Jul 2023 09:04:13 +0000 (12:04 +0300)]
FreeBSD консоль и кириллица

Установил тут на работе недавно FreeBSD на компьютеры. Вот вообще ничего
не настраивал для консоли, только moused_enable=YES добавил. UTF-8
кириллический текст показывается, ScrollLock-ом мотать историю экрана
можно (хотя я всё равно tmux установил), мышкой выделять двойным щелчком
слова и вставлять третьей кнопкой тоже можно. А из-за UEFI, можно при
загрузке выбрать нужное разрешение framebuffer и по человечески работать.

Раньше (2000-е), помню, надо было явно выставлять особый шрифт, а
кириллица была через KOI8-R в терминале. Хотя мне этого хватало и для
работы полностью (я реально на запускал X-ы вообще) и для FidoNet вполне.

21 months agoТрушные названия музыкальных групп
Sergey Matveev [Thu, 27 Jul 2023 05:44:46 +0000 (08:44 +0300)]
Трушные названия музыкальных групп

Регулярно ставлю альбом Krahnholm-а (2d440a96b081b1740db1c2d1183ab04c3ecec2e0).
Порыскал в Encyclopaedia Metallum о том, с какими ещё группами связаны
участники, особенно понравившийся вокалист Gapsanger Draugsvelg. Kroda,
Reusmarkt, Emptynest, Colotyphus, Ezkaton, Atra Mors Kvlt, Torqverem,
Zgard, Kruk, Mørkt Tre, KZOHH, Ulvegr, Djur. Ничего не понятно, но
нравится как это всё пишется и звучит.

21 months agoWeb Environment Integrity
Sergey Matveev [Thu, 27 Jul 2023 05:15:32 +0000 (08:15 +0300)]
Web Environment Integrity

https://www.opennet.ru/opennews/art.shtml?num=59495
https://kevincox.ca/2023/07/26/web-environment-integrity-api/
https://habr.com/ru/news/750368/
https://www.neelc.org/posts/google-webauth-palladium/
https://stackdiary.com/web-environment-integrity/
Хорошо и коротко в блоге Kevin Cox написано что это такое: это API для
удостоверения что третье лицо полностью контролирует ваше устройство.
Удостоверение что вы не контролируете никоим образом.

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

21 months agoОтношение к .docx
Sergey Matveev [Tue, 25 Jul 2023 06:20:55 +0000 (09:20 +0300)]
Отношение к .docx

https://fsfe.org/activities/msooxml/msooxml.en.html
https://fsfe.org/activities/msooxml/msooxml-interoperability.en.html
https://www.fsf.org/campaigns/opendocument/copy_of_index_html
На фоне кучи Word-овых документов на сайте Госдумы
(2312210dcbc3da3381b5e07f811aeef7a5fb1a36), вспомнилось что как-то меня
попросило начальство один документ, написанный в Texinfo для
генерирования набора HTML-ек с картинками, отправить в .docx формате. Не
просто описать все мысли и эмоции по этому поводу, ибо, считаю, что нет
ничего более отсталого и, я бы сказал, унизительного чем использовать
подобный формат и софт.

* Ну не может образованный технарь в здравом уме делать осознанный
  техничный выбор в сторону WYSIWYG решения. Вот выбирать Microsoft
  Windows технарь может: эта платформа для всяких домохозяек и на софте
  для неё можно зарабатывать уйму денег, поэтому это выбор платформы для
  profit, как минимум. Но к Word то, конечной программе, этот аргумент
  (про profit) не применим
* Решение, в котором невозможно использование текстового редактора
  (уж извините, но пока не придумано ничего лучше Vim или Emacs, даже
  хоть как-то на милю к ним приближённого) и систем контроля версий?
* Я считаю что выбрать Word осознанно может только тот, кто не ушёл в
  своём развитии и знаний о прикладном ПО дальше чем 1990-е, где тьма
  нелегальных ("пиратских") копий Windows+Office распространялась, с
  целью подсаживания стран на vendor-lockin решение от Microsoft. Да, в
  нашей стране ПК то и появились в это время, как и люди с ними
  работающие, то прошло уже почти 30 лет с тех времён!
* Это абсолютно сродни тому, что человек бы использовал печатную
  машинку: на ней же тоже можно сделать документ? Сродни тому, что
  человек писал бы код без какой-либо системы контроля версий, даже хотя
  бы RCS. Знаю что таких людей много, но это говорит *только* об их, так
  сказать, необразованности, либо о необразованном дебилизме (ибо только
  всем в округе вредит) руководителей которые форсируют не применять VCS
* Все эти люди могут быть умнейшими человеками, крутейшими специалистами
  в своей области, но это не отменяет что они могут продолжать
  использовать печатные машинки или чертить от руки. Но вот только зачем
  от окружающих то этого требовать? CAD системы имеют далеко не нулевой
  порог входа и если надо быстренько раз в полгода небольшой чертёжик
  нарисовать, то запросто это проще сделать от руки безусловно. Но
  человек который целыми днями только и делает чертежи -- будет
  использовать куда более навороченный (CAD) инструмент
* Вот и Word создавался для домохозяек и секретарш, чтобы они могли, как
  я это называю, служебные заметки печатать. Для их задач это более чем
  достаточно с минимальным порогом входа. Вот только не бывает
  инструментов одинаково пригодных для использования профессионалами и
  для полных любителей. Не бывает такого в принципе, ни в одной области.
  И если я умею CAD или roff/TeX, то зачем мне любительские инструменты?
* Всё вышеописанное я на самом деле применяю не только к Word-у, но и к
  любом другому WYSIWYG, такому как Open/LibreOffice. Домашним
  пользователям достаточен был бы BASIC на их компьютере (как в ZX
  Spectrum), но зачем профессионального программиста то заставлять его
  использовать?

Но чаще у меня возникает другой вопрос, на который никто так и не дал
мне вменяемого ответа: конечному человеку который будет читать документ,
какая разница в каком формате он будет? Хорошо, я понимаю почему не
HTML, ибо он не очень красиво и просто может быть распечатан, а читать
A4 страницы распечатанные, действительно, может быть куда удобнее. Но
для печати итогового документа вообще то придуманы форматы типа
PostScript (ok, про него можно забыть) и PDF. PDF, грамотно сделанный
(PDF/A), откроется везде и распечатается as-is везде. И его можно
сделать десятками инструментов, кому какой нравится.

.docx же, даже на самих Word-ах открывается по разному. Более того, я
даже видел что на одной и той же версии Word он может выглядеть по
разному (версия ОС, настройки ОС?)! Не говоря о том, что он заведомо
наверняка не будет одним и тем же в LibreOffice и Microsoft Office. Так
зачем же хотеть этот формат (ну кроме 90-х в голове и "я так делал 30
лет назад и мне нормально")? HTML/whatever точно везде по разному будет
выглядеть, но зато точно откроется, потерь информации не будет, богатый
выбор инструментария. PDF/A точно везде одинаково будет выглядеть и
везде откроется, не малый выбор инструментария. .docx часто будет
выглядеть по разному, ограничен по сути только одной программой и
зачастую определённой (не более старой) её версией, как и инструментарий
для создания.

Единственный аргумент который вспоминаю: а если противоположная сторона
захочет внести правки? А для этого есть исходный код. Вы программу тоже
предоставляете всегда на интерпретируемом языке, чтобы принимающая
сторона могла поправить? Давайте в PostScript документы делать: их тоже
люди руками правили. А говорить о серьёзной кооперативной правке
документа/кода без возможности использования системы контроля версий,
это опять же возврат к тому как некоторые люди разрабатывали софт
прежде: обменивались готовыми tarball и вручную делали merge. Без
комментариев, так как сейчас 2023-ий год.

И я ещё пока молчал о том, что .docx это только про одну программу. Сам
я лично это не проверял, но много источников говорят о том, что в OOXML
есть возможность проприетарных расширений и вставки бинарных данных
(implementation-specific). И MS конечно же активно их использует. Именно
поэтому документы сделанные в MS не могут быть гарантированно открыты
где бы то ни было ещё, ибо это закрытые implementation-specific
proprietary блобы. Есть несколько стандартов для OOXML: Transitional и
Strict версии, как минимум. И Strict MS Office не использует по
умолчанию вовсе.

Более того, в РФ OOXML не является стандартом, тогда как для Open
Document Format (ODF) есть ГОСТ. То есть, .odt это по ГОСТ и очень
странно видеть от людей госучреждение желание видеть .docx (компьютеры с
1995-го не обновлялись, где нет PDF просмотрщика из коробки даже?). Но
MS Office ODF не умеет писать, не знаю насколько точно умеет их для
просмотра открывать. Но если для записи MS Office всё равно с ГОСТовым
.odt нельзя использовать, то, опять же, почему не PDF использовать?

То есть, .docx это только про ровно одно семейство программ (OOXML
де-юре может и имеет ISO стандарт, но де-факто он не используется
никем), которое проприетарное и закрытое. Более того, написанное
вражескими странами и это ни при каких обстоятельствах нельзя поэтому
подключать к Интернету. Заставлять гражданина РФ использовать .docx, а
значит и Word, а значит и Windows -- призывать к использованию
шпионского закрытого проприетарного ПО вражеского государства, которое
уже долго и упорно делает многое, чтобы нас физически истреблять. Не
хорошо, недопустимо.

Нарушение ГОСТ, нарушение политики госбезопасности, противостояние
свободному ПО и свободным/открытым форматам, частая невозможность видеть
документ одинаково на разных компьютерах. Ну и плюс это просто класс ПО
для создания служебных записок. Что-то серьёзнее в нём делать? Я видел
как Word тормозит на компьютерах с i7/64GB RAM на документах всего в
пару сотен страниц. Я у себя на компьютере отключал даже "git status"
вызываемый при отображении строки приглашения командной оболочки, ибо
пара сотен миллисекунд это ОЧЕНЬ заметно и ДИКО раздражает. А Word на
секунды может задумываться при промотке страниц. Это просто, опять же,
намекает на то, что он не предназначен для документов даже такого
размера, только для небольших служебных заметок или объявлений по
домохозяйству.

И вот какого мне было реагировать на просьбу сделать .docx? Texinfo
может выдать Docbook. Начался поиск инструментов которые бы Docbook
могли бы в OOXML перевести. Тут уж пофиг как это будет выглядеть, лишь
бы как-нибудь. С полдюжины программ перепробовал, но или теряют массу
*важного* форматирования, или кириллицу не могут, или картинки не
вставляют (из внешних PNG файлов). В общем, только Pandoc смог ничего не
потерять. Но с ним конечно большая засада: он на Haskell, который штатно
не предоставляет никакой документации как его bootstrap-нуть. Видел в
GNU Guix что они умеют делать для него bootstrap, но это наверное неделю
у меня заняло бы повторить на основе их файлов сборки. Так что на
отдельном физическом компьютере, в виртуальной машине я установил Devuan
и бинарь pandoc поставил.

Но меня больше смущало другое: я (уже) почти всю жизнь Unix-оид.
Программист, который хоть сколько-то современным инструментарием умеет
пользоваться (без VCS жить не могу). Я окончил технический институт,
поэтому, как минимум, знаю (La)TeX. Да, Texinfo в LaTeX тоже не
тривиальная задача перевести, насколько помню -- проще руками .tex
сделать с нуля, копируя текст, но это хотя бы отличную PDF может
сделать. А меня просят опуститься до уровня печатной машинки. Верю что
разочаровались во мне как в программисте, ибо мой КПД в этом году ниже
плинтуса, но TeX же я мог вспомнить то.

21 months agoУчётные записи только по ЕСИА, ЕБС или "российской" электронной почты
Sergey Matveev [Tue, 25 Jul 2023 05:42:18 +0000 (08:42 +0300)]
Учётные записи только по ЕСИА, ЕБС или "российской" электронной почты

https://habr.com/ru/news/750116/
Как понять кто считается российской электронной почтой? Чётко заданный
список? Или обязательно в домене .ru (.su, .рф)? А будет ли учитываться
хостинг где находится, иначе какой смысл какой домен? Текста законопроекта
не знаю как достать: на сайте Госдумы только Word документы вижу.

21 months agoU2F, FIDO, CTAP, WebAuthn, caBLE, passkeys
Sergey Matveev [Mon, 24 Jul 2023 18:52:38 +0000 (21:52 +0300)]
U2F, FIDO, CTAP, WebAuthn, caBLE, passkeys

https://www.imperialviolet.org/2023/07/23/u2f-to-passkeys.html
Отличная статья рассказывающая про всё это нормальным языком, не
marketing bullshit-ом, а про конкретику что конкретно и как примерно
делается. А в целом просто ужасаюсь passkeys: это же буквально просто
помещаемые в облака приватные ключи. С одной стороны сколько людей
трындят о том, что отдельные аппаратные токены это хорошо, ведь, мол,
отдельное устройство, ключ не покидает его, а тут вот такое делают. Не,
ясно что для разных задач всё это, но от web-а я не перестаю офигевать.

21 months agoЛовушка в Go циклах
Sergey Matveev [Mon, 24 Jul 2023 18:36:24 +0000 (21:36 +0300)]
Ловушка в Go циклах

https://flak.tedunangst.com/post/dodging-the-go-loop-trap
Прекрасно знаю ведь про переменные в циклах, всё ясно и понятно, но на
днях потратил несколько часов на поиск ошибки которая была именно такой
как описано в статье. Не уследил по неаккуратности.

21 months agoZenbleed
Sergey Matveev [Mon, 24 Jul 2023 18:27:43 +0000 (21:27 +0300)]
Zenbleed

https://marc.info/?l=openbsd-tech&m=169021508718971&w=2
https://lock.cmpxchg8b.com/zenbleed.html
Очередная атака на процессоры, о которой я вообще узнал из письма от Тео
в OpenBSD. При использовании AVX, данные из регистра могут утечь другой
программе. glibc, как пишет Тео, AVX использует даже для простых
(частых) операций работы со строками (копирование, нахождение длины). А
достать данные тривиально при этом.

21 months agoСборка Go на FreeBSD 13+
Sergey Matveev [Mon, 24 Jul 2023 10:38:38 +0000 (13:38 +0300)]
Сборка Go на FreeBSD 13+

С момента обновления FreeBSD, появилась проблема: go1.4 не собирается
под ней:

    [...]
    cmd/6c
    /tmp/go/src/cmd/6c/../cc/pswt.c:36:2: error: use of undeclared identifier 'C1'
    /tmp/go/src/cmd/6c/../cc/pgen.c:35:14: error: unknown type name 'Type'
    [...]

Решить проблему не смог с ходу. Первый раз когда это возникло:
пересобрал под виртуальной машиной С FreeBSD 12.

Сегодня снова посмотрел на эту проблему. В общем пока выходит так:

* разворачиваю chroot FreeBSD 12:

    zstd -d < FreeBSD-12.4-RELEASE-amd64-dvd1.iso.zst > fbsd12.iso
    mdconfig -a fbsd12.iso
    mount -t cd9660 /dev/md0 /cdrom
    mkdir /tmp/fbsd12-chroot
    tar xfC /cdrom/usr/freebsd-dist/base.txz /tmp/fbsd12-chroot

* сую туда Go, делаю debash (утилита из
  http://www.gostls13.cypherpunks.ru/, которая убирает зависимость от
  мерзкого bash, которого нет из коробки в нормальных ОС), пытаюсь собрать:

    tar xfC go1.4.3.src.tar.gz /tmp/fbsd12-chroot/root
    cd /tmp/fbsd12-chroot/root/go
    debash
    chroot /tmp/fbsd12-chroot /bin/sh
    cd go/src
    export CGO_ENABLED=0
    ./make.bash

  получаю:

    [...]
    cmd/go
    runtime: address space conflict: map(0xc208000000) = 0xc2081bf000
    fatal error: runtime: address space conflict

* выключаю ASLR, который по умолчанию в FreeBSD теперь включён:

    sysctl kern.elf64.aslr.enable=0

  теперь сборка не падает, а просто на cmd/go зависает, не делая ничего
  на CPU. Но, ведь всякие "6c" программы же уже собраны, которые падали
  на FreeBSD 13

* уже вне chroot, под FreeBSD 13, продолжаю сборку без очистки:

    ./make.bash --no-clean

* после этого можно собрать уже Go 1.17, но, с ним тоже будут проблемы с
  ASLR. Зато после него, 1.20 уже собирается без проблем

21 months agoДополнительный вентилятор на beta.stargrave.org
Sergey Matveev [Mon, 24 Jul 2023 09:05:32 +0000 (12:05 +0300)]
Дополнительный вентилятор на beta.stargrave.org

Так как второй сервер у меня стоит открытый без крышки
(fb54d5d2412830bcd3bf867828b85fd2d3c46a0d), так как стандартных размеров
блок питания в него не влезет, то обдув жёстких дисков никакой. Только
сейчас задумался что надо бы это поправить хоть как-то. Нашёл какой-то
здоровый вентилятор, питающийся от 4-pin маленького разъёма на
материнской плате. Оказалось, что на материнке есть свободный. Подвесил
на верёвочках от тортов "От Палыча". Почти на 14 градусов температура
спала. Почему раньше об этом не подумал?

21 months ago@image{....txt} при генерировании .info
Sergey Matveev [Fri, 21 Jul 2023 06:07:39 +0000 (09:07 +0300)]
@image{....txt} при генерировании .info

В Texinfo @image ищет файлы по расширению в зависимости от выходного
формата. Для Info он вставляет .txt, что здорово, так как PlantUML и его
и растр может генерировать.

21 months agoRFC 9446: 10 лет после Сноудена
Sergey Matveev [Fri, 21 Jul 2023 05:15:48 +0000 (08:15 +0300)]
RFC 9446: 10 лет после Сноудена

https://www.rfc-editor.org/rfc/rfc9446.txt
Аж целый RFC вышел с мыслями об изменениях в мире после слива данных
Сноуденом.

21 months agoPNG-3
Sergey Matveev [Thu, 20 Jul 2023 16:50:30 +0000 (19:50 +0300)]
PNG-3

https://www.w3.org/TR/png-3/
В новой версии PNG уже будет явная поддержка сигнализации о WCG/HDR,
плюс APNG стал официальным.

21 months ago4G то не CDMA
Sergey Matveev [Thu, 20 Jul 2023 10:33:50 +0000 (13:33 +0300)]
4G то не CDMA

https://en.wikipedia.org/wiki/LTE_(telecommunication)
https://habr.com/ru/companies/yota/articles/119319/
https://habr.com/ru/articles/129101/
https://en.wikipedia.org/wiki/Telebit#PEP_and_the_TrailBlazer
В комментарии
http://blog.stargrave.org/russian/9efbcf62bc71043d22408ff66087b62dd5bac00f#comment1
я сказал что нравятся 3G и 4G из-за CDMA. Почему-то я был уверен что и
4G тоже является развитием этой технологии. Хотя ведь сотню раз читал по
нему бегло статьи и нигде этого не упоминалось. А слона то и не заметил!
LTE использует OFDM в своей основе.

Когда-то я удивлялся заявлениям о модемах Telebit TrailBlazer
(857a760118e644a1399fffa053c26d60eca490a6), о том, что они даже на
отвратительных междугородних линиях могли показывать >18Kbps скорости
при стабильной связи, тогда как другие модемы на 9600 то еле
соединяются. Как так то? А всё из-за OFDM. Правда из-за этого же они
были и жутко дорогими, ибо внутри них стоял m68k и ещё отдельный TI DSP
процессор. Но, пишут, что для UUCP соединений, они были популярны, так
как экономия на стоимости связи между городами быстро компенсировала
стоимость модемов. Более того, их использование для UUCP было так
распространено, что модем научился делать hijack "g"-протокола UUCP и
делать вид что противоположная сторона отвечает ACK-ом на приём, ведь
TrailBlazer был (почти) полудуплексным и "разворот" стороны
приёма-передачи был долгой по времени операцией.

21 months agoСнова пшик на beta.stargrave.org
Sergey Matveev [Thu, 20 Jul 2023 09:27:30 +0000 (12:27 +0300)]
Снова пшик на beta.stargrave.org

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

21 months agoЧто едят в космосе
Sergey Matveev [Thu, 20 Jul 2023 08:55:05 +0000 (11:55 +0300)]
Что едят в космосе

https://habr.com/ru/companies/first/articles/748856/
Многие не знают, но тюбиками уже давным давно не питаются космонавты.
Зато на ВДНХ можно их купить без проблем -- просто как развлечение такое.

21 months agoПодключение к НСДИ
Sergey Matveev [Thu, 20 Jul 2023 08:32:27 +0000 (11:32 +0300)]
Подключение к НСДИ

https://www.diera.ru/blog/nsdi-dns/
https://habr.com/ru/articles/562722/
https://habr.com/ru/articles/545366/
https://labs.ripe.net/media/documents/Утвержденная_инструкция_по_НСДИ_1.pdf
https://habr.com/ru/articles/667162/
Вот чёрт его знает как начать использовать НСДИ. Искал официальные сайты
с информацией про неё -- нема. Во время поиска и просмотра статей с
Хабра, нашёл статью с ссылкой на labs.ripe.net (ага, на совершенно
зарубежном сервере), где есть отсканированная распечатка информации о
подключении.

21 months agoНекоммерческая версия КонсультантПлюс
Sergey Matveev [Thu, 20 Jul 2023 08:26:27 +0000 (11:26 +0300)]
Некоммерческая версия КонсультантПлюс

На сайте КонсультантПлюс пытался получить один документ. Написали:

    Этот документ в некоммерческой версии КонсультантПлюс доступен по расписанию:
    * по рабочим дням с 20-00 до 24-00 (время московское)
    * в выходные и праздничные дни в любое время

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

А вообще все эти расписания и перерывы на обед у меня только с СССР
ассоциируются. Хотя я по сути то в нём ещё только в детском саду жил, но
в 1990-е всё равно видел что магазины на обед закрываются, и допоздна не
работают. Сейчас представить такое сложно. За последние 15 лет я
сталкивался разве что с санитарными днями в музеях.

21 months agoПогиб Hans Petter Selasky
Sergey Matveev [Thu, 20 Jul 2023 05:33:28 +0000 (08:33 +0300)]
Погиб Hans Petter Selasky

https://lists.freebsd.org/archives/freebsd-announce/2023-July/000076.html
Из-за автомобильной аварии в Норвегии, погиб Hans Petter William Sirevåg Selasky,
разработчик FreeBSD. Эту фамилию я много раз видел в документации.
virtual_oss например недавно настраивал -- написан им. USB стэк, CUSE,
webcam, mce (Mellanox >=200GbE NIC), TLS ядерный.

21 months agoifmcstat
Sergey Matveev [Wed, 19 Jul 2023 14:24:18 +0000 (17:24 +0300)]
ifmcstat

https://man.freebsd.org/cgi/man.cgi?query=ifmcstat
Не знал про эту утилиту, которая показывает, по аналогии с ifconfig,
информацию о multicast группах на каждом интерфейсе.

21 months agobfs 3.0 ещё более быстрый
Sergey Matveev [Wed, 19 Jul 2023 06:18:58 +0000 (09:18 +0300)]
bfs 3.0 ещё более быстрый

https://tavianator.com/2023/bfs_3.0.html
Автор bfs заморочился с нитями и асинхронной обработкой результатов
поиска в bfs, делая его, судя по статье, ещё более быстрым. Я bfs
использую постоянно при интерактивной работе (команды "f", "cf" и в
качестве ввода для fzf), но только для выдачи полного списка файлов.
Если нужно что-то отфильтровывать или в скриптах, то родные возможности zsh.

21 months agopipefail в POSIX
Sergey Matveev [Wed, 19 Jul 2023 06:02:53 +0000 (09:02 +0300)]
pipefail в POSIX

https://www.austingroupbugs.net/view.php?id=789
https://unix.stackexchange.com/questions/654885/who-is-responsible-for-providing-set-o-pipefail/654932
В будущую версию POSIX shell включат pipefail опцию. Думаю что это
единственная опция которой точно явно однозначно недоставало там.

Узнал про это во время обновления исходного кода fzf, который я вынужден
был патчить, ибо он имел hardcoded bash (уроды!), который принципиально
не держу, не признаю. А сейчас заменили на перебор shell-ов которые
должны поддерживать pipefail опцию (молодцы!).

И сейчас она поддерживается во всех shell-ах по сути: Free/Net/OpenBSD,
busybox, mksh, yash, bash, zsh. А появилась она в ksh93g. ksh вообще
дико много чего наизобретал в мире shell-ом.

21 months agotspu.no-hope
Sergey Matveev [Tue, 18 Jul 2023 16:54:43 +0000 (19:54 +0300)]
tspu.no-hope

В выводе traceroute увидел вот такой hop с ТСПУ, без надежды:
    tspu-6364.no-hope.msk-m9-cr5.ae666-3002.rascom.as20764.net (80.64.97.55)

21 months agoГром гремит, дождь стеной... strlcat в glibc появился
Sergey Matveev [Tue, 18 Jul 2023 12:13:13 +0000 (15:13 +0300)]
Гром гремит, дождь стеной... strlcat в glibc появился

https://zine.dev/2023/07/strlcpy-and-strlcat-added-to-glibc/
https://sourceware.org/legacy-ml/libc-alpha/2000-08/msg00053.html
Давно я не видел такой лютой погоды как сейчас: каждые пять секунд
гремит гром, прорываясь сквозь музыку наушников (открытых потому что),
а плотность дождя такая, что на расстоянии 50м ничего не видно. Появился
Интернет (24f68b770490f51f643a75767d7f10ed8b52abd3), обновил RSS, понял
почему так всё ненаствует: в glibc, спустя 20+ лет, завезли strlcat и
strlcpy из BSD систем.

21 months agoПолдня без Интернета
Sergey Matveev [Tue, 18 Jul 2023 10:24:49 +0000 (13:24 +0300)]
Полдня без Интернета

Утром мигнул свет. У меня то ИБП, а вот текущему провайдеру я сегодня
первый раз позвонил, чтобы узнать в курсе ли он что Интернет так и не
появляется. С электричеством проблемы у Мособлэнерго.

Запасного провайдера у меня нет. Точнее в доме то есть ещё Ростелеком,
но принципиально не хочу с ними больше связываться
(a320b40270176d2cd9d3825bba9a16078b0482ae). Да и так редко происходят
сбои, и не так критичны они, что жалко денег.

Сотового Интернета у меня тоже нет. 10+ лет назад я как-то пользовался
USB-модемом от Мегафона под Debian-ом. Но наслышан что со всеми ними
сейчас дикие проблемы в плане совместимости. Поэтому чую, что может быть
тот ещё геморрой найти рабочие мобильные решения. Хотя вроде бы бывают
домашние точки доступа, куда можно SIM вставить и он по Ethernet сможет
(конечно же, бл@дь, не без NAT-а наверняка) что-то раздать. Но, если бы
мне сегодня критично было бы иметь доступ в Интернет (чисто
пользовательский), то проще доехать до родительской квартиры.

В 15:00 включили всё.

21 months agoЧумовейшая статья про Forth
Sergey Matveev [Mon, 17 Jul 2023 21:38:45 +0000 (00:38 +0300)]
Чумовейшая статья про Forth

http://ratfactor.com/forth/the_programming_language_that_writes_itself.html
https://www.youtube.com/watch?v=_DTpQ4Kk2wA
Читается залпом на одном дыхании! Безумно интересная, с отсутствием
скуки, как-будто завораживающий научно-фантастический рассказ читаешь.

В ней ещё есть ссылка на YouTube ролик с демонстрацией работы языка APL,
для которого я видел что сейчас DIY клавиатуры делают. Тоже интересно
понаблюдать за столь необычным относительно современных general purpose
языков.

Кроме Tcl я именно Forth ещё хотел было потрогать. Но пока руки ещё не
дошли.

21 months agoGit SHA256 репозитории в разных платформах хостинга
Sergey Matveev [Mon, 17 Jul 2023 06:38:31 +0000 (09:38 +0300)]
Git SHA256 репозитории в разных платформах хостинга

https://stackoverflow.com/questions/65870508/git-and-sha-256
https://gitlab.com/groups/gitlab-org/-/epics/794
https://github.com/libgit2/libgit2/discussions/5840
https://github.com/go-gitea/gitea/issues/13794
https://medium.com/@v3ai/how-to-use-sha-2-git-repositories-6c2a6ed5d580
Обсуждение задачи в Gitlab я не вижу (показывается только с JS-ом), но
где-то видел "TL;DR" о том что нифига не поддерживается. У меня уже не
один репозиторий в sha256 формате (7a48b1fda8f0429e5d0e1c61d961891b83d97ffb)
есть, но на рабочий Gitlab (блин, как будто в какой-то хипстерской конторе
работаю!) push сделать не могу. От GitHub, как и IPv6, видимо этого вообще
не стоит ожидать. В итоге только из-за этого, даже при возможности
использовать хоть как-то вменяемые криптографические хэши в Git-е, их не
будут из-за этих платформ.

21 months agoComedy Pet Photography Awards
Sergey Matveev [Sun, 16 Jul 2023 07:41:45 +0000 (10:41 +0300)]
Comedy Pet Photography Awards

https://www.comedypetphoto.com/gallery/finalists/2023_finalists.php
https://www.comedypetphoto.com/gallery/finalists/2022_finalists.php
https://www.comedypetphoto.com/gallery/finalists/2021_finalists.php
https://www.comedypetphoto.com/gallery/finalists/2020_finalists.php
Куча забавных фотографий домашних животных.

21 months agoПрощай Debian GNU/kFreeBSD
Sergey Matveev [Sat, 15 Jul 2023 04:14:51 +0000 (07:14 +0300)]
Прощай Debian GNU/kFreeBSD

https://blog.aurel32.net/goodbye-kfreebsd.html
https://www.opennet.ru/opennews/art.shtml?num=59441
https://lists.debian.org/debian-devel/2023/07/msg00176.html
В Debian окончательно забили на разработку дистрибутива GNU с ядром от
FreeBSD. Как пишет автор, она была куда более продвинутой: jail-ы, ZFS,
stateful IPv6 firewall (не знал что и тут Linux отставал), superpages.

21 months agoOpenPGP и ElGamal
Sergey Matveev [Thu, 13 Jul 2023 18:06:44 +0000 (21:06 +0300)]
OpenPGP и ElGamal

https://habr.com/ru/companies/first/articles/747272/
Статья о небезопасности Эль-Гамаля. Так... а OpenPGP то тут причём?
Потому что это один из давно не используемых и почти не встречаемых
на практике алгоритмов в нём?

21 months agoНачал нравится Cryptopsy
Sergey Matveev [Wed, 12 Jul 2023 18:39:35 +0000 (21:39 +0300)]
Начал нравится Cryptopsy

https://www.youtube.com/watch?v=CR2oruCacRE
https://www.youtube.com/watch?v=Oos1WfpquYw
https://www.metal-archives.com/bands/Cryptopsy/17
https://en.wikipedia.org/wiki/Cryptopsy
С Cryptopsy группой знаком давно, ибо вечно её пихают как пример
техничного death metal. Но мне не нравились они, особенно вокалист.
Сегодня решил вспомнить что это такое. И мне зашли почти все альбомы!
Блин, как же вкусы меняются. Но я прям жуткое удовольствие начал
получать от их гитарных проигрышей. Всегда уважал барабанщика, но один
он не компенсирует нелюбовь к остальным. Сейчас вся неприязнь куда-то
ушла. Офигенные мужики, которые не боятся экспериментировать стилями.

А вообще перед этим я прослушал кучу альбомов Cannibal Corpse и Morbid
Angel один. А вот они ну совсем мне не захотят никак. Не, несколько
хитов у Cannibal Corpse есть конечно, но не более для меня.

21 months agoDisplayPort vs HDMI
Sergey Matveev [Wed, 12 Jul 2023 06:01:40 +0000 (09:01 +0300)]
DisplayPort vs HDMI

https://hackaday.com/2023/07/11/displayport-a-better-video-interface/
Небольшое поверхностное сравнение двух интерфейсов.

21 months agoRPKI и как с этим дело в РФ
Sergey Matveev [Tue, 11 Jul 2023 15:57:49 +0000 (18:57 +0300)]
RPKI и как с этим дело в РФ

https://isbgpsafeyet.com/
https://habr.com/ru/articles/535100/
https://www.opennet.ru/opennews/art.shtml?num=52680
https://blog.cloudflare.com/rpki/
https://blog.cloudflare.com/rpki-details/
https://www.msk-ix.ru/en/news/479/
https://www.comnews.ru/sites/default/files2019/vision-files/mapmagistr2020-2.pdf
https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%BE%D1%80%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8_%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D0%B0#Магистральные_операторы_связи_в_России
RPKI по сути просто подписывает и так уже имеющуюся административную
(юридическую) информацию о том, какая автономная система какими сетями
"владеет", к кому какая часть адресного пространства присвоена. Должно
помогать отсеивать анонсы по BGP которые явно не могут быть легитимными.

Статья на Хабре говорит о том, что эти типа полностью рушит всю природу
децентрализованного Интернета, ибо теперь это дерево, управляемое на
Западе, препятствующее пирингу. Я подумал, что может быть я чего то не
понимаю, хотя уж я то первый кто не согласится чтобы точка доверия была
у Запада. Но нет, в комментариях точно сказали что автор вообще ничерта
ничего не понял и всякий пиринг, сетевая связанность и выдача адресного
пространства вообще как-бы не связаны. Что с RPKI, что без него, RIR-ы
были и остаются.

Кстати, напоролся на старые новости об отключении Ростелекома от Lumen
и Cogent. Это даже забавно было смотреть на заголовки в выдаче
поисковика, которые изначально шли от "cogent отключил ростелеком", а
далее доходившие до "cogent отключил россию от интернета", "cogent
отключил .ru", "россия отключена от интернета cogent-ом". Ох уж эти
журналисты, лютая дичь.

21 months agoЧеловек ушёл с Debian из-за того, что он уже не 100% free
Sergey Matveev [Tue, 11 Jul 2023 13:54:06 +0000 (16:54 +0300)]
Человек ушёл с Debian из-за того, что он уже не 100% free

https://blog.josefsson.org/2023/07/11/coping-with-non-free-debian/
Человек, который с первых релизов Slackware использовал GNU/Linux,
уверовал в свободное ПО с переходом на Debian. Но в последних релизах он
стал явно включать в себя несвободные программы, хотя прежде было чёткое
разграничение между non-free репозиторием и всем остальным. Автор статьи
из-за этого ушёл с него.

21 months agosystat -zarc
Sergey Matveev [Tue, 11 Jul 2023 13:08:20 +0000 (16:08 +0300)]
systat -zarc

https://klarasystems.com/articles/freebsd-3-advantages-to-running-freebsd-as-your-server-operating-system/
Чисто случайно из статьи узнал про systat -zarc недавно появившуюся
команду. Где-то в release notes, видимо, упустил. Прежде для просмотра
информации по ARC-у надо было дополнительную утилиту использовать.

                       Total     MFU     MRU    Anon     Hdr   L2Hdr   Other
     ZFS ARC          10717M   9430M    681M    400K  60361K       0    545M

                                Rate   Hits Misses | Total Rate   Hits Misses
     arcstats                  : 99%    757      2 |        99%   210M  1352k
     arcstats.demand_data      : 99%    519      1 |        99% 50471k   391k
     arcstats.demand_metadata  :100%    238      0 |        99%   159M   210k
     arcstats.prefetch_data    :  0%      0      1 |         9%  73569   707k
     arcstats.prefetch_metadata:  0%      0      0 |        60%  67581  44313
     zfetchstats               : 11%      2     16 |         6%   846k 12028k
     arcstats.l2               :  0%      0      0 |         0%      0      0
     vdev_cache_stats          :  0%      0      0 |         0%      0      0

Disks  ada0  ada1  ada2  ada3 pass0 pass1 pass2 pass3 pass4
KB/t   0.00 21.39  0.00 24.53  0.00  0.00  0.00  0.00  0.00
tps       0    13     0    14     0     0     0     0     0
MB/s   0.00  0.28  0.00  0.33  0.00  0.00  0.00  0.00  0.00
%busy     0     1     0     2     0     0     0     0     0

21 months agogit с отключённым сжатием на ZFS
Sergey Matveev [Tue, 11 Jul 2023 11:35:32 +0000 (14:35 +0300)]
git с отключённым сжатием на ZFS

git сжимает zlib-ом как blob-ы, так и pack-и. Если отключить сжатие, то
на ZFS dataset с zstd сжатием по умолчанию всё это будет занимать меньше
места (и в теории быстрее производить чтения). Возможно зависит от
репозитория, ведь сжатие в ZFS применяется только на блок, но на паре
больших git репозиториях у меня есть небольшой выигрыш.

21 months agoПроблемы с родным ZFS шифрованием
Sergey Matveev [Tue, 11 Jul 2023 11:27:36 +0000 (14:27 +0300)]
Проблемы с родным ZFS шифрованием

https://wiki.gentoo.org/wiki/ZFS#Caveats
https://github.com/openzfs/zfs/issues/6793
https://github.com/openzfs/zfs/issues/11688
https://github.com/openzfs/zfs/issues/12014
https://github.com/openzfs/zfs/issues/12732
https://github.com/openzfs/zfs/issues/13445
https://github.com/openzfs/zfs/issues/13709
https://github.com/openzfs/zfs/issues/14166
https://github.com/openzfs/zfs/issues/14245
На Gentoo не рекомендуют родное шифрование в ZFS, ибо, мол глюкавое вовсю.
Насколько помню, разработчик этого шифрования для ZFS делал всё для Solaris.
В багах только Linux системы упоминаются, ни одной BSD.

21 months agoSUSE форкает RHEL
Sergey Matveev [Tue, 11 Jul 2023 09:34:34 +0000 (12:34 +0300)]
SUSE форкает RHEL

https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/
https://en.wikipedia.org/wiki/SUSE
Меня больше поразило то, что SUSE ещё существует. Очень давно я про неё
не слышал и думал что она канула в небытие уже давно, нигде не используясь.
Между прочим, ведь вообще первая компания в мире кто занялся коммерческим
GNU/Linux, когда сам Linux был по сути полубесполезной поделкой ещё.

Сталкивался и работал с SLED и SLES на первой работе, где мы были вроде
бы каким-то там партнёром SUSE. Вообще чего-то негативного не могу
вспомнить из этого опыта. Дистрибутив был точно куда более качественным,
стабильным и безпроблемным чем любой RHEL, как мне запомнилось. И
единственным кто без проблем из коробки умел к ActiveDirectory домену
Windows подключаться. Вроде бы большей части сотрудникам Windows
поменяли на SLED.

21 months agoПолитики мешают маршрутизации
Sergey Matveev [Mon, 10 Jul 2023 18:16:25 +0000 (21:16 +0300)]
Политики мешают маршрутизации

В коде OpenBGPD, при невозможности выполнить prefix_cmp(), вылетает ошибка:
    fatalx("Uh, oh a politician in the decision process");
Её ловлю когда поднял по WireGuard на каждом Ethernet-е и при этом их
автоматически сконфигурированные link-local адреса совпали. По идее в
этом ничего страшного, всё штатно, но scope функа OpenBGPD не учитывает.

21 months agoПовозился с другими демонами маршрутизации
Sergey Matveev [Sat, 8 Jul 2023 20:56:37 +0000 (23:56 +0300)]
Повозился с другими демонами маршрутизации

https://frrouting.org/
http://www.openbgpd.org/
https://reviews.freebsd.org/D26449?id=77807
Видя что BIRD не умеет ECMP на FreeBSD
(3eeb6b3ec3b4abdd3a25f78402f02f3cf821305e) решил посмотреть какие
альтернативы на этот счёт есть. Насколько понял, решений то вообще
толком мало.

OpenOSPFD, насколько понял, интегрирован в OpenBSD и как отдельный
проект не существует уже. В любом случае, судя по Wikipedia, он только
OSPFv2 умел, а мне только OSPFv3 нужен. В OpenBSD есть ospf6d, но
portable его версии нету. Порт net/openospfd в FreeBSD is expired, ибо
requires old CARP implementation.

Может попробовать BGP? Установил OpenBGPD. Сразу полез в исходники
смотреть что там с поддержкой multipath-а. Вроде бы поддерживается для
FreeBSD. Пошёл настраивать. Жутко понравилось в нём всё! Минимализм,
синтаксис и формат конфига, качество документации (всего один man
вменяемых размеров (не man zsh)), формат и как происходит взаимодействие
с bgpctl утилитой. Прям эстетическое удовольствие получал. Но, хоть в
коде всякий multipath и имеется (возможно он про что-то другое), но в
FIB ядра несколько маршрутов не устанавливаются всё равно, облом.

FRRouting, судя по BSDRP и отчёту в коммите в дерево FreeBSD, с ECMP
работает. Смог в нём настроить OSPFv3, но только на одном интерфейсе. На
второй уже терпения не хватило и поэтому проверить ECMP не вышло. Точно
также как OpenBGPD мне понравился во всём, FRRouting мне жутко не
понравился во всём. Размер, понятность документации, интерфейс
взаимодействия, да и вообще понимание как его в простейшем случае надо
заводить то. Неприятно прям всё всё всё в нём. Хотя, похоже, он более
чем всякие BIRD и другие демоны умеет делать. Но люто бесит его
"!"-строчки в конфиге, особенно после bgpd.conf, где прям переменные
можно заводить с ходу удобочитаемые. Хочется сказать что FRR сделан в
лучших традициях enterprise: громоздко, монструозно, сложно. Хотя многие
бы сказали (да я впрочем соглашусь), что это же GNU, чему тут
удивляться? GNU Zebra -> Quagga -> FRR. Короче я даже до конца до ECMP
не дошёл и снёс к чёрту.

21 months agoBIRD не поддерживает ECMP на FreeBSD
Sergey Matveev [Sat, 8 Jul 2023 17:26:29 +0000 (20:26 +0300)]
BIRD не поддерживает ECMP на FreeBSD

https://sourceforge.net/p/bsdrp/mailman/message/37225679/
https://www.mail-archive.com/bird-users@network.cz/msg05882.html
https://bsdrp.net/documentation/examples/ecmp
Нашёлся серьёзный недостаток BIRD2 на FreeBSD: пока поддержки ECMP в нём
нету. Сделал ECMP руками -- работает вроде бы как надо. В примере BSDRP
для ECMP поэтому используется FRR.

21 months agoMLPPP
Sergey Matveev [Fri, 7 Jul 2023 10:31:23 +0000 (13:31 +0300)]
MLPPP

https://datatracker.ietf.org/doc/html/rfc1990
https://mpd.sourceforge.net/doc5/mpd46.html
Увидел тут, что PPP умеет multilink режим, при котором он агрегирует
пропускную способность. При этом MTU на входе (PDU входящих пакетов) и
на link-ах могут отличаться -- пакет будет фрагментирован для отправки
по раздельным соединениями. Сразу же идея: поднять MLPPP на двух разных
Ethernet адаптерах чтобы получить увеличенный bandwidth даже для
единственного TCP соединения! Но фиг: документация в MPD5 для UDP явно
говорит что из-за переупорядочивания ни multilink, ни шифрование, ни
компрессия работать не будут.

21 months agoPerl REPL
Sergey Matveev [Fri, 7 Jul 2023 07:42:07 +0000 (10:42 +0300)]
Perl REPL

Решил постараться переезжать на Perl в качестве интерактивного
интерпретатора вместо Python. Один калькулятор
(d65882c3c5decb9e2216d7a8de98c1d422c2c42d) всё равно мне не заменял
время от времени запускаемый python, где и что-то в/из hex надо перевести,
UTF-8 (де)кодировать, части строчек как-то потасовать, и т.д., и т.д..
А почему я это делаю в столь мне ненавистном Python? Непорядок. Уж что
что, но для строчек Perl идеально должен подходить.

Для удобного интерактивного REPL-а многие предлагают запускать с -de1
(debug и выполнение программы "1"). В нём есть "x" команда для показа
всяких сложных структур. Но надо делать "p" чтобы вывести значение
переменной. А хочется, как в Python, чтобы последнее значение выводилось.

Нашёл рецепт с "say eval"-ом. Обернул в rlwrap, автоматически импортирую
Encode и Data::Dumper с добавлением алиаса "x":

    rlwrap --substitute-prompt "> " \
    perl -MEncode -MData::Dumper \
        -e '*x = \&Dumper; $_dummy = $x;' \
        -e '$Data::Dumper::Useqq = 1;' \
        -wnE 'say eval()//$@'

21 months agoАвторские отчисления на музыкальном концерте. Неа
Sergey Matveev [Thu, 6 Jul 2023 13:29:21 +0000 (16:29 +0300)]
Авторские отчисления на музыкальном концерте. Неа

https://www.schneier.com/blog/archives/2023/07/belgian-tax-hack.html
На границе Бельгии и Голландии устроили музыкальный концерт. Сцена была
в Голландии, а толпа в Бельгии. Аудиенция в другой стране, всё чисто.

21 months agoCarmageddon
Sergey Matveev [Wed, 5 Jul 2023 19:17:39 +0000 (22:17 +0300)]
Carmageddon

https://www.youtube.com/watch?v=O3-aI98RpDw
https://en.wikipedia.org/wiki/Carmageddon
https://www.mobygames.com/game/1371/carmageddon-2-carpocalypse-now/
В первый Carmageddon я так и не играл, но зато тащился от второго.
Сравнить с первым не могу, но говорят что в целом не много изменений
негативных, разве что лицо водителя исчезло. Как сказали в ролике: надо
просто начать играть, чтобы понять отчего так люто эта игра всем нравилась.
Полностью согласен: засасывает! Вот подобные "гонки" я люблю. Хотя к
гонкам это посредственное отношение имеет.

21 months agoРассказ "Пишите моё имя через С"
Sergey Matveev [Wed, 5 Jul 2023 18:59:23 +0000 (21:59 +0300)]
Рассказ "Пишите моё имя через С"

https://fantlab.ru/work908
Очень понравился этот рассказ Азимова, где (якобы) нумеролог предложил
одному физику в написании его фамилии изменить "з" на "с", что привело
аж к предотвращению ядерной войны.

21 months agoЭпопея с тормозной сетью
Sergey Matveev [Wed, 5 Jul 2023 18:59:00 +0000 (21:59 +0300)]
Эпопея с тормозной сетью

В f8e2e4dfc6870c4dad7e62be9bb02ae9dd73d180 говорил о том, что firewall
совершенно некорректно настраивал прежде, что создавало нагрузку на CPU
и приводило при скачивании (но не раздаче) торрентов иногда даже к
невозможности ssh сделать до серверов в локальной сети. В общем и целом
всё стало на порядок лучше, но... не совсем полностью. Всё равно иногда
бывают затыки.

Но с переездом на WireGuard туннели вместо IPsec, я IPv4 трафик
отправлял минуя их, в открытом виде в локальной сети. Чуйка подсказала
что надо бы, как это и всегда прежде было, завернуть вместе со всем
остальным в общий туннель. Но для этого я уже никаких OSPF не применял и
просто статические адреса навесил. И вот это -- уже полностью всё
привело в норму. Как-будто где-то как-то какие-то приоритеты во всей это
обработке пакетов в ядре и то, что приходит не через туннели -- может
ущемлять остальной трафик (весь IPv6). Но сейчас (точнее до
окончательного решения то я недели назад ещё пришёл, просто не
отписывался об этом в блоге) эпопее с плохо работающей сетью уже точно
пришёл конец.

21 months agoПрогулочка которой давно не было
Sergey Matveev [Wed, 5 Jul 2023 18:31:49 +0000 (21:31 +0300)]
Прогулочка которой давно не было

Работы так много, что уже больше месяца на работу не езжу -- работаю
удалённо. Закупаюсь едой в Глобусе (от моего дома до него бесплатная
маршрутка), ну и не вылажу никуда особо. А сегодня психанул в середине
дня и решил прогуляться, аж невтерпёж. Два года назад у нас Коммитетский
лес, как и тьма других улиц во всём городе -- очень здорово благоустроили
(149af571aa89dbc5517a10dc117883ed0583b4ee). Там у меня уже проторённая
дорожка.

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

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

21 months agoНе помню уставал ли прежде так сильно
Sergey Matveev [Wed, 5 Jul 2023 18:20:03 +0000 (21:20 +0300)]
Не помню уставал ли прежде так сильно

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

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

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

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

21 months agorlwrap и readline 8.2
Sergey Matveev [Wed, 5 Jul 2023 09:41:44 +0000 (12:41 +0300)]
rlwrap и readline 8.2

После обновления FreeBSD, заметил что rlwrap эхо повторяет. Для
калькулятора (d65882c3c5decb9e2216d7a8de98c1d422c2c42d) ещё терпел, а
вот для некоторых других команд уже совершенно неудобно. Оказалось, что
это проблемы между самим rlwrap и readline-8.2. В последней версии
rlwrap это исправлено:

    0.46.1  when compiled with readline-8.2, correctly handle echo'ed user
          input when accepting a line. This will disable
          bracketed-paste when compiled with readline-8.1 or earlier.

21 months agoZFS block cloning
Sergey Matveev [Tue, 4 Jul 2023 21:35:06 +0000 (00:35 +0300)]
ZFS block cloning

https://github.com/openzfs/zfs/pull/13392
https://news.ycombinator.com/item?id=36588240
В OpenZFS вмержили возможность создания на прикладном уровне (через
syscall-ы) клонов блоков. Никакого мнения у меня на этот счёт нет.
Но зато в этом pull request отмечают что поддержки Linux нема, ибо
нет для этого людей. А в комментариях на HackerNews говорят о сложности
всего в Linux и поэтому такой проблематичной интеграции и разработке под
него. (Видимо) сотрудник Netflix говорит что ZFS у них везде, кроме
серверов раздачи контента (это то тоже ясно).

21 months agosuckless графические редакторы
Sergey Matveev [Tue, 4 Jul 2023 11:08:06 +0000 (14:08 +0300)]
suckless графические редакторы

https://lists.suckless.org/dev/2307/35298.html
https://lists.suckless.org/dev/2307/35299.html
Я последний раз запускал хоть какой-то редактор уже не помню сколько лет
назад. Чтобы что-то вырезать, я использовал или возможности display
команды из ImageMagick или pngcut. И не знаю что вообще есть кроме
Inkscape (и то не растровый), GIMP и XPaint (просто название помню). И
вот для простых задач не ставить же GIMP? А тут целый большой список
подогнали в рассылке:
https://mtpaint.en.softonic.com/
http://azsky2.html.xdomain.jp/soft/azpainter.html
http://pulkomandy.tk/projects/GrafX2
https://sourceforge.net/projects/lodepaint/
https://tuxpaint.org/
https://mtpaint.sourceforge.net/rgbpaint.html
https://sourceforge.net/projects/sf-xpaint/
Упомянули layout scripting engine: https://glx.sourceforge.io/
Кстати рисовать то я рисовал не раз, не считая PlantUML и Graphviz, но в
LaTeX используя PGF/TikZ библиотеку: https://tikz.dev/

21 months agoBBR то в FreeBSD появился с 13.0 версии
Sergey Matveev [Tue, 4 Jul 2023 08:19:09 +0000 (11:19 +0300)]
BBR то в FreeBSD появился с 13.0 версии

https://man.freebsd.org/cgi/man.cgi?query=tcp_bbr&sektion=4
https://reviews.freebsd.org/D21582
https://lists.freebsd.org/pipermail/freebsd-current/2020-April/075930.html
https://blog.apnic.net/2020/01/10/when-to-use-and-not-use-bbr/
https://en.wikipedia.org/wiki/TCP_congestion_control#TCP_BBR
Много писали про этот TCP congestion алгоритм. И Google, судя по
статьям, его везде у себя для конечных пользователей и использует.
В FreeBSD оно появилось благодаря стараниям Netflix. Надо попробовать.
Вот только, хотя BBR это congestion control, но реализован в FreeBSD он
в виде отдельного TCP стэка.

21 months agoВозможно новых релизов libjpeg-turbo больше не будет
Sergey Matveev [Tue, 4 Jul 2023 07:32:33 +0000 (10:32 +0300)]
Возможно новых релизов libjpeg-turbo больше не будет

https://groups.google.com/g/libjpeg-turbo-announce/c/YZ2wRgB0zIE
Так как автор начинающий учитель и поэтому зарабатывает по минимуму,
денег не хватает. Соответственно и libjpeg-turbo тоже нет из-за этого
возможности заниматься.

21 months agopasskeys, WebAuthn
Sergey Matveev [Sun, 2 Jul 2023 19:23:53 +0000 (22:23 +0300)]
passkeys, WebAuthn

https://habr.com/ru/companies/globalsign/articles/745376/
http://srp.stanford.edu/analysis.html
https://sec.okta.com/articles/2020/04/webauthn-great-and-it-sucks/
https://blog.mozilla.org/en/mozilla/password-security-part-iv-webauthn/
Статья-обзор о том, что такое passkeys от Google, с точки зрения
пользователя.

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

Вот самое простое объяснение методов аутентификации я встретил (хотя,
может быть это в какой-нибудь из книг Брюса Шнайера наверняка было) в
статье про Secure Remote Password. Всё банально: есть три фактора. То
что ты знаешь (пароль, PIN), то что имеешь (ключ), что чем являешься
(биометрия). Первое приятно удобством, неприятно что не все могут
осилить парольные фразы. Второе приятно тем, что можно асимметрично
вынести куда-нибудь, имеет хорошую силу (длина ключа), но неприятно тем,
что это нужно с собой таскать, можно потерять, сломать или украсть, да и
дорого, особенно если из-за приватности использовать отдельный "токен"
для каждого сервиса. Третье приятно удобством, но имеет низкую энтропию
в общем случае, невозможно сменить, может "утечь". Биометрия только как
дополнительный фактор может использоваться, точка, но не как
единственный фактор аутентификации.

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

И вот это всё как-раз таки не правда. Во-первых, собственно, есть
сильные пароли аутентификации, где MitM ничего не может сделать для
подбора пароля. Например PAKE (password authenticated key agreement)
принципиально очень прост: обмениваемся публичными ключами
Диффи-Хеллмана, но симметрично зашифрованными на пароле. Однако, при
этом применяем преобразование к DH, которое сделает DH ключи
неотличимыми от шума: например Elligator2 алгоритм к curve25519 ключам
(но только половина ключей может быть преобразована им). Злоумышленник
может дешифровывать перехваченный handshake, перебирая пароли в качестве
ключа, но у него ни бита информации не будет о том, успешно ли он
дешифровал пакет, ибо elligator-encoded curve25519 неотличим от шума.

Во-вторых, есть augmented алгоритмы, где на стороне сервера не хранится
пароль/ключ/общий секрет, а хранится некий verifier. Так вообще пароль
остаётся только на стороне клиента, не сливая даже серверу ни бита
информации о нём.

И PAKE-related протоколов десятки наизобретали, даже SESPAKE есть
стандартизованный с ГОСТовыми криптоалгоритмами. В США кстати, насколько
помню, нет стандартизованного PAKE никакого.

Да, на практике всё это мало где используется (корпорациям насрать на
нашу безопасность то в общем-то, она должна быть просто is good enough),
но это уже другой вопрос. Но тот же SRP, даже для TLS делался в виде
TLS-SRP расширения. Не то чтобы SRP стоило применять
(da652bb554b907b2f96921255157bce56d24174f), но хоть такое решение в
GnuTLS уже было давным давно, вот только разработчики броузеров срать на
всё это хотели.

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

Но что меня бесит (хотя и не особо, это уже просто стало же нормой): что
вновь и вновь изобретают велосипед. Для TLS давным давно есть
возможность аутентификации через клиентский X.509 сертификат. И даже в
броузерах давно PKCS#11 поддерживается для общения с HSM. Не то чтобы
мне нравился TLS или, боже упаси, X.509 или, чур меня, PKCS#11, но они
решают эту же задачу, якобы о которой так заботятся корпорации. В блоге
Mozilla говорится что "предыдущие" методы аутентификации (поверх HTTP
или TLS) не годятся, ибо там нельзя управлять где и когда именно надо
запрашивать эту самую аутентификацию. Вот про TLS 1.2 (или ранние)
версию не знаю, но в TLS 1.3 в любой момент после handshake можно
запросить клиентский сертификат. Проще написать дофига-строчный
стандарт, требующий тьму зависимостей, нежели чем обеспечить адекватный
API между TLS-библиотекой и броузером? Ну ну.

И я просто уверен что где-то есть коммитет оценивающий соревнования по
созданию самых громоздких и монструозных "стандартов" даже для
относительно простых задач. Размер WebAuthn стандарта впечатляет, мягко
говоря. Почему стандарт в кавычках? Да потому что W3C стал некой
библиотекой документация к Chrome-движку по сути, ну возможно частично и
для Mozilla. Собственно, всё как с OAuth2
(ccb6418a3b4ac2abff304201f626607416e022df).

21 months agoJeff был не прав касательно GPLv2 и RedHat
Sergey Matveev [Sun, 2 Jul 2023 17:45:54 +0000 (20:45 +0300)]
Jeff был не прав касательно GPLv2 и RedHat

https://www.jeffgeerling.com/blog/2023/i-was-wrong
https://sfconservancy.org/blog/2023/jun/23/rhel-gpl-analysis/
Очередное продолжение 632d5f83cf572b7466e4a00a1f126069e8ac15c7.
Собственно, как написал kmeaw в комментарии к тому посту: есть два
договора (GPL и RHEL), нарушая RHEL ты не нарушаешь GPL, как и сама
RedHat. Но, а толку то от этого? RHEL не совместим с GPL (я это так
называю): я не могу использовать свободы данные GPL-ем не нарушив
RHEL. Я могу их просто и не использовать (не распространять софт
дальше) -- и только тогда не нарушу ничего. Что, само собой, совсем
не в духе свободного ПО.

Собственно, анализ Bradley Kuhn показал и примеры явного нарушения GPL
RedHat-ом, но не в случае с их самыми громкими изменениями. И он в
статье очень верно написал суть бизнеса RedHat:

    if you exercise your rights under the GPL, your money is no good here

    Red Hat requires their customers to choose between (a) their
    software freedom and rights, and (b) remaining a Red Hat customer

21 months agoDOS-like диски в Windows
Sergey Matveev [Sun, 2 Jul 2023 14:34:32 +0000 (17:34 +0300)]
DOS-like диски в Windows

https://en.wikipedia.org/wiki/Drive_letter_assignment
В одном видео (уже стёр из tmpfs, ссылки не осталось) видел как человек
за современным Windows что-то делал с 10GbE и подключённым через него
NAS-ом. В программе ему надо было выбрать диск, а это был ниспадающий
список с L:, M:, как минимум, насколько помню. И там он ошибся с диском,
указав не сетевой, а локальный. Посмеялся: мол не сложно запутаться
среди кучи однобуквенно-названных дисков. Моему изумлению, увидеть
подобное в 2023-ем, на современном компьютере с современным железом, не
было предела. Прям как-будто почувствовал запах пятидюймовых дискет.

Помню даже была популярная современная статья, где рассказывалось почему
именование диска идёт с C:. Преобладающее большинство же даже и дискет
не видели уже. А у нас, всё как положено, IBM PC был именно с двумя
дисководами, никаких НЖМД, поэтому были A: и B: диски.

21 months agoFreenet то стал Hyphanet
Sergey Matveev [Sun, 2 Jul 2023 14:11:55 +0000 (17:11 +0300)]
Freenet то стал Hyphanet

https://www.hyphanet.org/freenet-renamed-to-hyphanet.html
За проектом давно не слежу (ибо не работает с этой Java), но по ссылке
перешёл и вот увидел новость.

21 months agoТрояны и лазейки в кнопочных сотовых телефонах
Sergey Matveev [Sun, 2 Jul 2023 12:24:35 +0000 (15:24 +0300)]
Трояны и лазейки в кнопочных сотовых телефонах

https://habr.com/ru/articles/575626/comments/
Всё очень плохо и с кнопочными сотовыми: слежка, трата денег, лезут без
спросу сами в Интернет (для слива информации о слежке и для backdoor).
В комментариях сам ValdikSS упомянул и мою мою модель сотового, в
которой тоже бывают вредоносные прошивки. Написал что проверить можно по
времени build-а онной. У меня оказалась "чистая".

22 months agoЯП V
Sergey Matveev [Sat, 1 Jul 2023 18:56:15 +0000 (21:56 +0300)]
ЯП V

https://vlang.io/compare
Обнаружил язык программирования V. Конечно же первым делом читаю что это
и зачем ещё один изобрели? Потому что всякие приятные плюшки разрознены:

* Быстрая сборка: D, Go, Delphi
* Простота и поддерживаемость: Go
* Нулевая стоимость общения с Си: C, C++, D, Delphi, Rust
* Безопасность (immutability, no null, free from data races): Rust
* Простая конкурентная работа: Go
* Простое кросс-компилирование: Go
* Compile time code generation: D
* Маленький компилятор без зависимостей: нема
* Отсутствие глобального состояния: нема

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

Говорят, что V похож на Go -- если знаешь Go, то 80% V тебе уже
известно. Но есть и отличия от него, читаю их первый раз, ничего не зная
больше про язык:

* No err != nil checks (replaced by result types)
  Ох, не то чтобы я сильно против, но всё же против.
  Мне нравится err != nil, дисциплинирует, делает явное явным
* No undefined values
  Вот в Си меня бесит что штатно значение переменной -- просто реально
  не определено. В Go же значение просто нулевое всегда. Вроде с этим
  особо проблем не встречал
* No variable shadowing
  Это наверное скорее, действительно, хорошо. Я сколько лет пишу на Go,
  но приходится аккуратно задумываться о том, не затенил ли я переменную.
  Время от времени всплывают ошибки из-за этого
* Immutability by default
  Фиг знает что это
* Enums
  Ну а iota то с "type X int" чем не угодила?
* Sum types (type Expr = IfExpr | StringLiteral | IntLiteral | ...)
  Фиг знает что это
* String interpolation: println('${foo}: ${bar.baz}')
  Объективных причин почему мне это не нравится не назову, но воротит от
  подобного. Одно дело это в shell/Perl/Tcl использовать, но там
  типизации как бы нет никакой. Знаю что коллеги любят подобные f""
  конструкции в Python, но я неустанно блюю от них, принципиально
  одобряя только форматирование через %-оператор
* If and match expressions (including sum type matches)
  Фиг знает что это
* No global state
  Сильно против. Это какой-то бездумный культ быть против этого. Как и
  культ неприемлемости goto например. Да, бывают примеры когда global
  state приносит много вреда в библиотеках, не без этого, но не надо на
  пустом месте заставлять меня в *простой* программе избавляться от него
* A simple way to check whether an array contains an element: if elem in arr
  А как именно этот in будет реализован? Как метод, как в Python? Вот
  что мне понравилось в Go и Си, так это то, что приходится задумываться
  об эффективности алгоритмов и где-то абсолютно нормально делать просто
  итерирование линейное, а где-то уже надо городить более сложные
  структуры данных. Python это не про производительность -- там поэтому
  нормально с глаз долой всё это спрятать. Кроме того, ведь в Go никто
  не мешает в функцию вынести желаемый алгоритм поиска/проверки. Вот
  напрягает меня их "simple way"
* Only one declaration style: a := 0
  Это одобряю. Пофиг что: var или :=, но когда нет чёткого ответа когда
  и что лучше использовать, то мне это не нравится
* Warnings for unused imports and vars for quicker development without
  annoying interruptions. But only in development/debugging mode. Making
  a production build still requires fixing all of them, thus enforcing
  clean code.
  Да, было бы полезно, Go многих бесит свои поведением в этом плане.
* Much smaller runtime
* Much smaller binaries
  Это всё плохо быть не может конечно. Хотя чаще всего это многих и не волнует
* Zero cost C interop
  С одной стороны хорошо. С другой -- будет мотивировать
  переиспользовать Си-программы. Что тоже и не плохо, но как бы это не
  превратилось в современный Python, где что ни библиотека, так является
  обвязкой над Си
* GC is optional
* Much faster serialization using codegen and no runtime reflection
  Ну codegen и в Go не запрещают. Это уже вопрос к конкретным
  библиотекам используют ли они reflection или нет
* Precompiled text and HTML templates unlike Go's html/templates that
  have to be parsed on every request
  Это вопрос исключительно к библиотекам.
* Fearless concurrency (no data race guarantee at compilation) wip
  wip... понятно
* No null (null is only allowed in unsafe code)
  Так и не понимаю что в нём плохого, если к месту используется
* Stricter vfmt to ensure one coding style
  Это всегда хорошо.
* Centralized package manager: vpm.vlang.io (v install ...)
  Не смотрел, но уверен что лютейшее новомодное хипстерское говно,
  неприемлемое с моей точки зрения. Задолбали всеми этими
  централизованными решениями! В Go по умолчанию тоже есть их прокси
  через который получаются пакеты и сравниваются их отпечатки, но это
  переменной окружения отключается глобально. Вообще в плане пакетов я
  ничего лучше чем в Go не видел, хотя я и не сказать что много чего
  трогал. Но никакой привязки к централизованным сервисам или
  специализированного софта для пакетов не нужно -- так держать. Плюс
  жёсткая привязка к коду, с криптографическими хэшами
* Much simpler and less verbose testing, assert.
* Primitive types can have methods resulting in less verbose code:
  strings.Replace(strings.Replace(s, "a", "A", -1), "b", "B", -1) =>
  s.replace('a', 'A').replace('b', 'B')
  После Python было чуть-чуть непривычно, но к этому привыкаешь
  моментально, ведь в Lua вроде бы аналогично многое было. Вообще мелочь
* Arrays and maps (and arrays of arrays, arrays of maps etc) are
  automatically allocated. No more nil reference panics if you forgot to
  allocate each map in a loop.
  Вот как будто это какая-то большая проблема была. Ну да, будет
  несколько строчек кода лишних в Go

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

Ладно, just out of interest, попробую собрать, ведь это та ещё проблема
с языками стала. Молодцы что один из Makefile обозвали GNUmakefile.
Предлагают просто сделать make. Что вижу?
    git clone --filter=blob:none --quiet --branch thirdparty-freebsd-amd64
        https://github.com/vlang/tccbin ./thirdparty/tcc
и запуск скачанного бинарника. Какой вердикт? На хуй идёт!
Под виртуалкой поднятой (просто так совпало что была запущенная под
рукой) разрешил ему делать это всё непотребство, так оно всё равно не
собирается: builder error: 'gc_pthread_redirects.h' not found

22 months agoДалёкость от соцсетей
Sergey Matveev [Sat, 1 Jul 2023 18:19:49 +0000 (21:19 +0300)]
Далёкость от соцсетей

Сейчас много кто пишет про то, что Twitter стал требовать даже для
просмотра вход через учётную запись. Мол, катастрофа. В РФ во всех
новостных сайтах говорили о невосполнимом уходе Tinder. На несколько
недель назад всё заполонили сообщения о буче на Reddit. Среди совсем
немногочисленных подкастов которые слушаю обсуждают Discord, причём
так, что я вообще (впрочем, как и с Reddit) не особо понимаю что к
чему. Ссылки на Telegram настолько всё заполонили, что всё чаще и чаще
я вижу их указание в качестве домашней страницы типа. Я когда-то слышал
про "4chan" и "двач", но уже даже смутно вспоминаю в чём была (есть?)
остаётся их фишка.

Я до сих пор зарегистрирован на нескольких форумах, но пара из них
вообще по работе, и наверное от силы пару сообщений вообще на них было
написано от меня. С самого начала (2000-е) я даже не понимал как и зачем
кто-то будет в них общаться, ведь это же всё не внутри удобного софта, а
через web-броузер делается. А, нет, вспомнил что на linux.org.ru я есть
и там было от меня больше сообщений (и то, всё превратилось в унылый
срач на тему "почему я не использую Let's Encrypt и HTTPS не по
умолчанию), но только когда я выложил фотографию своего рабочего места.
По сути, больше всего комментариев было написано мною на Хабре, да и то,
только потому что там я всякие статьи писал. Хотя это уже точно не
отнести к форумам. Но это всё по пальцам посчитать единичные случаи.

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

И пришло забавное осознание: я ж по сути был в только в одной соцсети,
когда с нетерпением ждал сообщений, писал десятки ответов ежедневно: это
FidoNet! А вот в Интернете я был разве что зарегистрирован в Facebook и
VK, но там единичные случаи переписок один-на-один. Они скорее как IM
использовались. Но точно не было такого, чтобы я подписывался на
какую-то группу широковещательную и из неё узнавал какие-то новости или
события.

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

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

22 months ago7z vs bunzip2
Sergey Matveev [Sat, 1 Jul 2023 12:11:37 +0000 (15:11 +0300)]
7z vs bunzip2

7z работает на >10% быстрее чем обычный bunzip2. Учитывая что сам по
себе bzip2 жутко медленный при декомпрессии, то разница очень приятна.
В pipe можно использовать так: 7z x -tbzip2 -si -so

22 months agoАнонимная сеть в 200 строк кода Go
Sergey Matveev [Sat, 1 Jul 2023 09:28:34 +0000 (12:28 +0300)]
Анонимная сеть в 200 строк кода Go

https://habr.com/ru/articles/745256/
Очень бегло посмотрел на эту статью. Ещё в институте я увлекался идеей
сетей анонимизации, зачитываясь кучей литературы из библиотеки GNUnet.
Принципиально автор всё делает как и я когда-то, как, собственно, GNUnet
anonymous protocol. Просто, анонимно, хоть и не шибко эффективно. Но
если хочется real-time производительность прохождения сообщений, то
придётся пожертвовать уровнем анонимности.

Но что не понравилось, так это использование RSA. Ну сколько можно же?
2023-ий год, а всё равно для новых решений люди продолжают брать этот
алгоритм. Хорошо, автор поставил задачу сократить кол-во кода, а
здоровый RSA позволяет куда более здоровые сообщения шифровать. Но без
проблем же, раз уж имея Go, можно использовать и
golang.org/x/crypto/nacl/box, который будет куда безопаснее, куда
быстрее и не иметь ограничения на размеры передаваемых сообщений.

А вот комментарии (внезапно, они снова стали видны на Хабре в обычном
броузере!) поражают:

    Ассиметричная криптография сама по себе подтверждена MITM атакам и
    требует наличия полноценной инфраструктуры PKI

    Как минимум асимметричная криптография защищает от пассивных атак
    злоумышленника, что нельзя сказать о симметричной криптографии.

и какой-то совершенно непонятный диалог о за/против симметричной и
асимметричной криптографии, где никакого упоминания PFS.

22 months agoRepka Pi
Sergey Matveev [Sat, 1 Jul 2023 09:20:33 +0000 (12:20 +0300)]
Repka Pi

https://habr.com/ru/companies/first/articles/744070/
https://16-bits.ru/%d1%80%d0%b5%d0%bf%d0%ba%d0%b0-%d0%bf%d0%b0%d0%b9-%d1%80%d0%be%d1%81%d1%81%d0%b8%d0%b9%d1%81%d0%ba%d0%b0%d1%8f-%d0%bc%d0%b0%d0%bb%d0%b8%d0%bd%d0%ba%d0%b0/
Уже два раза вижу упоминание Repka Pi за последние сутки. Бачило даже
краткий обзор сделал этого устройства. Я вроде бы как-раз смотрел в
сторону подобных одноплатников на замену ноутбуку. Главное для меня было
чтобы оно было 64-бит и FreeBSD с ZFS бы работала. Repka, насколько
понимаю, вроде бы вполне себе совместима с RPi, на которой FreeBSD
работает, судя по wiki. Но я выбрал Intel NUC, так как всё же хорошую
производительность тоже хочется иметь. Но с Pi-like решениями надо бы
поиграть как-нибудь.

22 months agoCorsixTH, Theme Hospital
Sergey Matveev [Sat, 1 Jul 2023 08:47:38 +0000 (11:47 +0300)]
CorsixTH, Theme Hospital

https://en.wikipedia.org/wiki/Theme_Hospital
https://www.old-games.ru/game/361.html
https://corsixth.com/
Без проблем собирается открытый движок для игры Theme Hospital. Обожал
её, теперь и на FreeBSD без проблем можно поиграть. Симулятор больницы.
Как это может быть интересно или забавно? Но в неё не надоедает играть!

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

22 months agoКак корпорации уничтожают свободные программные решения
Sergey Matveev [Sat, 1 Jul 2023 07:39:16 +0000 (10:39 +0300)]
Как корпорации уничтожают свободные программные решения

https://ploum.net/2023-06-23-how-to-kill-decentralised-networks.html
https://habr.com/ru/articles/745240/
Перевод на русском с кучей опечаток и ошибок.

Когда Google увлёкся Jabber (XMPP) протоколом, то было здорово: каждый
кто имел учётную запись в Google, автоматом имел и Google Talk, через
который можно было связаться с человеком используя федеративные серверы
на свободном ПО. Именно тогда у меня был огромный список контактов
(ростер). Более того, даже Facebook и VK давали возможность общаться
через Jabber, но без федерации. Вскоре Google убрал федерацию (просто
куча людей пропала из ростера). Ну а потом и прикрыли Jabber. И что
более паршиво: даже те, кто не зависел от Google, ушли из Jabber мира
тоже. Собственно, даже я не держу свой XMPP уже давно, ибо у меня
оставался только один контакт, с которым переписывался пару раз. Ну и
FB/VK тоже всё прикрыли.

Microsoft, якобы для совместимости и открытости, создала Office OpenXML
форматы (.docx, и т.д.), протолкнув их как стандарт например в
Евросоюзе. Статья говорит о том, что описание формата на 20k страниц.
Плюс в формате всё равно остаются места где предполагается вставка
произвольного бинаря, который не регламентированно как надо парсить,
плюс сам MS Office не соблюдает правила/стандарты работы с OOXML и
документы между ним и другими реализациями будут выглядеть иначе. Какой
тогда прок от формата, который всё равно по разному интерпретируется?
Никакого конечно же. Но зато MS может тыкать и говорить что OOXML принят
стандартом, поэтому отвалите. И всё равно работать с ним гарантированно
можно только в MS Office. Да и то, на работе говорят что между разными
версиями Office всё равно бывают отличия в том как они отображают
документ.

Ну и автор считает, что пришло время уничтожения Fediverse. Но я тут уже
не в теме. Я только слышал про них, но даже попробовать ничего не мог,
ибо работает это всё с JavaScript.

22 months agoRMS никогда не ставил GNU/Linux
Sergey Matveev [Fri, 30 Jun 2023 11:40:33 +0000 (14:40 +0300)]
RMS никогда не ставил GNU/Linux

https://www.youtube.com/watch?v=umQL37AC_YM
Многих поражающий факт: Столлман никогда не устанавливал GNU/Linux.

22 months agoZig хочет избавиться от LLVM
Sergey Matveev [Fri, 30 Jun 2023 06:55:05 +0000 (09:55 +0300)]
Zig хочет избавиться от LLVM

https://github.com/ziglang/zig/issues/16270

    I'm sorry honey, it's just not working out. Our relationship worked
    when we were younger, but we're both older now and we've grown
    apart.

Среди плюсов, первым является "All our bugs are belong to us".
И скорость компиляции должна на порядки вырасти.

Zig, чисто читая статьи/документацию по нему, зацепил мой интерес
прежде. Несколько месяцев назад я даже хотел было попробовать на работе
один проект написать на нём, но его свежую версию не удалось собрать.
Просто она требовала LLVM 15, а эта версия совсем не поддерживала мою
старую FreeBSD. На самом деле это было последней каплей до того, чтобы
решиться на её тотальное обновление. Более старые версии Zig собирались.
Систему то обновил, но до Zig так руки снова и не дошли, работы сейчас
прилично.

22 months agoGmail уничтожает email
Sergey Matveev [Wed, 28 Jun 2023 15:11:10 +0000 (18:11 +0300)]
Gmail уничтожает email

http://www.igregious.com/2023/03/gmail-is-breaking-email.html
Ещё одна статья про то, как при куче корректных настроек и "чистых" IP
адресах, Gmail всё равно поместит письма в спам или задержит их чуть ли
не на полсуток. Для меня вообще ничего нового -- всё так и есть.

22 months agoЧем платят в разных странах мира помимо Mastercard и Visa
Sergey Matveev [Wed, 28 Jun 2023 06:34:40 +0000 (09:34 +0300)]
Чем платят в разных странах мира помимо Mastercard и Visa

https://habr.com/ru/articles/744126/
Просто любопытно поглазеть что ещё в мире бывает кроме США карточек.

Я же ни разу в жизни не имел кредитную карту, только дебетовые. Никогда
не оплачивал в магазинах ничего ими. Только через Интернет делал
пожертвования (на всякие программные проекты) и что-то из FSF shop
приобрёл. Далее пошли обязательные SMS-ки для всего этого дела и
JavaScript -- карточками перестал пользоваться совсем.

Шведский VPN когда-то (так было проще организовать PTR запись для
постоянного IPv4 адреса) я оплачивал переводом, приходя в отделения
банков. Переводом же оплачивал Lemote Yeeloong.

Но через несколько лет мне насильно дали дебетовую МИР, куда
перечисляется зарплата. Я был одним из самых последних людей на работе,
кому выдавали нормально всё наличкой. Но снимаю з/п только в двух
банкоматах, чтобы не палить где я географически бываю ещё.

22 months agoХьюго Гернсбек
Sergey Matveev [Tue, 27 Jun 2023 14:11:51 +0000 (17:11 +0300)]
Хьюго Гернсбек

https://habr.com/ru/news/744260/
Конечно же я не мог не знать про премию Хьюго, но не знал, что он
яростно популяризировал радиолюбительство, да и вообще был изобретателем.

22 months agoТэгтгрен на Northern Chaos Gods
Sergey Matveev [Tue, 27 Jun 2023 13:21:57 +0000 (16:21 +0300)]
Тэгтгрен на Northern Chaos Gods

https://ru.wikipedia.org/wiki/%D0%A2%D1%8D%D0%B3%D1%82%D0%B3%D1%80%D0%B5%D0%BD,_%D0%9F%D0%B5%D1%82%D0%B5%D1%80
https://en.wikipedia.org/wiki/Northern_Chaos_Gods
https://en.wikipedia.org/wiki/Peter_T%C3%A4gtgren
Петер Тэгтгрен, оказывается, играл на басухе и занимался производством
всего альбома норвежского black metal Immortal на предпоследнем альбоме.
Я знал что дядька крутой, но сейчас он стал ещё круче. Даже с
Septicflesh, Marduk, Borknagar, всякими грайндкорными группами и тьмой
других дело имел.

22 months agoКак снимали Хищника
Sergey Matveev [Tue, 27 Jun 2023 13:08:20 +0000 (16:08 +0300)]
Как снимали Хищника

https://habr.com/ru/articles/743210/
Понравился тот факт, что вообще изначально в роли Хищника снимался (и
это даже вошло в фильм) Ван Дамм. Но не заладилось с ним. В итоге решили
просто на обычную обезьяну надеть красный костюм и пускай она скачет по
деревьям. Тоже не вышло: обезьяна, видимо как и Ван Дамм, не слушалась.
В итоге играл Хищника баскетболист, которому предложили поохотиться на
самого Шварценеггера.

22 months agoВыступление 1349 на Hellfest
Sergey Matveev [Tue, 27 Jun 2023 07:22:47 +0000 (10:22 +0300)]
Выступление 1349 на Hellfest

https://www.youtube.com/watch?v=nzECDCGacDE
Одна из немногих групп на выступлении которой не прочь бы оказаться.
С 1349 вообще только в прошлом/позапрошлом году познакомился впервые.
Местами чуть-чуть попсоватые мотивы есть, но зато задорно и не однообразно.

22 months agoRedHat ответила на критику
Sergey Matveev [Tue, 27 Jun 2023 07:04:26 +0000 (10:04 +0300)]
RedHat ответила на критику

https://www.redhat.com/en/blog/red-hats-commitment-open-source-response-gitcentosorg-changes
https://www.opennet.ru/opennews/art.shtml?num=59347
Ответ на тему 632d5f83cf572b7466e4a00a1f126069e8ac15c7. Всё бы ничего,
но вот фраза:

    Simply rebuilding code, without adding value or changing it in any
    way, represents a real threat to open source companies everywhere.
    This is a real threat to open source

полностью соответствует риторике любой Microsoft или Apple. Открыто
сообщают о том, что им не нравится одна из (всего четырёх) свобод СПО.
Просто распространение кода -- это угроза "open source компаниям".

RedHat безусловно пишет много кода, по сути всю systemdOS, насколько
знаю, которая массово вытеснила Unix-like GNU/Linux, но, как я и прежде
говорил, публиковать это всё в виде СПО им не мешает только тот факт,
что всё равно никто не будет разбираться в сотнях тысячах строк кода их
ОС (пользователи systemdOS не такие, а остальным нафиг это сдалось).

22 months agoСамая быстрая машинистка
Sergey Matveev [Tue, 27 Jun 2023 06:43:17 +0000 (09:43 +0300)]
Самая быстрая машинистка

https://www.youtube.com/watch?v=maCHHSussS4
Автор доказывает, что заявления о 212 WPM (на Двораке) скорости было
ошибкой и Барбара никогда так быстро не печатала на самом деле. И всё
это по сути преподносится как просто навсего реклама раскладки Дворака.

Я же, сейчас запустив typespeed, ещё не позавтракав, имея тактильную
клавиатуру, всего лишь 60 WPM на английском тексте делаю. Уровень
начинающей машинистки. Быстро я никогда не печатал, но точно помню, что
ощутимо медленнее если бы это была не тактильная. Смотрю в блоге
упоминал ли я свою скорость раньше:
03f127af64f929eb93d9a804ca6236d04d3aedc2 -- 62 WPM
f19865ee0233da1647fc63ecfc0b9ed2c9683ed1 -- 59 WPM
Но зато полностью в слепую, на клавиатуре нет никаких надписей на
кнопках: 5a7acbc92c04ac87aef13d5c07c6388ae8c2fa88
Но зато точно знаю, что я существенно быстрее большинства в
редактировании текста, а не наборе, за счёт хорошего знания vi/vim и
использования их в том же zsh для командной строки и в libedit и
libreadline capable программах.

22 months agoПочему IP мультивещание провалилось и его можно считать мёртвым?
Sergey Matveev [Mon, 26 Jun 2023 21:03:56 +0000 (00:03 +0300)]
Почему IP мультивещание провалилось и его можно считать мёртвым?

https://etherealmind.com/folowup-ip-multicast-good-in-theory-bad-in-reality/
Как говорит автор, потому что мало кто его делает без косяков, без дикой
потери производительности. Он годен для сокращения bandwidth, но bandwidth
относительно дешёв, поэтому и смысла никакого экономить нет.

22 months agohost vs getent
Sergey Matveev [Mon, 26 Jun 2023 18:43:20 +0000 (21:43 +0300)]
host vs getent

https://lists.freebsd.org/archives/freebsd-questions/2023-June/003864.html
Человек негодует от того, что команда "host" под FreeBSD не выдаст хост
прописанный в /etc/hosts, тогда как GNU выдаст. И это считает что FreeBSD
abandoned common sense (это он про GNU/Linux?). Идиотизм конечно, ибо,
как верно ему заметили, вообще то задолго до появления Linux как такового,
для подобных задач использовалась getent команда. А host с самого начала
был для DNS.