]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
10 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-е, их не
будут из-за этих платформ.

10 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
Куча забавных фотографий домашних животных.

10 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.

10 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 то тут причём?
Потому что это один из давно не используемых и почти не встречаемых
на практике алгоритмов в нём?

11 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 есть конечно, но не более для меня.

11 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/
Небольшое поверхностное сравнение двух интерфейсов.

11 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-ом". Ох уж эти
журналисты, лютая дичь.

11 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 репозиторием и всем остальным. Автор статьи
из-за этого ушёл с него.

11 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

11 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 репозиториях у меня есть небольшой выигрыш.

11 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.

11 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.

11 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 не учитывает.

11 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
не дошёл и снёс к чёрту.

11 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.

11 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, ни шифрование, ни
компрессия работать не будут.

11 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()//$@'

11 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
На границе Бельгии и Голландии устроили музыкальный концерт. Сцена была
в Голландии, а толпа в Бельгии. Аудиенция в другой стране, всё чисто.

11 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 я так и не играл, но зато тащился от второго.
Сравнить с первым не могу, но говорят что в целом не много изменений
негативных, разве что лицо водителя исчезло. Как сказали в ролике: надо
просто начать играть, чтобы понять отчего так люто эта игра всем нравилась.
Полностью согласен: засасывает! Вот подобные "гонки" я люблю. Хотя к
гонкам это посредственное отношение имеет.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

11 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.

11 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 у них везде, кроме
серверов раздачи контента (это то тоже ясно).

11 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/

11 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 стэка.

11 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 тоже нет из-за этого
возможности заниматься.

11 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).

11 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

11 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: диски.

11 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), но по ссылке
перешёл и вот увидел новость.

11 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-а онной. У меня оказалась "чистая".

11 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

11 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 просто уже ничего не сравнится :-). Вот там было
общение, а всё остальное -- тьфу, фигня.

11 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

11 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.

11 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 решениями надо бы
поиграть как-нибудь.

11 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 анимация. Как и озвучка и сообщения от
регистратуры. И куча, просто неимоверная куча микроменеджмента! Нужно
оптимизировать расположение мебели в каждом кабинете, чтобы врач и
пациент меньше тратил время на перемещение. Оптимизировать расположение
кабинетов, чтобы сократить время пациента до излечения хвори.
Оптимизировать кол-во кабинетов и лавочек, чтобы было кому где сидеть.
Оптимизировать размещение туалетов, дабы пациенты могли добежать до них
в случае надобности, а не блевать на пол, вызывая рвоту о окружающих.
Оптимизировать размещение радиаторов отопления, чтобы и не было слишком
жарко и слишком холодно. Оптимизировать кол-во и размещение докторов с
комнатами отдыха. А дальше ещё тема с обучением персонала и
исследованиями. Многое оборудование требует обслуживания и ремонта. И
это наверное только четверть всего о чём в игре надо не забывать,
насколько помню.

11 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.

11 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.

11 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 так руки снова и не дошли, работы сейчас
прилично.

11 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 всё равно поместит письма в спам или задержит их чуть ли
не на полсуток. Для меня вообще ничего нового -- всё так и есть.

11 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.

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

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

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

11 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, всякими грайндкорными группами и тьмой
других дело имел.

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

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

11 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 вообще только в прошлом/позапрошлом году познакомился впервые.
Местами чуть-чуть попсоватые мотивы есть, но зато задорно и не однообразно.

11 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 не такие, а остальным нафиг это сдалось).

11 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 программах.

11 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
относительно дешёв, поэтому и смысла никакого экономить нет.

11 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.

11 months agoxxHash
Sergey Matveev [Mon, 26 Jun 2023 17:44:36 +0000 (20:44 +0300)]
xxHash

https://xxhash.com/
https://github.com/Cyan4973/xxHash/issues/62
Дико быстрая хэш-функция, работающая на десятках гигабайт/сек скоростях.
Где-то даже быстрее CRC32. Видел не раз, что её для быстрой проверки
целостности используют в проверках.

11 months agoBlue Oak лицензия ПО
Sergey Matveev [Mon, 26 Jun 2023 15:52:54 +0000 (18:52 +0300)]
Blue Oak лицензия ПО

https://writing.kemitchell.com/2019/03/09/Deprecation-Notice.html
Blue Oak считает, что время BSD/MIT permissive лицензий должно уйти,
так как в них нет даже слова о патентах. Плюс они типа не очень легко
читаются. Хотя на самом деле нет MIT-лицензии
(499d8afd7741e9056f0d4c9f969386f49a6a293f).

11 months agoFreedo
Sergey Matveev [Mon, 26 Jun 2023 13:59:05 +0000 (16:59 +0300)]
Freedo

https://en.wikipedia.org/wiki/File:Freedo.svg
Впервые случайно увидел талисмана Linux-libre проекта (я GUI броузер
редко запускаю, в основном сидя в консоли, где нет картинок).
Отчищающийся от всяких несвободных блобов пингвин.

11 months agoМожно ли делать REST API?
Sergey Matveev [Mon, 26 Jun 2023 07:51:53 +0000 (10:51 +0300)]
Можно ли делать REST API?

https://habr.com/ru/articles/743818/
Когда-то я старался делать web-backend с REST API. Ну чтобы все эти
красивые ресурсы в URL использовались, чтобы всё было лаконично и
понятно, под одну гребёнку. А также видел как этот REST пишут и другие.
И что почти каждый человек занимающийся подобными backend хочет REST.

Но по опыту, рано или поздно всегда всё равно придут случаи не очевидного
выбора (примеры из статьи):

    /coffee-machines/{id}/recipes/lungo/prepare ?
    /recipes/lungo/coffee-machines/{id}/prepare ?
    /coffee-machines/{id}/prepare?recipe=lungo ?
    /recipes/lungo/prepare?coffee_machine_id=<id> ?
    /prepare?coffee_machine_id=<id>&recipe=lungo ?
    /?action=prepare&coffee_machine_id=<id>&recipe=lungo ?

    GET /v1/state?user_id=<user_id>
    vs
    GET /v1/profiles?user_id=<user_id>
    GET /v1/orders?user_id=<user_id>

А если ещё хочется что чтобы и броузер мог ходить по подобным ресурсам,
то придётся ограничивать себя ещё и в выборе HTTP методов.

В итоге, уже более пяти лет я не сторонник REST, ибо по сути никогда не
видел успешных продуманных и лаконичных реализаций на нём. Если речь не
про совсем уж тривиальные задачи. И чтобы не париться, я по умолчанию
стараюсь использовать JSON-RPC (возможно поверх HTTP), где не паришься
ни о каких URL/ресурсах и просто делаешь вызовы методов, как если бы это
была обычная библиотека (собственно, делаешь RPC). И опытный коллега на
работе тоже пришёл к такому же подходу.

11 months ago.0 IPv4 адреса
Sergey Matveev [Mon, 26 Jun 2023 07:42:35 +0000 (10:42 +0300)]
.0 IPv4 адреса

https://labs.ripe.net/author/stephane_bortzmeyer/all-ip-addresses-are-equal-dot-zero-addresses-are-less-equal/
Не весь софт честно умеет работать с адресами с .0, хотя они ничем не
отличаются от любых других. Для меня тоже когда-то стало открытием что
они не особенные, но это по привычке видеть /24 (IPv4) сети, где .0 уже
является адресом самой сети. И как же круто, что в IPv6 убрали все эти
(лично меня раздражающие) "адреса сети", ну и broadcast адреса (в IPv6
нет broadcast).

11 months agoRedHat прекращает публикацию кода RHEL
Sergey Matveev [Sun, 25 Jun 2023 14:10:46 +0000 (17:10 +0300)]
RedHat прекращает публикацию кода RHEL

https://hackaday.com/2023/06/23/et-tu-red-hat/
https://www.jeffgeerling.com/blog/2023/dear-red-hat-are-you-dumb
https://www.opennet.ru/opennews/art.shtml?num=59343
Вообще с ходу, погуляв по сайту RedHat, вижу, что для получения даже
пробной версии RHEL, нужно зарегистрироваться, а значит стать их
customer. И вроде бы пишут, что для через этот портал можно получить
исходный код RHEL компонентов. По идее это не нарушает ничего в GPL.
Но если при этом они ставят ограничения на то, что вы не можете
полученный код распространять дальше -- то это безусловно нарушает.

Статью об анализе RedHat-а Брэдли Куном я прочёл уже после и он тоже не
видит проблем с получением кода через customer portal. Но упоминает и
примеры явных нарушений с их стороны.

Некоторые разработчики вот вообще убирают поддержку RedHat-based систем
на фоне всего этого. Я то вообще никогда не любил всё что связано с
RedHat, включая RPM. Это ещё до того, как они стали делать systemdOS.

11 months agoСлэм спровоцировал множество ложных звонков на 911
Sergey Matveev [Sun, 25 Jun 2023 11:00:30 +0000 (14:00 +0300)]
Слэм спровоцировал множество ложных звонков на 911

https://habr.com/ru/news/743738/
С точки зрения обученных машин, слэм сравним с врезавшимся автомобилем.

11 months agoWeb-based криптография это всегда шарлатанство
Sergey Matveev [Sun, 25 Jun 2023 10:29:17 +0000 (13:29 +0300)]
Web-based криптография это всегда шарлатанство

https://www.devever.net/~hl/webcrypto
Полностью согласен с основным посылом статьи о том, что любой E2E внутри
броузера -- просто навсего обман неработающий, ибо от кого он защищает?
И верно замечено что сейчас бум на E2E решения не потому что кто-то из
них реально заботится о безопасности, а потому что для бизнеса просто
приятно делать вид, что якобы они о ней заботятся.

11 months agoIT-шники не рациональны, регулярно следуют hype и маркетингу
Sergey Matveev [Sun, 25 Jun 2023 10:22:16 +0000 (13:22 +0300)]
IT-шники не рациональны, регулярно следуют hype и маркетингу

https://www.bitecode.dev/p/hype-cycles
В статье масса примеров всяких новомодных штучек-дрючек популярных в
своё время. И куча примеров современного безумия в тенденциях.

Я прям очень хорошо помню времена когда всюду рулил XML и все тащились
от идеи СУБД устроенной как XML. Куда ни плюнь -- везде XML и попытки
всюду применять XSLT. Далее, действительно, был hype по NoSQL. Далее я
со стороны видел как стэк из 20 технологий/framework-ов делал то, что
можно было и прежде на RoR+jQuery, только гораздо дороже, гораздо
сложнее и создавая неподдерживаемый код.

Далее пошло безумие на тему микро-сервисов, которые придётся засовывать
в Docker+Kubernetes, связывая MQ шиной. Верно статья отмечает, что даже
todo-list приложение уже стало безумно сложно поднять
(57bf047f30f77b41298badc4d1c02f9f419c1df5). Но решение есть: просто
используйте vendor-locked-in решение от облачного провайдера! Теперь, вы
можете потратить всего в десять раз больше денег на хостинг, нежели чем
в 10000 раз больше по ошибке. Затем появляется желание хранить
информацию о каждом клике пользователя. Теперь у вас тьма данных,
которые нужно искать как и куда запихнуть. Стало всё тормозить? Да
просто перепишите на Go или Rust! Ну а сейчас ваше приложение ничего не
стоит, если в нём нет machine learning и blockchain.

11 months agoПро неудавшийся мятеж
Sergey Matveev [Sun, 25 Jun 2023 08:45:25 +0000 (11:45 +0300)]
Про неудавшийся мятеж

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

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

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

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

С одной стороны было обидно, что они (Пригожин, как минимум) даже
наказания никакого не понесли (как-так!?), из-за которых за всё время
СВО ни разу не вводился режим КТО аж в нескольких регионах. С другой --
не было пролито гражданской крови, что по идее это важнее конечно. Но
десятки военнослужащих, солдат которыми мог бы и я оказаться, погибли.

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

11 months agoПрошёл Quake
Sergey Matveev [Fri, 23 Jun 2023 10:07:47 +0000 (13:07 +0300)]
Прошёл Quake

Не, я с ним знаком конечно давно. Но мне кажется я никогда осознанно от
и до его не проходил. По сути то я с ним игрался только в детстве, а
дальше уже игрался в выходящие на тот момент Half-Life, Quake 2 и
подобные. А то ba2d4709fa4768060f8c3cc12233105c18733479 навеял
воспоминания.

В Doom 1 я толком прежде не играл, даже в детстве, так как Doom 2
появился раньше. Но его я всё же прошёл в прошлом году кооперативно
(4685212aa9a8d4497f4ade0f1816a1d55565f15f). Оказалось вполне себе не
долго и не сложно. Я боялся что будет как в Doom 2.

Doom 2 проклинается многими за то, что где-то начиная с 9-го уровня,
уровни становятся огромными и непонятно куда надо идти, забываешь уже.
Полностью солидарен с этим! Его огромные уровни -- неприятны. А вот 7 и
8 уровни я обожаю своей необычностью:
https://doomwiki.org/wiki/MAP07:_Dead_Simple_(Doom_II)
https://doomwiki.org/wiki/MAP08:_Tricks_and_Traps_(Doom_II)
Я наверное только, как минимум, с idclip проходил его до конца.

Quake 2 точно осознанно полностью проходил от и до. Как и Half-Life. SiN
(0a60b951f1ae358841b0891e5bf8416e0b525672). Но я уже был более взрослым.
Quake 3 на nightmare сложности мог пройти, хотя изначально считал что
это невозможно, ведь реакции многих ботов стремительны, точность 100%,
достаточно одного выстрела из рельсы чтобы сотню жизней выбить разом.
Duke Nukem в детстве дальше третьего уровня я наверное уже не мог
осилить, но позже, особенно когда появилась полная версия со всеми
эпизодами, уже была пройдена. System Shock 2 обожал даже чисто
эстетически, но дальше середины уже не мог пройти, ибо возрождающиеся
монстры, ломающееся оружие меня напрягало уж больно сильно.

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

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

Вот только когда с spawn-ами встречаешься, то бежишь от них сломя
голову, даже shambler меня не так пугал. И от spawn-ов я больше всего и
умирал вроде бы. Только из-за них приходилось останавливаться перед
комнатой и забрасывать её гранатами предварительно. Ну и с vore
разбираться из-за укрытий. А с shambler, встретившись случайно нос к
носу, смог однажды разобраться с одной двухстволкой наперевес.

В общем, Quake меня впечатлил ещё больше! Уже с точки зрения дизайна
уровней и балансом всего и вся в игре.

11 months agoСнова про мобильные кондиционеры
Sergey Matveev [Fri, 23 Jun 2023 09:54:33 +0000 (12:54 +0300)]
Снова про мобильные кондиционеры

https://habr.com/ru/companies/x-com/articles/743244/
Писал об этих штуках в f0b195faac59a95ceab92b423dfaceba137e52f6.
В статье всё верно отмечено: ниже КПД, занимает место, шумит. Но
насколько с ним просто! Взял в магазине, прикатил, включил, доволен.

11 months agoВНИИВСГЭ
Sergey Matveev [Fri, 23 Jun 2023 08:55:40 +0000 (11:55 +0300)]
ВНИИВСГЭ

https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D0%BD%D0%B0%D1%83%D1%87%D0%BD%D0%BE-%D0%B8%D1%81%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%81%D1%82%D0%B8%D1%82%D1%83%D1%82_%D0%B2%D0%B5%D1%82%D0%B5%D1%80%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B9_%D1%81%D0%B0%D0%BD%D0%B8%D1%82%D0%B0%D1%80%D0%B8%D0%B8,_%D0%B3%D0%B8%D0%B3%D0%B8%D0%B5%D0%BD%D1%8B_%D0%B8_%D1%8D%D0%BA%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8
https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D0%BD%D0%B0%D1%83%D1%87%D0%BD%D0%BE-%D0%B8%D1%81%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%81%D1%82%D0%B8%D1%82%D1%83%D1%82_%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B2%D0%B5%D1%82%D0%B5%D1%80%D0%B8%D0%BD%D0%B0%D1%80%D0%B8%D0%B8_%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8_%D0%AF._%D0%A0._%D0%9A%D0%BE%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D0%BA%D0%BE
Это филиал ФГБНУ ФНЦ ВИЭВ РАН.

11 months agoПосмотрел "Салют-7"
Sergey Matveev [Fri, 23 Jun 2023 07:56:17 +0000 (10:56 +0300)]
Посмотрел "Салют-7"

https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%BB%D1%8E%D1%82-7_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
С одной стороны понравился. А с другой неприятный осадок от того, что
всё что вне космической темы показывают мрачным: генералы и руководство
только угрожают и решают кто за что ответить, на человеческую жизнь всем
пофиг, что по СМИ только враньё и ничего кроме. Семьи космонавтов
показывают, но вот если их вырезать из фильма, то толком ничего ведь и
не поменяется в нём. Примером гораздо более крутого фильма у меня мигом
возникает недавно увиденный "Вызов" (62b23efafa08da98884dac04c718b409d091f6ee),
от того же режиссёра. Но в целом впечатление положительное от Салют-7.

11 months agoПосмотрел "Монах и бес"
Sergey Matveev [Fri, 23 Jun 2023 07:48:01 +0000 (10:48 +0300)]
Посмотрел "Монах и бес"

https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B0%D1%85_%D0%B8_%D0%B1%D0%B5%D1%81
Хоть заканчивается он и грустно, но в целом хорошее настроение всё равно
оставляет. В начале так я прям тащился от их речи и юморного текста.
Очень понравился.

11 months agoПосмотрел "К чёрту на рога"
Sergey Matveev [Fri, 23 Jun 2023 07:46:42 +0000 (10:46 +0300)]
Посмотрел "К чёрту на рога"

https://ru.wikipedia.org/wiki/%D0%9A_%D1%87%D1%91%D1%80%D1%82%D1%83_%D0%BD%D0%B0_%D1%80%D0%BE%D0%B3%D0%B0_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
Wikipedia говорит, что это самый кассовый фильм в Италии всех времён. Ну
что ж, действительно очень забавная комедия! И пересмотреть можно сразу же.

11 months agoПосмотрел "Барашка Шона"
Sergey Matveev [Fri, 23 Jun 2023 07:38:17 +0000 (10:38 +0300)]
Посмотрел "Барашка Шона"

https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D1%80%D0%B0%D1%88%D0%B5%D0%BA_%D0%A8%D0%BE%D0%BD_(%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
Только мельком видел и слышал о подобном мультсериале. А тут посмотрел
полнометражный фильм с ним. Видеоряд очень понравился, как и озвучка, и
то что там даже не используют речь.

11 months agoSecret Of Donkey Island
Sergey Matveev [Wed, 21 Jun 2023 15:42:32 +0000 (18:42 +0300)]
Secret Of Donkey Island

https://donkeyisland.zip/
Пародийная чешская игра на Secret Of Monkey Island.

11 months agoПереход на летнее время
Sergey Matveev [Wed, 21 Jun 2023 07:15:11 +0000 (10:15 +0300)]
Переход на летнее время

https://lenta.ru/news/2023/06/21/summertime/
НЕНАВИЖУ! Просто люто и яростно ненавижу этот переход на летнее и зимнее
время (5e9e1bc030d156e0c9e6bac5be5c311174f98f6d). Лучи поноса в каждого
кто эту инициативу выдвинул. Почти во всём мире этот переход -- ОТМЕНИЛИ.
Он много где был, но отказались. А мы, глядя на сраную отсталую Европу,
снова хотим в это мракобесие вернуться? Вся эта тема для меня была как
страшный сон. И вот он возвращается.

11 months agoDimension 5
Sergey Matveev [Tue, 20 Jun 2023 07:13:50 +0000 (10:13 +0300)]
Dimension 5

https://en.wikipedia.org/wiki/Dimension_5_(music_group)
Удивительно, но музыка со словами (даже гроулом где ничего не разобрать)
может всё же немного отвлекать от работы, когда надо очень сосредоточиться
на нетривиальном участке коде (в противовес многочисленной рутине).
Захотелось прям просто какой-нибудь тупой долбёжки в уши поставить.
Вспомнил про Dimension 5 группу, уже не припомню откуда у меня взявшуюся.
Пишут что это "goa trance". Подобная музыка круглосуточно играла на
первой работе в цеху по сборке серверов, где я какое-то время сидел
вместе с ребятами. Действительно, работается под это очень неплохо.

11 months agoГагарина не стало в Киеве
Sergey Matveev [Tue, 20 Jun 2023 05:14:20 +0000 (08:14 +0300)]
Гагарина не стало в Киеве

https://lenta.ru/news/2023/06/20/gagarin/
То что на Украине мракобесие творится уже давно -- это ясно. Но то, что
там снесли памятник Гагарину напомнило об одном человеке (в РФ), который
прям открыто заявил что стыдится Гагарина, стыдится что такой человек
был в нашей стране (в СССР). И тогда я понял, что есть какое то
совершенно непознаваемое безумие (с моей точки зрения) и ужас творящийся
в головах людей, аж страшно, ибо нельзя понять о чём думает человек и
чего от него ждать. Я ему как-то, задолго до начала СВО, прямо сказал,
что если будет какая-то заварушка, то он первым кто переметнётся на
противоположную сторону. Так и случилось -- он стал предателем. Гагарин
оказался хорошей лакмусовой бумажкой. Для меня отношение к нему, или в
какому-нибудь инженеру типа С.П.Королёву -- более яркий показатель, чем
даже когда люди считают Бандеру святым.

11 months agoНам нужно больше RMS, а не меньше
Sergey Matveev [Mon, 19 Jun 2023 11:47:41 +0000 (14:47 +0300)]
Нам нужно больше RMS, а не меньше

https://ploum.net/2023-06-19-more-rms.html
https://writefreesoftware.org/
Автор верно подмечает что Столлман был прав во всём (по своей теме) с
самого начала. Проблема не в нём, а в том, что люди плохо умеют слушать.
Copyleft -- архиважнейшая вещь, люто ненавидимая поганым бизнесом,
поэтому и всюду пропаганда permissive лицензий.

11 months ago30 лет FreeBSD
Sergey Matveev [Mon, 19 Jun 2023 11:33:31 +0000 (14:33 +0300)]
30 лет FreeBSD

https://freebsdfoundation.org/national-freebsd-day/
https://www.opennet.ru/opennews/art.shtml?num=59313
https://habr.com/ru/articles/490408/
Замечательнейшая ОС! Всякие Unix-like ОС я перепробовал, но именно
FreeBSD всё моё предпочтение отдаётся. Так держать!

11 months agoВедение журнала/дневника в Vim
Sergey Matveev [Mon, 19 Jun 2023 11:29:21 +0000 (14:29 +0300)]
Ведение журнала/дневника в Vim

https://peppe.rs/posts/plain_text_journaling/
Я бы так не стал вести, но в целом статья понравилась тем, что вот
человеку захотелось визуально подсветить что-то: написал подсветку.
Захотелось Unicode-ные закорючки красивые рядом с задачами иметь:
добавил. Немного shell-скриптования для создания записей -- пожалуйста.

11 months agonavindent
Sergey Matveev [Sun, 18 Jun 2023 16:56:49 +0000 (19:56 +0300)]
navindent

http://www.git.stargrave.org/?p=dotfiles.git;a=blob;f=vim/.vim/pack/stargrave/start/navindent/autoload/navindent.vim
Ещё в прошлом году переписал IndentWise плагин на vim9script. IndentWise
использую (cc51ae4ee57659cddd1476b8992272eb20ff68e1) довольно давно, и
не только с Python кодом (8e49bec8beb1c745ef756855ca3c693e96524ed0).
Сейчас постоянно и с Go кодом, особенно когда много всяких switch/case
элементов, где вставлять пустые строки довольно непотребно может
выглядеть, только ради навигации "{"/"}" motion-ами. Как всегда, размер
моей версии на порядок меньше, правда за счёт немного выпиленного
функционала нафиг не нужного. Плюс на vim9script.

Из сторонних vim9script-capable плагинов у меня LSP-шный
(e1edf490d610d29c0574443d63abd42dd67aad7c). Как всегда, небольшие косяки
и правки приходилось делать. Время от времени обновлял этот плагин и
сейчас дошло до того, что у меня остался ровно один мой коммит поверх их
основного дерева -- постоянно всякие мелочи исправляют, никакого bloat-а
не добавляют.

11 months agoЗаконодательное форсирование внедрения IPv6
Sergey Matveev [Sun, 18 Jun 2023 11:29:32 +0000 (14:29 +0300)]
Законодательное форсирование внедрения IPv6

https://habr.com/ru/companies/vasexperts/articles/737076/
Всё больше и больше уже форсируют мигрировать на актуальный IP протокол.
В Белоруссии, оказывается, всё зашибись с его поддержкой. У нас пока
довольно всё отстало. До сих пор вижу что когда пишут новый софт, то
упорно туда вписывают весь этот legacy и даже не делают возможность (в
Си) использования IPv4.

11 months agoПосмотрел "Призрачный мир"
Sergey Matveev [Fri, 16 Jun 2023 11:12:13 +0000 (14:12 +0300)]
Посмотрел "Призрачный мир"

https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D1%87%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B8%D1%80
Местами очень ржачный. Понравился. Люблю Стива Бушеми и тут он почти как
главный герой, предостаточно его.

11 months ago24p
Sergey Matveev [Thu, 15 Jun 2023 19:19:38 +0000 (22:19 +0300)]
24p

https://en.wikipedia.org/wiki/24p
https://en.wikipedia.org/wiki/List_of_broadcast_video_formats
Просто ужас сколько сложностей создаёт NTSC из-за которого до сих пор
продолжают использоваться 23.976 FPS в современных цифровых фильмах.
Казалось бы, уж сейчас то, с прогрессивной развёрткой, чего сложного в
том, чтобы 24/48/25/50/60/120/whatever кадров просто показывать картинка
за картинкой? Всё равно до сих пор продолжают на пустом месте люди всё
усложнять. Неужели где-то остались NTSC бытовые устройства для которых
критично чтобы им с современной цифровой компьютерной техники показывали
обратно совместимо?

11 months agoВсё же OSPFv3 вместо Babel
Sergey Matveev [Thu, 15 Jun 2023 14:33:40 +0000 (17:33 +0300)]
Всё же OSPFv3 вместо Babel

Недавно переехал на Babel (2748f68d104c4b8e5bd45911c88618da1352a485) с
OSPFv3 между своими машинами. Несколько строчек конфига же всего
поменять надо. Но вот вернулся назад.

Просто не понравилось то, что при удалении маршрута, информация об этом
просасывается десятки секунд, минуты. Всё штатно, всё так и должно быть,
даже в документации BIRD это написано, но пару раз уже напарывался на
непонимание что у меня что-то не работает, когда игрался с сетью, а это
просто маршрут ещё не до конца, так сказать, удалился на соседних
машинах. В OSPFv3/BGP propagation удаления делается быстрее чем я
переключаю вкладки tmux.

Плюс были случаи, когда непонятные маршруты оставались, типа:

    2a04:ac00:a:146::27    2a04:ac00:a:146::25    UG1    wg_mail3
    2a04:ac00:a:146::27    2a04:ac00:a:146::25    UG1    wg_mail3
    2a04:ac00:a:146::28    2a04:ac00:a:146::25    UG1    wg_mail3
    2a04:ac00:a:146::28    2a04:ac00:a:146::25    UG1    wg_mail3

и никем не подчищались. Причём это наверняка проблема BIRD, ибо Babel
поддержка в нём официально экспериментальная.

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

11 months agoПопулярная оптическая иллюзия?
Sergey Matveev [Thu, 15 Jun 2023 12:28:08 +0000 (15:28 +0300)]
Популярная оптическая иллюзия?

https://naked-science.ru/community/855945
Я не понял в чём тут прикол. Секунды две я потратил чтобы увидеть 571.
Говорят это и есть правильный ответ. По моему при медосмотре в военкомате
давали более сложные картинки.

11 months agoSecurity flag, Evil bit
Sergey Matveev [Thu, 15 Jun 2023 09:40:28 +0000 (12:40 +0300)]
Security flag, Evil bit

https://blog.benjojo.co.uk/post/evil-bit-RFC3514-real-world-usage
https://datatracker.ietf.org/doc/html/rfc3514
https://svnweb.freebsd.org/base?view=revision&revision=112929
В IPv4 заголовке был неиспользованный бит, который в RFC 3514 превратили
в Evil Bit. Все кто его видят желательно должны уничтожать такие пакеты.

Для IPv6 куда больше возможностей: evilness (в словаре не нашлось
русского слова для этого, а в немецком красиво звучащее Boshaftigkeit)
сопровождается либо hop-by-hop опцией (IPv6 расширенный заголовок) и
end-to-end онной. В обоих случаях указывается 128-бит сила злобы, и
128-бит идентификатор конкретной совершаемой атаки.

Linux уже известно (c90bc350818e72ab786ff46ad4aae4739ca98c8b) насколько
небезопасен, поэтому они так и не реализовывали "Security flag", в
отличии, конечно же, от FreeBSD, где есть sysctl настройки:

    This fulfills the host requirements for userland support by
    way of the setsockopt() IP_EVIL_INTENT message.

    There are three sysctl tunables provided to govern system behavior.

            net.inet.ip.rfc3514:

                    Enables support for rfc3514.  As this is an
                    Informational RFC and support is not yet widespread
                    this option is disabled by default.

            net.inet.ip.hear_no_evil

                     If set the host will discard all received evil packets.

            net.inet.ip.speak_no_evil

                    If set the host will discard all transmitted evil packets.

    The IP statistics counter 'ips_evil' (available via 'netstat') provides
    information on the number of 'evil' packets recieved.

    For reference, the '-E' option to 'ping' has been provided to demonstrate
    and test the implementation.

11 months agoБага с шафтом в Quake
Sergey Matveev [Thu, 15 Jun 2023 09:37:15 +0000 (12:37 +0300)]
Бага с шафтом в Quake

https://www.youtube.com/watch?v=4gNYTqn3qRc
Только недавно (ba2d4709fa4768060f8c3cc12233105c18733479) упоминал
Quake, а тут вот объяснение его баги с шафтом, позволяющая стрелять во
врагов вообще на другом конце карты.

11 months agoParquet, ORC, Avro, Arrow, Protobuf, Thrift и MessagePack...
Sergey Matveev [Thu, 15 Jun 2023 08:34:29 +0000 (11:34 +0300)]
Parquet, ORC, Avro, Arrow, Protobuf, Thrift и MessagePack...

https://habr.com/ru/companies/vk/articles/741702/
Честно говоря, я вот только названия слышал Parquet, ORC, Avro, Arrow,
даже не вспомнив о чём это примерно. Не сталкивался с подобными задачами.
Точнее только в составе уже готовых решений типа Hadoop. А вот с
форматами серилиазции при общении между микросервисами уже имел дело.

В ivi (сейчас не знаю как, ибо возможно уже всё переписано) тоже было
много микросервисов: когда пользовательское приложение делает REST
запрос, то за ним ещё с полдюжины запросов к разным БД и другим серверам
может породиться. В основном всё общение между ними было по REST-like
протоколу, где кидались всякие JSON-ы. Время затрачиваемое на
(де)сериализацию JSON-а -- очень ощутимо в Python было (тогда никаких
Py3 не использовалось). Даже если доли миллисекунды, то если
просуммировать все многочисленные round-trip-ы между разными
микросервисами, выдут десятки миллисекунд запросто.

Я написал middleware для Flask, который прозрачно при запросах/ответах
может смотреть на Content-Encoding заголовок и видеть в нём поддержку
lz4 сжатия. lz4 для Python использовал Си-библиотеку и поэтому был очень
быстрым. Это позволяло ощутимо экономить на трафике, на количестве
пакетов передаваемых по сети, уменьшая задержки (размен CPU на кол-во
пакетов в сети). Смотря на Content-Type и видя в нём поддержку BSON, для
сериализации мог применяться BSON: он значительно быстрее JSON, хотя
размер мог быть и больше. Но после lz4 сжатия размер уже роли не играл.
Связка из прозрачных BSON+lz4 позволяла в разы, насколько помню,
сократить задержки.

Самое главное было конечно же минимизировать задержки связанные с сетью.
Вместо того, чтобы просто из Flask программы подключаться
requests/urllib/whatever к другому серверу, поднимался локальный nginx
(не мой выбор, я то не люблю nginx) и подключения шли к нему. На
противоположной стороне тоже был nginx. Между собой они поддерживали
keep-alive HTTP соединение, существенно экономя на TCP roundtrip-ах.

BSON был выбран потому что достаточно было поменять "json.encode" (или
как там?) на "bson.encode". А сам BSON, как зависимость, уже
присутствовала из-за MongoDB. Но позже поменяли это на MessagePack,
который Си-binding-и имел к Python. Он был ощутимо компактнее и,
действительно, очень быстрым. Насколько помню, сериализация BSON была
сравнима по скорости с Python, а десериализация быстрее. MsgPack же в
обе стороны был шустрее. Не все типы данных в него можно было засунуть
как в JSON, но то ли нам повезло, то ли нужны были тривиальные правки к
Python словарикам сериализуемым.

А вот на серверах связанных с кэшированием контента, использовался
Protocol Buffers. Между собой они широковещательно рассылали огромные
потоки UDP пакетов со знаниями о том, у кого какой контент присутствует.
Эта лавина UDP пакетов далеко не всегда полностью успевала
обрабатываться и часть пакетов терялась по сути. Так как этот процесс
происходил регулярно, то рано или поздно знания о соседях
актуализировались. Так вот, чтобы уменьшить вероятность потерь пакетов,
можно просто попытаться уменьшить их количество. В protobuf можно
написать схему структуры данных которые мы хотим передавать, а дальше
генератор напишет эффективный код по (де)сериализации онных.
Действительно, получалось очень компактно (даже целые числа там имели
варьируемой длины формат) и очень быстро даже в Python коде. Это первый
и единственный раз когда я встречался с protobuf, но впечатления
остались самые положительные, хотя это десять лет назад было. Причём
protobuf сообщения нужно было в последствии слать между Python и Go
программами -- никаких проблем тут не возникло.

11 months agoGoogle считает io_uring небезопасным
Sergey Matveev [Thu, 15 Jun 2023 07:48:05 +0000 (10:48 +0300)]
Google считает io_uring небезопасным

https://www.opennet.ru/opennews/art.shtml?num=59297
Давно я злорадствую и поливаю какахами Linux за низкое качество и
халтуру. И давно я говорил, что если в Linux что-то посчитали готовым к
применению, то нужно ещё лет десять подождать чтобы это начать пробовать.
Вот Google всё это и подтвердила касательно io_uring подсистемы. Именно
поэтому, на фоне Free/Net/OpenBSD систем, которые хотя бы не врут
касательно готовности к промышленному применению, я и не признаю ни Linux,
ни в целом всю GNU/Linux экосистему (хотя качество многих GNU программ
наоборот, как ни странно, хорошее), превратившуюся уже в systemdOS. И
даже не смотря на то, что в BSD системах многие вещи годами могут
находится в experimental состоянии, они издревле были технологически во
многом более совершенны (716e82e70f4e9bfbd4c604575bf60787c45561ed).

И чем мне не нравится open source
(https://opensource.com/resources/what-open-source)? Они заявляют в "Why
do people prefer using open source software?" о том, что OSS хорош по
ряду причин:

* Control -- технически да, но на практике, особенно с systemdOS,
  никакого контроля люди не имеют, из-за огромной сложности системы даже
  в простых вопросах. Кто-то полезет в Си код править что-то, если нужно
  поменять поведение? Берёшь какой-нибудь daemontools и там, из-за
  простоты, действительно можно что-то править, а в systemd... увольте
* Training -- типа люди становятся лучшими программистами возясь с OSS.
  На практике же у нас куча программистов которые только умеют
  жонглировать framework-ами (а GNU/Linux мир это мир framework-ов, без
  готовых законченных решений), но не писать и вести софт с нуля
* Security -- ну тут без комментариев
* Stability -- для меня тоже без комментариев. Можно ли иметь OSS софт
  безопасным и стабильным? Да. Но выполняется ли это по умолчанию на
  практике? Лучший пример -- OpenSSL, который для меня является стыдобой
  всего OSS и опровержением "закона Линуса" (given enough eyeballs, all
  bugs are shallow)
* Community -- тут не знаю, да и profit-а не вижу

В итоге, все их заявления ничего не стоят, и на практике не достигаются.
Тогда как заявы о свободном ПО (те четыре свободы) выполняются без вранья.
OSS это бизнес терминология, из которой следует и весь этот marketing
bullshit, ничем не отличимый от заяв Microsoft или Apple, лицемерие. И
такое же паршивое качество. А СПО говорит о возможностях (свободах), но
использовать ли их это уже другой вопрос.

11 months agoПосетитель концерта Roger Waters откусил ухо мужчине
Sergey Matveev [Wed, 14 Jun 2023 06:36:43 +0000 (09:36 +0300)]
Посетитель концерта Roger Waters откусил ухо мужчине

https://lenta.ru/news/2023/06/14/ear/
Я вот был уже полторы сотни концертов, общался (учился) с панками в
институте, и точно знаю что самые безопасные концерты это всякий death,
black, grindcore. Самые небезопасные, где в слэме лучше не падать, это
панки и... heavy metal, ибо на последнем частенько бывают люди пришедшие
не из-за музыки, а просто побухать, просто деваться некуда, просто
лясы поточить, тем более что на таком металле то народу много бывает.
На последнем концерте (40363086670e80c67dc1bb4ec981e4d460d0d694)
нас с отцом даже не обыскивали -- ибо на Crust не пойдут непойми кто.

Так чего же ожидали парни на концерте основателя Pink Floyd? На всех
билетах не даром пишут что посещение концерта это повышенная опасность.

11 months agoЕщё иноагенты
Sergey Matveev [Wed, 14 Jun 2023 06:15:41 +0000 (09:15 +0300)]
Ещё иноагенты

https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D1%85%D0%B0%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9_%D1%86%D0%B5%D0%BD%D1%82%D1%80
https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%B1%D0%B5%D1%80%D1%82%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D0%BF%D0%B0%D1%80%D1%82%D0%B8%D1%8F_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8
В продолжении eabedbc6fbd775cf3401612346c764ef160b336a, Сахаровский
центр, где на YouTube записи моих выступлений неоднократных, тоже
является иноагентом.

Вспомнил тут, что у меня же как-то была "дискуссия" с Либертарианской
партией на тему цензуры (9c51476a382f92bf3691e10bd843899f7b97d6de). Судя
по Wikipedia, у них там полная Санта-Барбара с поножовщиной внутри
организации. Даже на флаге изображена возбуждённая змея, что для меня
говорит только о том, что не жди ничего кроме яда токсичного -- именно
это впечатление токсичности (и ничего кроме неё) я и не встретил от них,
действительно.

11 months agoИнициализация PRNG в FreeBSD
Sergey Matveev [Tue, 13 Jun 2023 16:58:22 +0000 (19:58 +0300)]
Инициализация PRNG в FreeBSD

По умолчанию kern.random.initial_seeding.bypass_before_seeding=1, что
означает успешную отдачу якобы случайных данных, даже при отсутствии
должной инициализации генератора. man 4 random явно отмечает что это
не безопасно, что так и есть. Впрочем, в dmesg должны по умолчанию
вываливаться сообщения о попытках чтения до инициализации
(kern.random.initial_seeding.disable_bypass_warnings=0), чего не
происходит. /dev/random инициализируется из /entropy файла, сразу после
подключения корневой ФС.

А список источников энтропии можно посмотреть (и настроить маской):
kern.random.harvest.mask_symbolic:
PURE_RDRAND,[UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER],NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED

11 months agoИстория Quake
Sergey Matveev [Tue, 13 Jun 2023 09:02:29 +0000 (12:02 +0300)]
История Quake

https://www.youtube.com/watch?v=DCX_q5oQj6Q
Местами уж чересчур пафосный текст, даже выключить хочется, но... никуда
не денешься, ведь Quake это действительно революционное творение. А ещё
стоит посмотреть 23d464891159e0719159a6a946df6843c1de6680.

11 months agoЗеркалирование AUR зеркала
Sergey Matveev [Tue, 13 Jun 2023 08:08:46 +0000 (11:08 +0300)]
Зеркалирование AUR зеркала

https://github.com/archlinux/aur
Есть Git-репозиторий со всеми AUR пакетами. Каждый находится в своей
ветке, а это почти 115k штук. Просто так сделать git clone не выходит
из-за этого. Но можно доставать все эти данные частями, просто получив
список веток, а дальше по тысяче (например) штук их запрашивать:

    git ls-remote https://github.com/archlinux/aur.git |
    cut -f2 | sed -n "s/^refs.heads.//p" |
    xargs -L1000 | while read pkgs ; do
        for pkg in $pkgs ; do echo ${pkg}:${pkg} ; done | git fetch --stdin origin
    done

А ещё стоит сделать "git config gc.auto 0", так как Git упорно запускает
gc при всём этом, сильно тормозя весь процесс. gc можно вызвать руками потом.

11 months agoIncubation
Sergey Matveev [Mon, 12 Jun 2023 20:25:40 +0000 (23:25 +0300)]
Incubation

https://www.youtube.com/watch?v=sGWYiuXxHd4
https://en.wikipedia.org/wiki/Incubation:_Time_Is_Running_Out
Небольшой рассказ про игру 1997-го года. У дяди пытался играть в неё, но
было сложно, непонятно и страшно. А позже, уже на своём компьютере,
проникся ею и даже в 2010-х под Wine-ом запускал. Отличная тактическая
стратегия, где приходилось неслабо голову ломать -- каждая новая миссия
это отдельный пазл, никакого разнообразия.

11 months agoПовозился с Noise
Sergey Matveev [Mon, 12 Jun 2023 20:20:24 +0000 (23:20 +0300)]
Повозился с Noise

http://noiseprotocol.org/
Про Noise framework для построения криптографических протоколов я
конечно же знал прежде (75602bef8d50e9f327ff4e1e6565aab107c78cf8), с
чистой совестью рекомендовал бы всем. Использую его в NNCP. WireGuard
его Noise-IK pattern реализует (f6f262828dfebff1ae5f0fd3c8cfadacf45bdcde).
Но не приходилось его реализовывать с нуля (ну вот надо). Теперь уже
внимательно его документацию пришлось читать. Очень понятная, очень
простая, очень ясная. И очень круто, что они в таблицах приводят
свойства и уровни безопасности на каждом из шагов каждого pattern.
Пример для подражания.

12 months agoL'Homme Absurde, Gnot и Crust
Sergey Matveev [Sun, 11 Jun 2023 09:46:59 +0000 (12:46 +0300)]
L'Homme Absurde, Gnot и Crust

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

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

L'Homme Absurde открывали сие мероприятие. Отлично отыграли, народ с
середины уже начал слеймиться. Далее по афише должны были быть Мерзость
из Нижнего Новгорода, но облом, не было. Поэтому шли Gnot из Питера.
Полу-эмо, полу блэк, народ завёлся уже окончательно.

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

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

В общем, один из самых впечатляющих концертов! Ну и, конечно же,
прикупил недостающих альбомов Crust, альбом Gnot и Sönma.

12 months agoКак работали модемные ISP?
Sergey Matveev [Fri, 9 Jun 2023 20:50:01 +0000 (23:50 +0300)]
Как работали модемные ISP?

https://blog.randomstring.org/2023/06/09/how-did-dial-up-isps-work-/
Ничего нового для себя не узнал кардинального, но хотя бы просто
упомянуты примерные скорости каналов связи у самого ISP, примерное
оборудование.

Последние годы что-то стал очень интересоваться как там Интернет то
устроен вне дома, вне дата-центров? Вообще нетривиально было даже понять
что именно идёт поверх оптоволокна который например в Атлантике проложен.
Неужели остаётся до сих пор SONET (bdd304a51771bf6dfabdbf31d748877112178406)
какой-нибудь? Сейчас то знаю (точнее так и не нашёл опровержений), что
везде банальный Ethernet. Про BGP сколько пытался найти информации о том,
как именно договариваются то между собой операторы связи.

А я через модем в Интернет почти не ходил. Одну, может быть две карточки
РОЛ приобретал (94009b3b008d26208b4fb31f1ffad60857085ed9), но и то на
всякий случай, email там завести, авось пригодится. Во-первых, а что в
этом Интернете было делать? Во-вторых, качество телефонных линий у нас
было такое отвратное, что это сущая боль даже пытаться на 9600bps
соединиться стабильно, даже с V.Everything Courier и "русской" прошивкой.
И мне очень не нравился факт того, что платишь за время, угнетал. И
когда GPRS начал появляться, становиться доступным, как и сотовые, то
вот тогда я уже полноценно стал членом сети Интернет, пускай тоже на не
высоких скоростях, но хотя бы не думая про время. И это всё у меня уже
через FreeBSD выходило, как и FidoNet.

12 months agoХранение PCM на видеокассетах
Sergey Matveev [Fri, 9 Jun 2023 19:38:15 +0000 (22:38 +0300)]
Хранение PCM на видеокассетах

https://www.youtube.com/watch?v=E-v7RwnGzKE
Уже в 1970-х были *домашние* устройства для хранения PCM цифрового аудио
на видеокассетах. С неплохой защитой от ошибок, с совместимостью как с
BetaMax и VHS, в том числе в "медленных" режимах записи. За много лет до
появления первых компакт-дисков. Автор задаётся вопросом: почему же, при
их наличии так давно, их не использовали для компьютеров, как хранилище
на несколько гигабайт данных? И предположил что просто столько данных и
так неоткуда взять -- до широкого распространения CD-ROM на IBM PC,
вполне для всего хватало и дискет.

А вообще устройства для хранения данных то были даже у нас:
ad67e5a0dfca5056d07a782b99250e2c0db31024.

12 months agoTurboBoost, атаки по побочным каналам, overclocking
Sergey Matveev [Fri, 9 Jun 2023 19:16:45 +0000 (22:16 +0300)]
TurboBoost, атаки по побочным каналам, overclocking

http://blog.cr.yp.to/20230609-turboboost.html
https://timing.attacks.cr.yp.to/overclocking.html
Масса информации от Бернштейна (DJB) касательно TurboBoost,
overclocking, долговечности систем, быстродействия и безопасности.
Он не одобряет все эти фишки связанные с резкими случайными
оптимизациями изнашивающими аппаратные компоненты, а также являющимися
отличными побочным каналами по сливу приватных ключей.

12 months agoPCIe gen 3 vs 4
Sergey Matveev [Fri, 9 Jun 2023 06:55:23 +0000 (09:55 +0300)]
PCIe gen 3 vs 4

https://lists.freebsd.org/archives/freebsd-current/2023-June/003817.html
У человека NVMe случайным образом выдаёт ошибки под FreeBSD. Пишут, что
у gen 4 больше вероятность ошибок и поэтому сама ОС должна заниматься
перепосылкой запросов, для чего есть отдельный протокол. Проблема под
FreeBSD решилась понижением PCIe на gen 3.

12 months agoБуча-2 не вышла
Sergey Matveev [Fri, 9 Jun 2023 06:39:31 +0000 (09:39 +0300)]
Буча-2 не вышла

https://ria.ru/20230609/plotina-1877092711.html
https://ukraina.ru/20230608/1047051049.html
Тоже удивлён тому, что зарубежные СМИ молчат и даже не обвиняют РФ
ни в чём. Про Бучу то вон сколько ора было, в которых даже самих
украинцев убеждают. Явно всё очень плохо на Украине с их очередным
контрнаступлением, что она переключилась на очередные террористические
акты, на подрыв аммиакопровода (благо, вроде бы смертью гражданских это
не закончилось), на разрушение ГЭС. АЭС активно обстреливают уже сколько
времени. Видимо, до Запада как-то начинает что-то доходить об этих
отмороженных нацистах. Даже ООН недавно внезапно отметила, что она против
нацистов, говоря про ВСУ.

12 months agoacme.sh запускает произвольные команды полученные с сервера
Sergey Matveev [Fri, 9 Jun 2023 06:29:57 +0000 (09:29 +0300)]
acme.sh запускает произвольные команды полученные с сервера

https://github.com/acmesh-official/acme.sh/issues/4659
Китайский CA (HiCA) работает только с acme.sh ACME-клиентом, потому что
в него можно запустить произвольные команды, что HiCA и делает, даже
вызывая напрямую bash. Вообще люди уже совсем озверевают от того, что
нормой является запуск произвольного кода с серверов сторонних. Для
Web-а большинство вообще уже по другому не может ничего делать.