]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
4 years agoКонфигурация сети в современных GNU/Linux дистрибутивах
Sergey Matveev [Wed, 7 Apr 2021 04:19:18 +0000 (07:19 +0300)]
Конфигурация сети в современных GNU/Linux дистрибутивах

https://utcc.utoronto.ca/~cks/space/blog/linux/NetworkingAndLinkSignal
будет происходить только когда появляется link. И это было давно в
NetworkManager и теперь и вообще штатное поведение в systemd. Сам
замечал что на каком-то модном дистрибутиве мне показалось что адреса
появляются только когда есть link, но я подумал что может у меня руки
кривые или какой-то очередной баг. Даже для домашнего сервера мне это не
подходило бы: если нет link-а от провайдера, то мои демоны не должны
запускаться, потому что нет адресов на интерфейсах? Лютый бред. И это
уже не говоря про нормальные, не домашние, сервера.

4 years agoОсилил DTrace SDT и язык D
Sergey Matveev [Tue, 6 Apr 2021 18:30:20 +0000 (21:30 +0300)]
Осилил DTrace SDT и язык D

D оказался не таким уж и богатым по возможностям. Для своей рабочей
библиотеки заюзал почти все функции и стал понимать кучу других
скриптов. Сила DTrace то конечно в самих имеющихся probe-ах, но я пока
только со своими собственными userspace SDT имел дело в основном. Чуть
чуть обмазав код probe-ами уже полезные результаты получаю прогоняя весь
цикл программы.

Не обошлось без хаков. Насколько понял, Solaris (SunOS), будучи типа
первопроходцем динамической линковки, очень её любит и поэтому DTrace из
коробки не особо то дружит с статическими библиотеками. А объектные
файлы программы надо пропускать через dtrace -G чтобы он их "подправил"
вкупе со всеми остальными зависимостями и добавил DTrace вызовы вместо
пустышек. В итоге ничего лучше не придумал чем... во временной
директории распаковывать объектные файлы из .a библиотеки и их вместе с
.o самой программы обрабатывать dtrace -G и уже это всё вместе собирать.

dtrace -h и -G отрабатывают и под GNU/Linux в составе systemtap-sdt-dev
и успешно собирает целевые программы, внутри которых честные STAP пробы.
Везде читал, ещё давно, что SystemTap та ещё редиска. Не помню причин
точных, но вроде как DTrace это штука которая с минимальнейшим
overhead-ом может миллионы событий отслеживать/обрабатывать и с
гарантией что это никак не может повлиять на работу системы, тогда как
SystemTap может вообще всё обрушить. Ну как всегда в GNU/Linux
экосистеме: всё всегда меняется, делается обратно-несовместимым и
поэтому нафиг никому не нужным. А ещё для SystemTap нужно каждый раз
компилировать модуль для ядра для его загрузки, тогда как DTrace
моментально in-place запускается и я за минуту по несколько раз скрипт
успеваю переписать чтобы посмотреть что из этого выйдет.

Но SystemTap инструментарий я в итоге не заюзал, а потрогал bpftrace и
bcc. В общем то, что относится к модному eBPF. Статей много на тему eBPF
и USDT под GNU/Linux... но буквально *ни одна* не отрабатывает на
какой-то относительно свежей Ubuntu в виртуалке. Команды, присутствующие
в статьях, отсутствуют местами. Как установить bcc пакет (или что-то
такое) я не нашёл, но каким-то образом поставил snap-нечто. Какие-то в
статьях сплошные скрипты на Python... понятия не имею откуда взявшиеся
(точнее они когда-то в каких-то версиях пакетов присутствовали). В
общем, беря по абзацу из самых разнообразных статей, даже из
русскоязычных, я смог получить список проб и одну какую-то после запуска
программы я даже смог увидеть. В FreeBSD/Solaris всё это вопрос пары
минут, а в популярнейшем дистрибутиве GNU/Linux популярнейшая модная и в
тренде eBPF тема заняла у меня наверное полдня чтобы просто получить
хоть одну пробу. Даже забавно: название некоторых вещей должно совпадать
с названием исполняемого файла. В Github проектах это всё фиксят, но...
блин, дистрибутив свежайщий, но в нём придётся делать переименование
исполняемого файла чтобы получить работоспособные пробы!? Как же я
ненавижу всю эту экосистему! Это чистейшая Windows/macOS по своему
качеству и дружелюбности к разработчику. Всё через задницу, всё сделано
на коленке, ничего нет отточенного, просто работающего, просто достойно
сделанного. В общем, убедившись что пробу как-то да можно получить --
выключил виртуалку и считаю что если кому надо, то в моей Си библиотеке
он сможет это получить. USDT код будет работать везде.

Зато продолжает без устали и останова радовать redo. Как с ним легко всё
это встраивать, переключать "хочу DTrace-able библиотеку или нет",
каждый .o файл post-processing-овать dtrace-ом (оказалось не нужно,
бесполезно, но проще было сделать и проверить) через default цели и всё
подобное. dtrace -G делает вообще не очень приятную штуку: он буквально
in-place редактирует объектные файлы, что, с точки зрения redo, выглядит
как изменение уже выполненных целей без участия/учёта самой redo системы.
Кажется что добавляется геморрой. Но нет -- оно просто вынуждает
написать сборку так, чтобы всё было атомарно, пускай и через копирование
файлов во всякие временные директории. redo хорошо дисциплинирует и
показывает огрехи подходов!

4 years agoFreeBSD сливает данные об установленных приложениях?
Sergey Matveev [Tue, 6 Apr 2021 14:59:30 +0000 (17:59 +0300)]
FreeBSD сливает данные об установленных приложениях?

https://lists.freebsd.org/pipermail/freebsd-security/2021-April/010390.html
https://forums.freebsd.org/threads/toplist-freebsd-usage-per-1m-inhabitants.79669/
... если FreeBSD не прекратит поддерживать слежку за пользователями, то:

    If this does not get fixed in short time, I will contact ArsTechnica,
    TheRegister and some other reputed IT news outlets, to create public
    pressure to get the issue resolved.

    [...]

    I will PR this, so the reaction of the FreeBSD Foundation will be
    publicly documented and can be put to widespread discussion by the
    IT media, if the Foundation does not deem necessary to remedy this
    problem.

    What about contacting ArsTechnica?
    They did an excellent report on WireGuard.
    Maybe they should also report on BSDstats, so that the pros and cons
    of its behaviour can be discussed in the larger public?

Какой-то мудак поставил third-party ПО, которое само себе предназначено
для сбора и отправки статистики и он не доволен что это ПО собирает и
отправляет статистику. Почему мудак? А причём тут FreeBSD? Потому что
оно есть в портах? С таким подходом я бы выпилил оттуда и Chrome,
Firefox и кучу другого говнища, где "телеметрии" для better user
experience тьмища.

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

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

4 years agoМы не всегда хотим получать максимум выгоды
Sergey Matveev [Tue, 6 Apr 2021 12:56:56 +0000 (15:56 +0300)]
Мы не всегда хотим получать максимум выгоды

https://rubenerd.com/we-dont-always-need-to-extract-maximum-value/
Солидарен со статьёй. У автора какое-то там предложение бесплатное, а он
отказывается, и на него непонятливо смотрят, ведь оно же бесплатное! И
да, по жизни замечал что у многих голова просто не в состоянии осознать
тот факт, что человек может отказаться от бесплатных или более выгодных
вещей.

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

4 years agoПосмотрел "Судьбу человека"
Sergey Matveev [Tue, 6 Apr 2021 07:30:29 +0000 (10:30 +0300)]
Посмотрел "Судьбу человека"

https://ru.wikipedia.org/wiki/%D0%A1%D1%83%D0%B4%D1%8C%D0%B1%D0%B0_%D1%87%D0%B5%D0%BB%D0%BE%D0%B2%D0%B5%D0%BA%D0%B0
Посмотрел то уже давно, но что-то не отметил его в блоге. Неплохой
фильм. Главное что запомнилось: предателей надо мочить, безжалостно.

4 years agoМужская футболка для младенцев с уничтожением детей
Sergey Matveev [Tue, 6 Apr 2021 04:59:53 +0000 (07:59 +0300)]
Мужская футболка для младенцев с уничтожением детей

http://www.hitkiller.com/kitajskij-metal-merch-muzhskaya-futbolka-dlya-mladencev-s-unichtozheniem-detej-i-drugie-novinki-sezona.html
Да я во всех подобных футболках хожу уже наверное лет десять.
И сама футболка Dying Fetus вроде бы была. Люблю я всю эту тему.

4 years agoFreeBSD 12.0 и DTrace работоспособность
Sergey Matveev [Mon, 5 Apr 2021 10:19:23 +0000 (13:19 +0300)]
FreeBSD 12.0 и DTrace работоспособность

https://forums.freebsd.org/threads/dtrace-shows-invalid-addres-errors-on-12-0-release-on-thinkpad-t480.69193/
К FreeBSD у меня вообще появляются претензии к качеству. Сегодня вот
наткнулся на то, что в 12.0 вообще всё что касается copyin() вызовов D
языка оказываются нерабочими (invalid address), чуть ли не делая DTrace
бесполезным. В последующих релизах это исправлено:
https://svnweb.freebsd.org/base?view=revision&revision=342053
но можно обойти хаком в виде hw.cpu_stdext_disable=0x00100000 настройки,
отключающей SMAP.

4 years agoСистема постоянно говорит что ты старый
Sergey Matveev [Sun, 4 Apr 2021 18:33:28 +0000 (21:33 +0300)]
Система постоянно говорит что ты старый

https://codecs.multimedia.cx/2021/04/i-feel-old/
Только посмотрел фильм "Полночь в Париже", как вот запись в блоге
человека о том, что у него компьютер (окружение в нём) стал постоянно
говорить что у него всё кругом устарело. Он хотел было обновить свой
Rust, но, оказалось, что даже сайт Rust crates не открывается в его
Firefox (а не более древнем Xombrero как у меня, на WebKit движке).

    move fast and break things

Обновление всего и вся -- боль. Особенно когда куча софта пропатчена,
особо сконфигурирована и собрана. Количество софта установленного через
Stow вручную растёт:

    % l ~/local/stow W
    21

и система глобально не обновлена ещё с 2018-го года вроде бы. Думаю что
на 13.0-13.1 версии FreeBSD я конечно буду производить глобальный
upgrade, но для этого придётся выделить не один день, чтобы ещё и учесть
всё что я изменил в портах.

4 years agoПосмотрел "Полночь в Париже"
Sergey Matveev [Sun, 4 Apr 2021 18:26:08 +0000 (21:26 +0300)]
Посмотрел "Полночь в Париже"

https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%BD%D0%BE%D1%87%D1%8C_%D0%B2_%D0%9F%D0%B0%D1%80%D0%B8%D0%B6%D0%B5
Простой, наивный, добрый фильм. Скорее очень понравился. Основная идея
мне близка -- сам бывало в полусерьёз задумывался что недоволен своим
текущим временем, считая что вот "тогда то", с моей моралью и интересами
было бы более к месту жить. Но мне и без перемещения во времени, как в
фильме, ясно что всюду и везде бы был недоволен точно так же. Точнее я
бы был другим человеком, как минимум. А жить нужно настоящим.

4 years agoЗабавный спам: моя учётка взломана
Sergey Matveev [Sun, 4 Apr 2021 13:41:49 +0000 (16:41 +0300)]
Забавный спам: моя учётка взломана

Пришёл (не первый раз) многоэкранный спам:

    I sent you an email from YOUR hacked account

Мои учётки находятся только у меня на сервере: ты отправил письмо с
сервера на этот же самый сервер?

    I setup a malware on the adult vids (porno) web-site and guess what,
    you visited this site to have fun (you know what I mean).

Не пользуюсь подобными сайтами, ибо они напичканы проприетарным кодом.
Можно же через torrent-ы скачать HD видео!

    While you were watching videos, your internet browser started out
    functioning as a RDP (Remote Control) having a keylogger which gave me
    accessibility to your screen and web cam.

Мой lynx или xombrero? RDP в Unix? Доступ к экрану и web-камере? Да я и
сам возможно бы был не прочь чтобы броузер у меня смог до них достучаться.

    You entered a passwords on the websites you visited...

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

    I created a double-screen video. 1st part shows the video you were
    watching (you've got a good taste haha . . .), and 2nd part shows the
    recording of your web cam.

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

    Do not try to find and destroy my virus! (All your data is already
    uploaded to a remote server)

Вот это сервис, backup уже готов!

    I guarantee you that I will not disturb you again after payment, as you
    are not my single victim. This is a hacker code of honor.

Я хочу побольше узнать про хакерский "code of honor"! Наверное
грамматика там не приветствуется совсем.

    You'll make the payment by Bitcoin (if you do not know this, search
    "how to buy bitcoin" in Google).

Блин, но я не использую Google :-(

    To track the reading of a message and the actions in it, I use the
    facebook pixel.

Эх, жалко мой lynx автоматом не запрашивает картинки в HTML почте и не
дёргает внешние серверы.

    Do not try to contact with me
    [...]
    If you need evidence, reply with "Yes!" and I will certainly send out
    your video recording to your 6 contacts.

Так с тобой можно связаться или нет?

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

4 years agoКонец эпохи компьютеров общего назначения
Sergey Matveev [Sun, 4 Apr 2021 06:10:17 +0000 (09:10 +0300)]
Конец эпохи компьютеров общего назначения

https://computer.rip/2021-04-03-use-computers-to-store-data.html
Очень понравились размышления в этой статье. Ничего нового, аналогичные
мысли и выводы были и у меня -- просто тут чуть получше по полочкам
разложено.

Я с детства помню кучу журналов компьютерных (сами не покупали, а у
всяких знакомых то там, то тут читал) 90-х годов, где в рекламах
постоянно показывается компьютер как устройство для работы с СУБД и
только. Отчётливо помню что на рекламах подчёркнуто показаны и
домохозяйки в том числе. И больше разнообразие (и это в русскоязычных!)
рабочих станций/серверов не на x86! SQL создавался с подразумеванием что
он должен быть достаточно простым чтобы любая домохозяйки могла в SQL
СУБД вести бюджет семейный и всё такое подобное, не выходя из REPL-а.

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

В статье верно отмечают, о чём даже я наслышан, что куча компаний есть у
которых бизнес без проблем крутится на desktop databases созданных и
запрограммированных для их задач ещё с 80-90-х. Все эти решения были для
решения general purpose задач: покупали dBase, Access (который, даже я
помню, штатно входил в Microsoft Office suite) и решали на нём проблему,
без знаний языков программирования.

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

    ... platform to deliver "apps," "SAAS," and in general
    special-purpose solutions delivered on a subscription model.

    Computing is no longer a lofty field engaged in the salvation of
    mankind; it is a field of mechanical labor engaged in the conversion
    of people into money.

    In short, capitalism ruins computing once again.

4 years agoЗнакомлюсь с USDT
Sergey Matveev [Sat, 3 Apr 2021 17:34:23 +0000 (20:34 +0300)]
Знакомлюсь с USDT

https://docs.oracle.com/en/operating-systems/oracle-linux/dtrace-guide/dt_sdt.html
Userspace statically defined tracing штука из DTrace. Судя по всему
должна без проблем работать и под GNU/Linux, но пока пробую на FreeBSD в
Си коде. В принципе довольно легко, особенно когда не надо использовать
generic макросы типа SDT_PROBE_*. Вот только dtrace -G вызов делает
непотребство: in-place меняет .o файлы, что ломает redo. Приходится
делать промежуточные цели в которых изменённые .o или игнорируются или
перемещаются через временный файл.

4 years agofind -mindepth
Sergey Matveev [Sat, 3 Apr 2021 13:36:39 +0000 (16:36 +0300)]
find -mindepth

Почему то раньше не обращал внимание на -mindepth опцию, которая
позволяет убрать "." путь из выдачи команды. Раньше я часто проверял
путь в цикле и делал continue. Вот только POSIX не знает ни про эту
опцию, но про -maxdepth, который часто в реальных скриптах встречается.

4 years agoRMS о себе и СПО движении
Sergey Matveev [Sat, 3 Apr 2021 07:55:35 +0000 (10:55 +0300)]
RMS о себе и СПО движении

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

4 years agoНаркотик возмущения
Sergey Matveev [Sat, 3 Apr 2021 07:16:27 +0000 (10:16 +0300)]
Наркотик возмущения

https://habr.com/ru/company/itelma/blog/550418/
Хорошо заметили что, особенно с соцсетями и всей этой online
информацией, стало модно возмущаться направо и налево. Плюс это
инструмент хороший: всякие политики не делают ничего, кроме как
заставляют возмущаться на своих оппонентов. А толку от того что
люди возмущаются в комментариях нет никакого, кроме порчи
настроения. И ко мне это на все 100% относится, ибо у меня много
hate-tagged записей. Но сам замечал со стороны что люди которые
постоянно всем возмущаются -- буквально слепы вообще к любым
изменениям в лучшую сторону. А есть и другая крайность: когда
человек слепо позитивно обо всём думает.

4 years agoПрочитал "Особый курьер" Алекса Орлова
Sergey Matveev [Fri, 2 Apr 2021 20:35:04 +0000 (23:35 +0300)]
Прочитал "Особый курьер" Алекса Орлова

https://angelov.su/book/osobij-kurer
Очередная (011435e43dae0e92744198c0af30566e06cbc6cc) книга от Орлова.
Снова разные планеты, приключения, разные персонажи, время от времени
пересекающиеся. Обожаю такие истории и юмор этих книг!

4 years agoDrew DeVault о Go
Sergey Matveev [Fri, 2 Apr 2021 18:20:59 +0000 (21:20 +0300)]
Drew DeVault о Go

https://drewdevault.com/2021/04/02/Go-is-a-great-language.html
Вот всё что он сказал -- я поддерживаю и солидарен. Понравилось
высказывание что Go даёт то что людям *надо*, а не то что они
*хотят*.

4 years agoSyncthing как пример хорошего ПО
Sergey Matveev [Fri, 2 Apr 2021 14:10:48 +0000 (17:10 +0300)]
Syncthing как пример хорошего ПО

https://habr.com/ru/company/itelma/blog/550404/
Сам я Syncthing ни разу не использовал, но в рассылке NNCP о нём очень
хорошо отзываются, мол работает надёжно как часы. В статье в
screenshot-ах показан процесс установки Dropbox/iCloud и Syncthing. В
общем случае, просто скачать бинарь и его запустить -- по моему тоже
жопа, с точки зрения безопасности. Но тут речь про простоту работы и
удобство. Раньше обычно говорили что проприетарное закрытое ПО популярно
из-за простоты, мол "они" всё сделают и решать за тебя сами. А в статье
показано что это совсем не так и всё только для шпионажа и рекламы.

4 years agoУчёт лево-крутящихся дисков в Южном полушарии в ZFS
Sergey Matveev [Fri, 2 Apr 2021 11:20:15 +0000 (14:20 +0300)]
Учёт лево-крутящихся дисков в Южном полушарии в ZFS

https://github.com/openzfs/zfs/pull/11823
Патч меридиональных дисков:

    * Some minor math equations need to be solved. But it should help
      protect data for our southern most users.
    * This will future-proof ZFS against Earth's expected
      magnetic-pole-reversal
    * SMR disks untested
    * Looking for testers at the extreme poles
    * Using dst testing might violate GPL

    Motivation and Context

        ZFS needs to take into effect F = d/dt * (mv) and possibly
        Eötvös effect.

    How Has This Been Tested?

        Extensive testing. To simulate southern hemisphere disk arrays
        were held by the Testing&Integrity Team Members and "spun really
        fast" in the opposite direction.

    chrisrd commented Apr 1, 2021
        Please make this configurable on a per-disk basis: we
        specifically use right-spinning disks right now, but we'd like
        to gradually replace them with left-spinners if possible as the
        right-spinners use more power due to the negative coriolis
        effect down here.

    bghira commented Apr 1, 2021
        the test failures are caused by not taking into account that the
        disks can be mounted vertically. in the test failures, the disk
        is told to move left but this is actually 'down' and the right
        rotation should be mapped to 'up' and reverse this for mounting
        in opposing direction.

    adamdmoss commented Apr 1, 2021
        FWIW I gave this a spin; didn't notice any difference in my
        casual testing, but I should note that my disk array sits
        precisely on the equator.

    debdrup commented Apr 1, 2021
            Please make this configurable on a per-disk basis: [...]
        Another use for per-disk configuration is if you've got one disk
        in Australia and another in Denmark.

4 years agoSCO, IBM, Xinuos
Sergey Matveev [Fri, 2 Apr 2021 09:37:31 +0000 (12:37 +0300)]
SCO, IBM, Xinuos

https://www.opennet.ru/opennews/art.shtml?num=54877
В TUHS рассылке заметили что если попробовать прочитать название
"Xinuos" наоборот, то будет похоже на "sue nix".

4 years agoБалмер на пост гендира RedHat
Sergey Matveev [Fri, 2 Apr 2021 09:30:08 +0000 (12:30 +0300)]
Балмер на пост гендира RedHat

https://www.linux.org.ru/news/redhat/16242938
Разумно, поддерживаю. RedHat со своим systemd уже давно стал Windows
системой. А их борьба против движения свободного ПО только больше
доказывает что Стиву там будет в самый раз.

4 years agoGPT флаги для партиций
Sergey Matveev [Fri, 2 Apr 2021 07:51:45 +0000 (10:51 +0300)]
GPT флаги для партиций

https://www.oshogbo.vexillium.org/blog/62/
Даже не знал что можно выставлять флаги в GPT партициях и что загрузчик
BSD использует BOOTME, BOOTONCE, BOOTFAILED.

4 years agoИнтервью с разработчиком NetBSD
Sergey Matveev [Fri, 2 Apr 2021 07:19:45 +0000 (10:19 +0300)]
Интервью с разработчиком NetBSD

https://www.cyberciti.biz/interview/interview-with-abhinav-upadhyay-netbsd-contributor-and-machine-learning-software-developer/
NetBSD для меня это такая штука, о пользователях которой почти ничего не
известно. FreeBSD или OpenBSD пользователей полно. А тут вот интервью. И
в космосе даже использовалась. Лично я вижу вариант того чтобы
попробовать, если что, использовать эту систему, раз там и ZFS есть.
OpenBSD больше не рассматриваю как вариант для general purpose system
вообще (46011b1a8570ff15604228cf82dd6424d3d5d252).

Ценнейший совет у автора в жизни был чтение книги "Advanced Programming
in The Unix Environment" by Richard Stevens. Я относительно недавно
познакомился с этой книгой и поддерживаю всеми руками этот совет. Мне
она понадобилась чтобы понять почему же у меня setuid исполняемый файл
не работал как ожидается. С этой книгой как-то ушёл страх понимания и
программирования Си кода.

4 years agoG3C анонсирует gopher markup language
Sergey Matveev [Thu, 1 Apr 2021 18:24:40 +0000 (21:24 +0300)]
G3C анонсирует gopher markup language

https://lists.debian.org/gopher-project/2021/04/msg00001.html

  <?xml version="1.0" encoding="ISO-8859-1" ?>
  <!DOCTYPE gml PUBLIC "-//G3C//DTD GML 1.0 STRICT//EN"
     "gopher://g3c.org/0/gml.dtd";>
  <gml>
    <hole>
      <title>Bitreich.org</title>
    </hole>
    <menu>
      <item type="0"
          href="gopher://bitreich.org/0/hacker-manifesto.txt";
          icon="::second-coming:daytime=morning::">
        Read the Bitreich Manifesto.
      </item>
      <item type="1"
          href="gopher://bitreich.org/1/bithub";
          icon="::long-dick:skin-tone=3,circumcised=no::">
        Watch Porn and be happy.
      </item>
    </menu>
  </gml>

4 years agoПочтовая рассылка Linux и DMARC
Sergey Matveev [Thu, 1 Apr 2021 18:06:14 +0000 (21:06 +0300)]
Почтовая рассылка Linux и DMARC

https://people.kernel.org/monsieuricon/subspace-mailing-list-server
Интересно почитать было про их устройство почтовой рассылки. Тоже mlmmj
используют. И замечают что если не менять тело и имеющиеся заголовки, то
и DKIM не будет ломаться. В итоге я DKIM с DMARC у себя тоже включил
(2c6d32988f772f53438892a2ee523db85f79f7f0).

4 years agoGIL в Go
Sergey Matveev [Thu, 1 Apr 2021 18:00:17 +0000 (21:00 +0300)]
GIL в Go

В рассылке Go наконец-то оповестили:

    The upcoming release of Go 1.17 (due in September) will include GIL
    for Go, As the Pythonistas among us know, GIL is Python’s Global
    Interpreter Lock, which has been included in even the earliest
    versions of Python, but is missing from Go until now. This has been
    a constant source of complaints from python programmers
    transitioning to the world of Go. With the addition of the Global
    Interpreter Lock into Go’s runtime scheduler, Go will finally reach
    feature parity with Python on this important feature. The
    introduction of the GIL and the implicit serialisation of all
    Goroutines will eliminate a whole range of possible race conditions
    and synchronisation  bugs.

    The inventor of the Python language Guido tweeted that after a two
    decades it is great to see Go finally catching up in this key area.
    He expressed his hope that Go will soon introduce Subinterpreters,
    which provide a simple, elegant  and  intuitive solution to the
    problem of achieving concurrency.

    In a related announcement the Go team also announced that future
    versions of Go will introduce Type Annotations, and get rid of the
    pesky squiggly braces, and instead transition to indentation based
    blocks.

4 years agoУволилась потому что взяли за секс-ориентацию
Sergey Matveev [Tue, 30 Mar 2021 04:53:33 +0000 (07:53 +0300)]
Уволилась потому что взяли за секс-ориентацию

https://lenta.ru/news/2021/03/30/diversity/
Их не берут на работу из-за ориентации -- скандалят.
Их берут из-за ориентации -- скандалят.
Не обращают внимание на ориентацию -- тоже скандалят.
Уволят за дело -- будут скандалить потому-что из-за ориентации.
Не уволят за дело -- будут скандалить потому-что из-за ориентации.
Пидоры одним словом.

4 years agoDoom 3, Quake 4 и M.A.X.
Sergey Matveev [Mon, 29 Mar 2021 18:41:37 +0000 (21:41 +0300)]
Doom 3, Quake 4 и M.A.X.

https://en.wikipedia.org/wiki/Mechanized_Assault_%26_Exploration
В день покупки прошлого ноутбука я до рассвета, всю ночь, проиграл в
Doom3. Ибо на том ThinkPad-е был видеоаккселератор уже достаточной
мощности для запуска этой игрушки хотя бы в 640x480. Правда уровень в
трубах и комбинезоне у меня показывался в мизерном окошке в десятки
пикселей на десятки пикселей -- я включал god mode и наобум пытался
дойти до "выхода". Addon-ы/продолжения Doom3 шли до момента когда в них
не появлялись какие прозрачные монстры. FPS падал до ~0.5, монстров не
видно, но видно что кто-то меня атакует. Я только по screenshot-ам из
Интернета понимал что именно они должны были там быть.

Quake 4 на том ноутбуке у меня уже не запустился. Падал с ошибкой о том,
что чего-то в OpenGL не хватало. Видимо того же, что и в addon-ах к Doom.

А на выходных вспомнил что у меня же сейчас обновлённый ноутбук с ещё
более мощным железом. Попробовал запустить Q4 -- с отличным FPS без
проблем запускается (тоже правда в 640x480 на минимальных настройках, но
с достаточным FPS). Поиграл в него несколько часов, а дальше понял что
надоело. Просто совсем вот дальше нет желания продолжать! И тут меня
посетила мысль о том что, возможно, я совсем уже вырос из FPS игрушек и
даже старые добрые тупые стрелялки уже обрыгли.

Но нет, ибо на глаза попалась в директории игрушка M.A.X. Чуть было
прочитав про неё, проглядев руководство прилагаемое, попробовал в неё
впервые с детства поиграть. В детстве я у родственника на компьютере
пробовал в неё поиграть. Запомнилась только тем, что это была самая мне
непонятная и сложная стратегия. Сложная в плане управления -- я вообще
ничего не понимал что да как и почему. В десятках других тыкаешь вот
так: происходит вот то то. А в M.A.X. что-то творится, но полная
чертовщина неожиданная для меня.

Сейчас вижу что всё там логично и нормально. Просто она действительно
сложнее. Возможность пошаговой игры, куча микроменеджмента, сплошная
тактика -- вот всего этого я прям хочу! Бегать, прыгать, стрелять в FPS
-- не хочу. А пошагово с микроменеджментом (который, говорят, выпили в
M.A.X.2) прям с удовольствием. Но я только часть totorial миссий прошёл
и думаю что засяду за игру. По сути мне ведь и FreeCiv нравится
микроменеджментом и пошаговостью. Так что не разлюбил я игры, а просто
другие приоритеты уже.

4 years agoAgnete Kjølsrud -- трушнейшая вокалистка
Sergey Matveev [Mon, 29 Mar 2021 13:29:33 +0000 (16:29 +0300)]
Agnete Kjølsrud -- трушнейшая вокалистка

https://en.wikipedia.org/wiki/Agnete_Kj%C3%B8lsrud
Сегодня заценил единственный полноформатный альбом Djerv группы. Очень
нравится её вокал! Слышал на альбомах Solefald. Мельком знаком с
альтернативнометаллическим Animal Alpha. Оказывается засветилась и у
Dimmu Borgir. Прежде вокалистки были только в симфометале, не считая
какого-нибудь Arch Enemy, не любого мне с ними.

4 years agonoglob префикс
Sergey Matveev [Mon, 29 Mar 2021 09:18:56 +0000 (12:18 +0300)]
noglob префикс

Понравилась идея прописывать noglob в начале команды, чтобы не
приходилось экранировать всякие звёздочки. noglob find . -name *.exe
будет работать без проблем. Не уверен касательно эффективности набора,
но есть чувство что noglob набирается быстрее и легче, чем морока с
экранированием.

4 years agoПоп-хиты от Lars Nedland
Sergey Matveev [Mon, 29 Mar 2021 07:33:01 +0000 (10:33 +0300)]
Поп-хиты от Lars Nedland

http://www.hitkiller.com/lars-lazare-nedland-solefald-borknagar-desyat-pop-pesen-kotorye-budut-blizki-blekaryam.html
Попсовые песни которые бы мог порекомендовать член Solefald группы для
поклонников black-metal. Есть интересные вещи. Хотя Kanye West я не могу
понять и не чувствую ничего в его песнях. После этих трэков я переслушал
всю дискографию Solefald -- гениальнейшая необычнейшая группа.

4 years agohistogram алгоритм для diff
Sergey Matveev [Sun, 28 Mar 2021 12:01:04 +0000 (15:01 +0300)]
histogram алгоритм для diff

https://link.springer.com/content/pdf/10.1007/s10664-019-09772-z.pdf
https://vimways.org/2018/the-power-of-diff/
https://stackoverflow.com/questions/4045017/what-is-git-diff-patience-for
В git и vim можно явно указать алгоритм для генерирования diff-а. В git
я это использовал давно (diff.algorithm), но patience вместо histogram,
который вроде как ещё получше вывод делает для исходного кода.

В vim за это отвечает diffopt опция, в которой ещё и indent-heuristic
может принести пользу.

4 years agoПодсветка git diff
Sergey Matveev [Sun, 28 Mar 2021 11:01:42 +0000 (14:01 +0300)]
Подсветка git diff

https://veronneau.org/a-better-git-diff.html
https://joelclermont.com/post/2021-02/better-diff-highlighting-in-git/
https://dev.to/cloudx/how-to-color-the-moved-code-in-git-10ei
В составе git-а есть contrib/diff-highlight, который можно отдельно
руками собрать и поставить. После первого же вызова git log -p я понял
что оставляю его.

А diff.colorMoved позволяет подсвечивать перенесённый код.
Ещё не понял есть ли от этого толк.

4 years agoBCHS
Sergey Matveev [Sun, 28 Mar 2021 09:36:30 +0000 (12:36 +0300)]
BCHS

https://learnbchs.org/
Знаю что есть LAMP (Linux, Apache, MySQL, Python).
А вот ещё есть: BSD, C, httpd, SQLite. Читается как "beaches".

4 years agoЦвет волос
Sergey Matveev [Sun, 28 Mar 2021 08:23:36 +0000 (11:23 +0300)]
Цвет волос

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

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

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

Угольно чёрный, белоснежный белый или ярко рыжий я наверное точно
запомню -- эти цвета сильно выделяются и бросаются. Ну и какой-нибудь
синий, как у вокалистки Arch Enemy. Всё остальное -- одна фигня, на
которую не смотришь. Даже смешно когда задают вопросы о цвете волос.

Аналогично касается и причёски. Был случай когда коллега пришла и
спросила, мол, ничего не заметил ли я (точно не помню вопроса). Я
пытаюсь вспомнить что она мне последнего писала в почту, в IM, забыл ли
я чего сделать? Честно отвечаю что не понимаю о чём она. Она задаётся
вопросом не сговорился ли я с другим коллегой? Я *совершенно* не понимаю
о чём речь и в чём подвох. Потом она уже в открытую явно указала на свои
подстриженные волосы. Действительно, только после этого увидел что
причёска ощутимо поменялась. Вот ведь серьёзно: на это не смотришь и не
замечаешь вовсе. Конечно, если побриться налысо или иметь косу до попы
-- это наверное можно будет запомнить.

Но, скорее всего, так устроены далеко не все мужчины, раз даже опытные
замужние женщины продолжают задавать подобные вопросы (иначе бы были в
курсе что это абсолютно не идентифицирующая информация). Возможно
связано с тем что я очкарик с начальной школы. У меня сильно суженный
угол обзора (те, кто впервые надевают контактные линзы, отмечают
насколько расширяется FOV). Даже в очках у меня никогда не 100% зрение
(это вредно), а сейчас и вообще глаза по разному видят. И визуальная
информация (богатство красок и детализация) для меня имеет не шибко
большую ценность. Я и фильмы то спокойно смотрю в ужасном MPEG4
пересжатом качестве на отвратительном дисплее ноутбука.

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

4 years agoАбсолютно незапоминаемый альбом: Liebe Macht Monster
Sergey Matveev [Sat, 27 Mar 2021 16:51:07 +0000 (19:51 +0300)]
Абсолютно незапоминаемый альбом: Liebe Macht Monster

Из недавно появившихся новых альбомов у меня вот есть In Extremo
"Kompass zur Sonne" 2020-го года и Eisbrecher "Liebe Macht Monster" 2021-го.

In Extremo я много раз прослушал и всё не перестаю получать
удовольствие. Упоминаю о нём потому что играет прямо сейчас.
Хотя особо ничего нового по сути у In Extremo там нет.

А вот альбом Eisbrecher-е просто выдающийся своей незапоминаемостью!
Вот я честно раз двадцать его ставил и он доигрывал до конца. И вроде
только пару первых трэков я ещё хоть как-то смогу про себя вспомнить.
Но мне даже смешно то, что ВСЯ остальная часть альбома проигрывается
абсолютно не осаждаясь в голове. Я даже не могу вспомнить хотя бы
сколько примерно трэков на нём. Есть ли там медлячки или на какой "ноте"
он заканчивается. Я его прям специально ставил чтобы оценить. Хотя при
этом и делал что-то по работе или по дому. В итоге я просто не замечал
когда успевали смениться трэки и внезапно заканчивается альбом (мол,
что, уже час прошёл!?).

У меня буквально вообще нет никакой информации и никаких впечатлений о
нём. Не припомню чтобы хоть с каким-то альбомом так было. Плохих,
унылых, однообразных -- полно. Но чтобы как будто ничего и не играло --
ни разу. Сейчас вот поставил -- да, это чисто Eisbrecher, сразу
узнаётся. Средненький годный neue deutsche härte, но сама
однообразность, без отличительных черт.

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

4 years agoLilypond и турецкая/арабская музыка
Sergey Matveev [Sat, 27 Mar 2021 16:47:27 +0000 (19:47 +0300)]
Lilypond и турецкая/арабская музыка

https://lists.libreplanet.org/archive/html/libreplanet-discuss/2021-03/msg00149.html
Lilypond пишут что единственная система которая:

    Turkish and Arabic music use microtones not found in the
    12-tone-equal-temperament system on which the West is standardized,
    and notation is not generally supported by proprietary systems in
    the West...

Один профессиональный исполнитель турецкой музыки нанял программистов
чтобы они в Lilypond добавили поддержку всего необходимого.

4 years agoУпростил tmux-fzf
Sergey Matveev [Sat, 27 Mar 2021 11:53:14 +0000 (14:53 +0300)]
Упростил tmux-fzf

http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=48338303d760027e62bab963fa11a940bc0d97eb
Не знаю о чём я думал, но так и не понял зачем я наворотил запуск tmux
внутри tmux в для tmux-fzf popup менюшек. Плюс обменивался через tmux-овые
буферы обмена. Существенно упростил эти скрипты. А вообще начал в них
глядеть и править чтобы добавить экранирование имён файлов. А то файлы с
пробелами в именах плохо обрабатывались.

Не то чтобы сильно часто, но всё же не проходит и дня чтобы я не
использовал меню fzf выбора файла через find и особенно часто выбор
файла под управлением git-а (git-files).

4 years agoЗачем смотреть сериалы, когда можно следить за WireGuard в FreeBSD!
Sergey Matveev [Sat, 27 Mar 2021 07:56:53 +0000 (10:56 +0300)]
Зачем смотреть сериалы, когда можно следить за WireGuard в FreeBSD!

https://www.opennet.ru/opennews/art.shtml?num=54843
Я только частично видел часть этой истории, поверхность. Но не знал про
всё что особенно в конце статьи изобилует. Прям сценарий к сериалу.

4 years agoПрочитал "Тени войны" Алекса Орлова
Sergey Matveev [Fri, 26 Mar 2021 15:39:52 +0000 (18:39 +0300)]
Прочитал "Тени войны" Алекса Орлова

https://fantlab.ru/work21420
Ещё одна (936ef1c9010ac893b39e9be91e33a5422f5ea705) книга Орлова,
которая открывает серию. Тоже понравилась. Приёмы и подходы автора уже
знакомы из предыдущей книги, но всё равно интересные и местами забавные
приключения.

4 years ago(вроде) Понял почему не хотят видеть RMS представителем FSF
Sergey Matveev [Fri, 26 Mar 2021 14:52:32 +0000 (17:52 +0300)]
(вроде) Понял почему не хотят видеть RMS представителем FSF

https://lists.libreplanet.org/archive/html/libreplanet-discuss/2021-03/msg00079.html
Вот с этим письмом я вроде понял почему RMS не нравится людям как
представитель FSF. Человек пишет что был на одном его выступлении, где
заметил что его презентовали как лидера open source. RMS проклял всё,
думал вообще стоит ли ему выступать. А автор ушёл мол, не любо ему такое
поведение.

А я убеждён что именно так RMS и должен себя вести. Я поддерживаю. Вот
что ему делать когда его презентуют как представителя (лидера!)
*совершенно* полностью абсолютно другого движения? Если это какое-то
мимолётное интервью, то одно дело -- но его конференции и выступления кк
бы заранее готовятся. Очевидно что делают списки выступающих
какие-нибудь девочки, понятия не имеющие что они пишут, поэтому
спрашивают своих мальчиков помощников, которые тоже не в теме и для них
все эти бородачи вроде связаны с "linux", а значит пускай девочки пишут
"open source" -- одна фигня мол, не windows же. По моему это полное
неуважение к выступающему. И как не *полное* неуважение и
наплевательскую подготовку реагировать?

По моему это аналогично тому, что любого Фрица представлять как нациста.
Любого блэк-металиста как сатаниста или, скорее, вообще любого
металиста, а того гляди и рокера, сразу к сатанистам тоже причислять.
Да, многие Фрицы прежде были нацистами. Да, многие блэк-металисты
являются и сатанистами. Но всем разумным людям очевидно что это два
несвязанных множества людей. Когда тебя, выступающего, презентуют как
сатаниста, но на самом деле ты пришёл говорить о музыке, то...
действительно стоит подумать а вообще нужно ли выступление, ведь люди
пришли послушать про сатанизм, а тут ты начнёшь впаривать про гитарные
риффы. Твоя вина? Нет. Но ничего доброго сказать организаторам, которые
откровенно из-за лени и раздолбайства обманули и слушателей и
выступающих, не захочется. Если я где то бы выступал на тему
"программирования под unix-системы" и меня презентовали как "разработчик
linux систем", то... это не повод отказываться от выступления, ибо
GNU/Linux с натяжкой но всё же относится к Unix-ам. А вот если я для
Unix-разрабов хочу рассказать про разработку именно под FreeBSD, то меня
нельзя презентовать как "(какой-то yet another) linux разраб" (ведь
везде где буковки в тёмном терминале, это линуксы же). А open source,
насколько понимаю, для большинства людей это на самом деле "бесплатный
софт".

Так вот какого поведения от "лидера FSF" ожидают авторы подобных писем?
Лыбиться как какой-то очередной пустобрех sales manager, смеясь делать
замечание что мы не open source, но да ладно? 99% не видят разницы между
"бесплатным" ПО и FOSS-ом. 99% из оставшегося 1% не видят разницы между
open source и free software движением. 99% этим людям абсолютно пофиг на
эту разницу и на самом деле им или бесплатное или любое open source
действительно нужно. Так зачем они лезут в free software movement? Нужен
OSS -- ну и суйся в OSS-related движухи. Зачем сувать нос в free software?
RMS из FSF пришёл говорить про free software, но его подставляют и
представляют тем, кем он не является совершенно. Он взбешён, очевидно.
Что ожидают люди от представителя FSF? Похоже что ожидают что он будет
рассказывать про OSS, линуксы и прочую фигню где есть терминальчики?

Именно поэтому я считаю что все эти люди не понимают (и не надо) суть
СПО и нефиг им вообще суваться в это движение. Они хотят решать и
советовать какой нужен представитель, хотя понятия не имеют о чём
движение. Для меня то это не новость и я почти не встречал людей
действительно вовлечённых в СПО. Вот буквально нескольких только знаю,
по пальцам одной руки посчитать. Имею в виду тех, с кем общался в
реальности. Да и в open source проектах считанные промилле кто
действительно именно free software (видно даже по оформлениям проектов,
их документации и подобному).

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

Всё это бесит точно так же, когда всякие урюки православнутые суются в
музыку метала и рока. Вот и тут OSS-fans суются в FS. Ну а тема с тем,
что RMS защищал бездоказательные обвинения своего друга -- тут даже
комментировать нечего, как и то, что он говорит про детей, женщин и
прочего. Не со всем согласен, но какое это имеет отношение к СПО?

А я вот хоть ничего и не добился стоящего на поприще свободного ПО, но
от RMS-а получал большую благодарность за (когда-то) распространение
идеологии СПО. Хех, по сути чесал языком, вместо написания кода.

4 years agoКаноничный список отстойных ОС
Sergey Matveev [Fri, 26 Mar 2021 09:52:03 +0000 (12:52 +0300)]
Каноничный список отстойных ОС

http://harmful.cat-v.org/software/operating-systems/os-suck

    MaxFrame sucks, mostly because they insist it doesn't. Ptffffft.
    VMS sucks.
    TOPS-10 sucks in 36 bits.
    TOPS-20 sucks more.
    Solaris sucks, slowly.
    SunOS sucks.
    MS-DOS doesn't qualify, but sucks.
    Ultrix/OSF1/Digital Unix/Whatever-it-is-this-week sucks.
    DG/UX sucks.
    HP/UX sucks.
    Dynix sucks.
    Esix sucks.
    CTIX sucks.
    Coherent sucks.
    SCO sucks, expensively.
    Xenix also doesn't qualify, but sucks.
    Unicos sucks.
    MVS sucks.
    VM sucks.
    CMS sucks.
    NOS sucked.
    NOS/VE sucks, but less so.
    AOS sucks.
    AOS/VS sucks.
    CP/M sucks.
    ComOS sucks in one port and out the other.
    IOS uses BGP to know which of its peers sucks the most.
    Atari TOS sucks the snow off Mt. Fuji.
    QNX sucks in real time.
    All Apple OS's really suck.
    Magic Cap does not qualify, but sucks, graphically.
    Minix sucks.
    (Free|Net|Open)BSD[386] suck.
    BSDI sucks.
    Linux sucks differently every time a kernel is released.
    PR1MOS sucks.
    Venix EDS sucks (and it runs the 777).
    OS/400 sucks, but you don't have access to QSYSLIB/WRKSUKSTS to find out how much.
    OS/9 doesn't qualify, but still sucks
    but OS/2 sucks.
    IRIX sucks.
    AmigaDOS sucks.
    DomainOS sucks.
    GCOS sucks.
    MPE sucks.
    MPE/ix sucks.
    Sinix sucks.
    VS sucks Wang.
    UnixWare sucks.
    Netware doesn't qualify, but sucks.
    Windows 3.1x--see dos.
    WindowsNT sucks, but not as hard as Windows 3.1
    Windows 95 doesn't suck, it blows.
    Plan 9 sucks on lots of machines at once.
    Oberon is considered harmful, and sucks.
    Amoeba sucks, distributedly.
    Eunice sucks so bad Larry Wall made special mention of it.
    NextStep sucks, but it's pretty.
    Nachos sucks, but only students know how.
    Mach sucks, but nobody knows how.
    Spring sucks in little pieces all over the place.

    They all suck.

    Except AIX, which sucks raw eggs through a very thin straw.

4 years agoСоцсети по паспорту
Sergey Matveev [Thu, 25 Mar 2021 08:24:56 +0000 (11:24 +0300)]
Соцсети по паспорту

https://lenta.ru/news/2021/03/25/pugalka/
Вот кстати и у меня первой же мыслью обо всех этих статьях о том, что
хотят сделать "соцсети по паспорту", является "а сейчас разве де-факто
почти все пользователи соцсетей/IM-ов не регистрируются в них по номеру
сотового телефона, который в преобладающем большинстве случаев уже
прикреплён к паспорту"? Да, можно иметь и SIM-ку анонимную, можно на
другие имена, но это исключения немногочисленные. Де-факто и так уже
ведь все по паспорту. Просто хотят ввести ещё одного OpenID/OAuth-like
провайдера, делов то.

4 years agoПрочитал "Мартина Идена" Джека Лондона
Sergey Matveev [Thu, 25 Mar 2021 07:22:27 +0000 (10:22 +0300)]
Прочитал "Мартина Идена" Джека Лондона

https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD_%D0%98%D0%B4%D0%B5%D0%BD
Очень понравилась книга! Много о чём можно поразмыслить и пока читаешь и
после. Но в целом никаких новых выводов для себя не сделал:

* журналисты -- редиски, и быть журналистом (хорошим) можно только не
  имея совести. Редакторы -- аналогично, просто не удавшиеся писатели. Я
  так же давно считал и про критиков
* общество в целом смотрит на реакцию и мнение других, подстраиваясь под
  mainstream. Да и в целом люди лицемеры
* всякие образованные люди -- вообще совершенно не факт что умны (что
  голова варит), что знают больше чем какой-нибудь моряк. У них главным
  образом только якобы умные разговоры, а на самом деле пустобрешество.
  Прикрываются ширмой из правильного выговора и умных слов
* женщины -- ну с ними всё понятно: сами не знают чего хотят, теряют
  голову от качков, занимаются самообманом и лицемерием сплошным. Сам
  имел опыт с тем, что женщина может быть с тобой годами, но на самом
  деле ничуть не любить тебя, а просто быть с парнем потому что так
  надо мол, чтобы не отставать от других
* но везде могут быть и исключения. "В семье не без урода". Бывают и
  действительно искренне любящие

Но чаще всего меня главный герой бесил сильно. Постоянно говорит "я
достиг ...", "я наконец-то понял", "я научился большему чем ...", "я
написал хорошо" и всё в таком духе. По моему, так могут говорить только
новички в своём деле: те, кто знает так мало, что не понимает и не видит
настоящих широт того или иного познания и не в состоянии оценить как же
мало они на самом деле знают. И Мартин Иден тоже же новичок в куче дел и
поэтому вправе так говорить. Но вот только говорит то он это уже и после
прочтения тысяч книг, из которых он должен бы был поднабраться мудрости
и перестать считать что он достиг высот, что он всему научился, стал
умнее всех и всё познал. Меня это и по жизни бесит, когда человек
прошедший tutorial по Django/Python/Go/whatever, написав простую CMS-ку,
начинает говорить что я теперь разбираюсь, умею и знаю XXX, хотя это
всего лишь только начало пути настоящего познания. С возрастом/мудростью
и опытом вроде бы люди это должны уже понимать и перестать так
разбрасываться словами.

Собственно Мартин и не смог смириться с тем, что в мире "побеждают" и
правят ни ум, ни сила, ни талант и умения. Да, это так. Его право не
согласиться с таким положением дел и не жить в подобном мире.

А ещё бесят его размышления о том, что "ведь книги он написал X лет
назад же уже, работа была сделана именно тогда". Чертовщина. Работа
сделана когда она сдана -- когда кем-то принята. Написанный черновик это
ещё не выполненная работа -- вот её прём в печатное издание это уже
выполненная. Хотя... тут точно можно было бы поспорить. Я и в ПО считаю
что пока твой проект не начал где-то действительно использоваться на
практике (пускай чисто внутри компании), а не лежать в репозитории
где-то с закрытыми тикетами -- его ценность нулевая. С другой стороны,
ведь это же означает что ценность напрямую зависит от популярности. С
чем я категорически тоже не согласен -- ведь все мы, программисты, знаем
что убер крутые хакерские гениальнейшие и крутейшие вещи де-факто почти
никогда не являются популярными. Всё популярное ПО -- шлак и говно,
грубо говоря (бывают исключения, но в пределах статистической погрешности).
Появляется вопрос: а надо ли вообще прислушиваться к мнению окружающих?
Или вообще не надо? Поговорил с папой на эту тему, но ни к чему не
пришли. Везде сплошные противоречия и я для себя так и не сделал ещё
вывода. Если считать что Мартин Иден написал книгу пост-фактум и поэтому
и пишет объективные оценки что он написал стоящие штуки -- то как бы и
простительно становится.

А это означает что очень хорошая книга, как и Догвилль
(87c6f45f4d084e2b2e5368105d55d9741d3ae8aa) -- рождает массу вопросов, на
которые сложно дать про себя ответ чёткий.

4 years agoСайт в поддержку RMS на посту FSF
Sergey Matveev [Wed, 24 Mar 2021 11:57:08 +0000 (14:57 +0300)]
Сайт в поддержку RMS на посту FSF

https://rms-support-letter.github.io/
https://www.opennet.ru/opennews/art.shtml?num=54820
В противовес сбору подписей против RMS:
https://rms-open-letter.github.io/
Против RMS: можно отослать свою подпись на email автору. За RMS: можно
сделать только pull-request в Github. Как же это сделать без JS, как на
нём зарегистрироваться? Если я за RMS, то больше вероятность что я за
СПО, за свою безопасность и я запрещаю выполнение недоверенного
закрытого кода на своём компьютере и поэтому Github у меня банально
будет просто неюзабелен. И я не смог найти email автора чтобы ему
отправить нормальный git send-email патч. Идиотизм.

4 years agoВыбили 20K€ за отказ компенсировать стоимость Windows
Sergey Matveev [Tue, 23 Mar 2021 03:52:56 +0000 (06:52 +0300)]
Выбили 20K€ за отказ компенсировать стоимость Windows

https://www.linux.org.ru/news/opensource/16222562
Lenovo пожадничала 42€ и её оштрафовали на 20K сверху. Для них то
мелочи, но простому человеку приличные деньги, хотя и тьма потраченного
времени.

Хотя мне и не понравилось что львиная доля пошла в FSFE. Ибо FSFE как
последние лицемеры (53068671b6acc181758b7414e18b5941dd16a5ec) выпилили
любое упоминание RMS у себя в информационных материалах и нагло открыто
врут что FSF создало и определяет термин free software с 1986-го года.
Плюс любят "open source", якобы в нём точно такие же принципы заложены,
что тоже никогда не было правдой. Одним словом, европейцы во всей своей
красе.

4 years agoWWWorst App Store
Sergey Matveev [Mon, 22 Mar 2021 10:22:42 +0000 (13:22 +0300)]
WWWorst App Store

http://techrights.org/2021/03/18/alexandre-oliva-on-webapps/
Понравилось введение о том, чем сейчас является mainstream часть WWW:

    Picture the most abusive app store:
    * Programs in it are meant to run on your own computer.
    * However, you have to be online to run them.
    * Every time you start them, they contact the app store.
    * If there is an updated version, it's installed automatically, no
      questions asked. You'd rather run the earlier version? Tough.
    * If the app store decides you're no longer welcome, the program
      won't start any more.
    * If the app store servers are offline, or if you are, it won't
      start either.
    * Programs in this app store must also hold your data in the app
      store's servers.
    * If the program won't start, you can't get to the data on the
      servers any more.
    * You may have downloaded backups of your data, but you'd have to
      figure out how to decode them without the program.

4 years agoRMS возвращается в совет директоров СПО
Sergey Matveev [Mon, 22 Mar 2021 05:29:31 +0000 (08:29 +0300)]
RMS возвращается в совет директоров СПО

https://www.opennet.ru/opennews/art.shtml?num=54805
Хорошая новость! Что там делает этот совет не знаю, но FSF стала
настолько мне не интересной в последнее время, что я даже уже хотел
было отписываться от всех их рассылок.

Ещё Столлман сказал что привился и всем остальным советует.

4 years agoЗазеркалье в Duke Nukem 3D
Sergey Matveev [Sun, 21 Mar 2021 13:53:39 +0000 (16:53 +0300)]
Зазеркалье в Duke Nukem 3D

https://habr.com/ru/post/548152/
Duke Nukem 3D меня маленького жутко впечатлял своим движком! На первом
же уровне ведь этот туалет известный с зеркалом. И коды ведь от Дюка я
знал (DNKROZ), но никогда не пробовал за зеркало с ним зайти.

4 years agoBBC -- Art of Persia
Sergey Matveev [Sun, 21 Mar 2021 10:13:38 +0000 (13:13 +0300)]
BBC -- Art of Persia

https://docuwiki.net/index.php?title=Art_of_Persia
Начал смотреть BBC документальный фильм про Персию. Судя по введению о
том что будет в фильме -- в большинстве мест я бывал. Очень хорошо
спланирована поездка турагенством иранским. Поездка в Иран для меня
совершенно незабываемая поездка в жизни! Была и остаётся. Говорят, что
во всём ближнем востоке и северной Африке только иранцы сохранили свой
язык и свою культуру.

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

4 years agoЖенщины в транспорте
Sergey Matveev [Sun, 21 Mar 2021 08:37:52 +0000 (11:37 +0300)]
Женщины в транспорте

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

В очередной раз (db93974430d43c889f2b2f9a291b0e6d2d9f2a9d) в маршрутке
побесила женщина: "вы будете на следующей выходить?", уже взялась за
ручку чтобы встать, затем села со словами "я вас выпущу". Почти
подъехали к моей остановке, но она даже не думает сдвинуться. И только
после того когда я на повышенных тонах ей повторил вопрос, она
соизволила выпустить меня. Может быть она считает что я должен был на
всю маршрутку орать водителю (ага, понервировав всех окружающих) чтобы
он остановился и только после этого сигнала она бы меня выпустила?

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

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

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

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

Хотя бывают и редкие запоминающиеся ситуации. Вот одна в этом году
случилась в маршрутке: девушка которая стояла (мест не было), попросила
остановить на такой то остановке. Но попросила не перед ней, а через
одну от неё (ехать типа минуты две ещё надо было). Она увидела что
проехали мимо остановки (её только следующей будет) и на водителя с
претензией начала кричать что мол просила же заранее и громко чтобы
остановили. Её гнев, если бы остановку пропустили, можно понять:
следующая будет только через несколько километров пересекая МКАД --
назад пешком дойти не вариант. Водитель спокойно отреагировал что мол ну
не доехали же ещё. Она пригнулась, всмотрелась, поняла что,
действительно, ещё рано. Извинилась с "пожалуйста". И когда выходила ещё
раз повторила извинения.

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

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

Всё по поведению в транспорте можно понять!

4 years agoFlatpak -- security nightmare
Sergey Matveev [Sun, 21 Mar 2021 08:31:11 +0000 (11:31 +0300)]
Flatpak -- security nightmare

http://flatkill.org/2020/
http://flatkill.org/
Целый домен для сайта о том, что Flatpak это ужас с точки зрения
безопасности. Ну для меня это и сразу было понятно что подобное
использовать можно не рассматривать.

4 years agoFreeBSD и Linux подходы к железу
Sergey Matveev [Sun, 21 Mar 2021 07:36:51 +0000 (10:36 +0300)]
FreeBSD и Linux подходы к железу

https://lists.freebsd.org/pipermail/freebsd-questions/2021-March/293472.html
https://lists.freebsd.org/pipermail/freebsd-questions/2021-March/293471.html
https://lists.freebsd.org/pipermail/freebsd-questions/2021-March/293486.html
Огромная нить переросшая в мини OS-holywar "GNU/Linux vs FreeBSD". Всё
началось с того, что у человека проблемы с каким-то USB-контроллером и
он не может установить и работать во FreeBSD из-за него. Бага в трэкере
висит с год и человек очень опечален, вбросив вопрос куда ему переходить
с этой ОС?

Понравились ответы Юрия Гальцева о фундаментальном различии (как мне
видится) в подходах разработки драйверов в Linux и FreeBSD: первые имеют
кучу workaround (читай костылей) чтобы глюкавое железо хоть как-то да
работало. Вторые не занимаются этим. Видел это сам воочию в драйверах
для Intel HDA, которая у меня на ноутбуке не выдаёт звук на внешний jack,
а в Linux вроде бы чуть ли не для конкретной моей модели ноутбука был
какой-то if-чик.

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

А автор нити конечно же не прав, судя по тому что я понял. Его упрёк в
том, что на generic ядре он не может установить систему. А с какой стати
он вообще и откуда взял то, что на generic-е у него должно всё работать?
Даже в Linux я помню уйму раз что приходится где-то ещё собирать
специализированное ядро с особыми драйверами чтобы установить на
какой-то системе. Даже в Windows тебе придётся иметь сторонний компьютер
чтобы скачать драйвера для Ethernet-а/модема/whatever (нужные для того
чтобы скачать драйвера) или иметь компьютер с работающим CD-ROM чтобы на
нём прочитать CD-ROM с драйвером для CD-ROM. Всю жизнь так было. Ещё
помню что при какой-то не совсем стандартной разбивке диска (MBR)
Windows нельзя было поставить, как и удалить этот MBR и пересоздать
заново.

4 years agoEmacs как редактор
Sergey Matveev [Sat, 20 Mar 2021 10:22:01 +0000 (13:22 +0300)]
Emacs как редактор

В 8d0549962697cfa5711a5ae8c71fa3e24bf5b325 писал про видео с
презентацией Emacs плагина (или как это называется в нём?). Забыл
написать что чуть ли не каждый каждый раз когда я смотрю что-то где есть
Emacs, то обязательно увижу, мягко говоря, очень неэффективное
редактирование текста. В этом посте было комментирование нескольких
строчек в блокнот-режиме: перемещаемся на каждую строчку бегая курсором,
вводя символы комментария. Меня самого удивляет, но это так сильно
коробит и бросается в глаза!

В Vim опытный пользователь, по моему, никогда так не сделает, даже в
мыслях не будет: как минимум он просто "повторит действие" (вставки
символов комментария) нажав ".", если забыть про макросы (фиг уж с ними
ради трёх строчек), визуальное выделение для вставки, ":.+2s#^#//" (лень
считать, но возможно тут большее количество нажатий) и т.д.. А в видео
про eev ведь человек который с середины 90-х годов пользуется Emacs-ом!
И опытный в Emacs коллега с работы вроде бы тоже признаёт что *как
редактор* будет немного похуже Vim. В видеороликах я регулярно это отмечал.

4 years agoПоработал с seccomp
Sergey Matveev [Sat, 20 Mar 2021 09:14:22 +0000 (12:14 +0300)]
Поработал с seccomp

https://en.wikipedia.org/wiki/Seccomp
Решил пощупать какого это жить с seccomp подсистемой и насколько сложно
с ней работать. В принципе ничего сложного (если с libseccomp): просто
как-бы задаётся firewall системных вызовов и (опционально) их аргументов.
Можно одной строкой разрешать хоть делать все read(), либо read в
котором определённый аргумент равен какому-то значению -- чётко
фильтровать и файловые дескрипторы так можно например.

Но в целом очень геморройно, ибо на самом деле ты не знаешь какие вызовы
кто и как будет делать. Seccomp-ed программа будет libc-специфична. Ибо
glibc для waitpid() делает wait4() на самом деле, как и на других
вызовах выполняет не то что написано на экране. PCSC-демон... да откуда
я знаю как конкретно и как именно он работает с сокетами и логами?
Только смотреть исходный код всего этого. Вот и у меня всё свелось к
запуску, падению, смотрению в /var/log/audit.log, поиску информации об
убийстве из-за запрещённого syscall-а, поиск syscall-а по номеру чтобы
понять что надо прописать в seccomp-ed программу. А ведь ещё и
какие-нибудь крайние ситуации особые могут быть, которые всплывут в
самый неожиданный момент.

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

Capsicum (793966ed64c5a6884e7f1a3d5491a7be4b3eea5f) фильтрует действия
над файловыми дескрипторами только, которые правда могут не только файлы
представлять. Ну и ограничивает множество syscall-ов тоже. Не такой
"сильный" sandbox, но для своих синтетических задач с ним было гораздо
проще работать. pledge имеет ещё меньшую гранулярность, но с ним ещё
проще. Вот и получается дилемма: либо жутко геморройный и сложный
seccomp но с офигенной управляемостью, либо очень поверхностный pledge,
но который тривиально для большинства программ встраивать. С одной
стороны pledge круче, тем что хоть какой-то sandboxing и ограничения
предоставляет очень просто. С другой стороны seccomp круче, тем что всё
на свете можно зарезать в нём и ограничить. Для себя сделал вывод: всё
зависит от потребностей и архитектуры программы. Что-то на seccomp точно
будет не сложно переводить. Что-то на Capsicum совсем не сложно. Но если
архитектура программы совсем далека от privsep подхода, то будет тоже не
просто с ним. А pledge... лучше чем ничего, но в идеале бы что-нибудь
посерьёзнее.

Негатива от Seccomp особо нет. Кроме того, что он libc-specific будет,
как минимум. Но то что я делал на Capsicum в FreeBSD -- с seccomp-ом я
потратил во много раз больше времени, хотя получил ещё более tight
sandbox. И не потому что я поклонник FreeBSD, но Capsicum мне куда
больше понравился -- на нём хочется продолжать делать и писать privsep
программы. А Seccomp не вызывает желания возвращаться к нему. А вот
OpenBSD в целом не то чтобы расстроила, но я сильно охладел к ней.
Рассматривать как платформу для запуска своего софта я бы не стал, хотя
уважение и симпатия ко многим их подходам у меня большие.

4 years agoEmacs'es eev
Sergey Matveev [Sat, 20 Mar 2021 08:59:57 +0000 (11:59 +0300)]
Emacs'es eev

https://emacsconf.org/2019/talks/27/
Рассказ и видео об "executable notes" в Emacs. Мир Emacs-а привлекает
что всюду и везде можно программировать (I put a Lisp in your editor, so
you can learn Lisp for your editor, while you write Lisp with your
editor) и состыковывать всё что угодно между собой.

Но польза от eev мне с ходу не столь понятна. Возможность выполнения
однострочных скриптов/команд... а когда надо на несколько строк, то
использовать "\" какие-нибудь? На практике сплошь и рядом длинные
команды могут встречаться и я уже стал ненавидеть когда их записывают в
длиннющие строки, в основном когда хотят засунуть в какой-нибудь
Makefile -- о чём забыл как страшный сон, благодаря redo. У меня много
всяких текстовых заметок тоже было и есть, из которых я выполнял строчки
в shell-е или ещё где-то -- но со временем все они превращались в
нормальные исполняемые скрипты, ибо так удобнее.

Возможность открывать info/man/whatever/grep и прочее всё равно же в eev
делается через явное написание соответствующих функций. Лично я бы делал
это в виде неких URI, которые тоже одним нажатием Enter в Vim можно было
бы открывать -- видя URI, Vim запустит парсер, который уже будет
запускать что угодно, ведь всё равно как и в eev это придётся руками
описывать. По сути то Vim из коробки и так умеет всякие gd/gf и Netrw
понимает кучу всяких URI типа scp://.

Я само собой не пытаюсь сравнивать Vim vs Emacs, а только мне не очень
понятен eev -- не увидел ни одного близкого или возможного для себя
use-case.

4 years agoПоработал с XDR в Си
Sergey Matveev [Sat, 20 Mar 2021 08:44:49 +0000 (11:44 +0300)]
Поработал с XDR в Си

https://en.wikipedia.org/wiki/External_Data_Representation
Про XDR уже не раз упоминал что он мне нравится как сериализатор.
(Очень) Простой, быстрый. XDR спецификации позволяют делать и union-ы с
массивами. Union -- аналог CHOICE-ов и OPTIONAL полей в ASN.1. В Си и
union и array поддерживаются на уровне удобных функций. Очень
понравилось что довольно тривиально можно одним махом, одним вызовом
распарсить структуру с union-ом и всякими массивами. И сериализовать
назад, точно таким же вызовом -- они все симметричны. Можно и с
файловыми дескрипторами работать напрямую сразу же, как в libnv
(793966ed64c5a6884e7f1a3d5491a7be4b3eea5f).

Вообще я потратил значительно больше времени на разбирательство как с
ним работать. С libnv через 5-10мин всё было сделано. Но libnv это как
JSON -- typeless хранение данных, не столько эффективное. А XDR это
исключительно типизированное представление. ASN.1 -- ни то, ни другое:
что-то можно будет распарить без спецификации, а что-то нет (ANY).

Ещё XDR понравился тем фактом, что в Free/Net/OpenBSD идёт из коробки (в
FreeBSD, как минимум, это в составе libc), как и в glibc тоже штатная
часть, с одинаковым интерфейсом (со времён Sun?). В Python из коробки
есть xdrlib, но которая не умеет автоматом union-ы парсить -- это уже
всё же более высокоуровневая штука: нужно просто самостоятельно писать
код вычитывающий значение enum-а и решающего какой дальше запускать
десериализатор.

4 years agoapply и xe
Sergey Matveev [Fri, 19 Mar 2021 13:49:10 +0000 (16:49 +0300)]
apply и xe

https://victor-sudakov.dreamwidth.org/517262.html
Вот сколько лет я за Unix-системами, но вообще никогда не слышал об
утилитах apply (написанная аж Робом Пайком для BSD4.2) и xe. Выглядят
интересно. xe написан leah@vuxu.org -- тоже мне известным человеком. И
она даже умеет распараллеливать задачи, как и parallel. Но она совсем
новенькая, относительно apply.

Parallel вряд ли буду пробовать заменять: это Perl скрипт, а Perl у меня
всегда есть. ничего против не имею, много чего полезного умеет, хотя и
редко используемого кроме базового функционала.

4 years agoAllesfresser
Sergey Matveev [Thu, 18 Mar 2021 13:44:35 +0000 (16:44 +0300)]
Allesfresser

https://www.darkside.ru/news/130022/
Момент с концерта Lindemann на котором я бы не хотел оказаться там,
будучи очкариком :-). Но это всё равно круто!

4 years agoПрочитал "Застывший огонь" Алекса Орлова
Sergey Matveev [Thu, 18 Mar 2021 09:43:57 +0000 (12:43 +0300)]
Прочитал "Застывший огонь" Алекса Орлова

https://www.litprichal.ru/books/421/
Очень понравилась книга! Именно такую фантастику я и люблю: приключения
друг за другом, разные места и планеты. В этой есть и смешные моменты на
которых не сдерживался улыбаться в общественном транспорте. Это мне всё
же куда больше по душе чем космооперы типа недавно прочтённой (но тоже
понравившейся) "Розы и червя" (dde11729261b366a1f02c2d023951b5f43468070).

4 years agoПоставная фотография программиста
Sergey Matveev [Thu, 18 Mar 2021 07:39:12 +0000 (10:39 +0300)]
Поставная фотография программиста

https://habrastorage.org/getpro/habr/upload_files/ce3/2c5/b4f/ce32c5b4fed67ccdc9cf083bd29d4e18.png
https://habr.com/ru/news/t/547662/
В первую же секунду как же мне бросается в глаза:
* на левом открыт явно какой-то Nano или что-то подобное детское, где
  никто всерьёз не буде работать. Как и уважающий себя администратор
* рука над клавиатурой висит в воздухе, ибо её не положить из-за
  смартфона под ней
* на втором мониторе вообще ничего нет и не запущено. Только пришёл на
  работу типа?

4 years agoИнтерфейс Windows 10
Sergey Matveev [Wed, 17 Mar 2021 20:27:39 +0000 (23:27 +0300)]
Интерфейс Windows 10

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

Вот честно -- я даже представить себе не мог насколько бесстыдно погано
всё сделано в этой версии Windows.

* значки закрытия/сворачивания окна где-то видны, а где-то показываются
  только если мышкой навести. Логика не прослеживается
* при нажатии на переходы в другие окна/меню, где-то открываются новые
  окна, а где-то всё открывается в текущем окне. Логика поведения не
  прослеживается
* никаких указателей о том что мы в подменю, в каком-то подразделе, да и
  каком именно
* где-то есть стрелочка назад из менюшек, а где-то нет. Логика не
  прослеживалась
* открываемые окна имеют даже разные шрифты и разного размера. Тыкаешься
  по менюшкам -- и бац у тебя окно с ощутимо меньшими буковками и
  приходится придвигаться чтобы разглядеть
* дойти до пункта с чувствительность мышки было примерно так: какие-то
  там настройки -> сопутствующие -> сопутствующие -> сопутствующие
* поиск по какому-нибудь запросу "ip адрес" ничего не выдаёт
* запуск "персонализации" или "параметров" иногда открывается в новом
  окне настройки, а иногда заменяет содержимое уже открытого окна
* два монитора? да пофиг что вы открываете все окна на одном -- новые
  окна Windows запросто будет открывать на втором мониторе (логика
  прослеживается -- сделать как можно более нелогично)
* самое забавное: настройка разделителя числа и чувствительности мышки
  открывается в классических Win95 окнах с точно такими же tab-ами
  которые я из детства помню. Ощущение (уверенность!) что эти меню с тех
  времён не менялись вообще
* где-то таблицы, где-то "плитки", где-то табы... это в порядке вещей
* если есть ниспадающие менюшки, то это кнопочка с очень маленьким
  значочком намекающим что на него можно нажать. Размер которого сильно
  отличается от окружающих кнопок и я бы даже не понял что это кнопка, а
  не разделитель элементов какой-то
* когда открывается окно настройки сетевого интерфейса, то в нём всего
  два варианта настройки: DHCP или "ручной" режим. Клёво, то есть
  варианта автонастройки IPv6 SLAAC не подразумевается? Если выбрать
  ручной режим, то даже названия полей не умещаются в окне и появляется
  горизонтальный scrollback. То есть, открывается мизерное окошко выбора
  DHCP/manual, и после первого же клика в этом же мизерном окошке
  появляется ряд полей, которые невозможно прочитать, ибо они никуда не
  влезают и нужно руками изменить размеры окна
* возможно не заметил, но я точно помню что глазами искал настройку MTU
  и не нашёл
* стойкое ощущение что вроде бы не было ни одного окна где не появлялись
  бы scrollbar-ы и постоянно всюду и везде не влезающие элементы
* у меня *все* ISP, кроме текущего, предоставляли только PPPoE доступ.
  Получается, с Win10 я бы не смог их использовать, воткнув их кабель в
  свой компьютер?
* видел окна в заголовке которых ничего не было, хотя там чётко можно
  1-2 слова прописать чётко говорящих что это за окно
* видел заголовки внутри окон где есть надписи, но они сделаны что-то
  типа оттенков какого-то коричневого по какому-то коричневому -- почти
  нечитаемо. Явно похоже никто из Microsoft не видел этих окон в живую
* а если там запущен последний Word, то я видел панель с иконками в
  самом заголовке окна, потом просто классическое меню (со своими
  шрифтами, иконками и цветовой схемой), потом ещё два каких-то
  toolbar-а тоже со своими стилями/иконками. Такое ощущение что все эти
  4-5 элементов управления делали совершенно разные группы людей, каждая
  из которых имеет своё видение интерфейса и между собой они никогда не
  связывались чтобы вообще просто посмотреть оно хоть как-то сочетается
  или нет
* говорят что в последних версиях Word даже самые самые старые и
  привычные комбинации клавиш меняются: теперь Ctrl-S не будет работать
  просто так, ибо он стал смотреть на язык и Ctrl-S и Ctrl-Ы это разные
  вещи. А ещё говорят что вообще эту горячую клавишу заменили на
  какое-то сочетание из трёх клавиш типа Ctrl-Shift-F2. Даже самый
  недружелюбный Unix-разработчик будет заботиться об обратной
  совместимости, о сохранении поведения или хотя бы preset-ах (legacy и
  new-wise-one), вместо того чтобы на пустом месте ломать, говорят, все
  горячие клавиши которые использовались не один десяток лет, без
  галочки "сделать как делали деды -- я опытный пользователь"
* в проводнике первым делом идут никому не нужные гвоздями прибитые
  ссылки, только после которых уже реальные диски компьютера. Нельзя ни
  местами поменять, ни удалить. Причём список приличных размеров я точно
  на практике оно может и не влезть на экран и придётся всегда scroll-ить
  до нужного элемента

В целом я просто не могу описать как меня это всё впечатлило. Когда я
говорил "масдай", "windows отстой" и прочее -- это ни в какое сравнение
с тем что я мог бы сказать сейчас. Win95 выглядит как самая консистентная,
продуманная и вылизанная, с точки зрения интерфейса и удобства, система.
Win10... мне до сих пор сложно поверить что ЭТО действительно не шутка,
что это действительно много много лет оттачиваемый и поставляемый
продукт. Он выглядит как уберсырое поделие сотни людей за один вечер,
которые ни разу не скооперировались и даже не смотрели что у них
выходит. Это АБСОЛЮТНО неюзабельная и интуитивно непонятная и нелогичная
вещь. Я ни за что не смогу поверить в то, что у Microsoft нет
огромнейшего отдела занимающегося изощрённым регрессом UI/UX. Это
невозможно сделать без мощнейших умов которые бы могли придумать такие
некачественные изощрения неюзабельности. Ну а больше всего поражает что
реально пипл это хавает. Unbelievable, impossible, incredible,
mind-blowing, life-changing -- но это факт что люди это используют.

Как же надо себя ненавидеть чтобы соглашаться на яростное самобичевание
такой системой? Современными версиями Word-а (да и наверное любого
компонента Office) -- активно борющихся с людьми которые профессионально
пытаются в нём делать документы? И он даже будет тормозить и не
справляться с объёмами которые могли быть сделаны на каком-нибудь Word 97
на 486-ом компьютере.

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

Могло бы быть простительно если бы такое увидеть в GNU/Linux -- там
зоопарк и анархия, каждый разработчик имеет своё мнение, своё видение и
принципы. Но тут то речь об одной из самых богатейших компаний в мире с
огромным штатом людей. Ведь даже в теории, как мне кажется, в принципе
можно было бы насчитать наверное несколько сотен окон настроек суммарно:
в чём проблема их все под одну гребёнку сделать, с одной парадигмой и
подходом? Нанять хотя бы одного тестировщика которые бы прокликивал их и
смотрел можно ли в принципе прочитать что там будет показываться? Ведь
ОС для пользователя не так много позволяет всего сделать. Она же даже со
временем только меньше делает функционала, типа выпиливания менеджера
печати.

4 years agoКонцертник Lindemann из Москвы
Sergey Matveev [Wed, 17 Mar 2021 13:30:25 +0000 (16:30 +0300)]
Концертник Lindemann из Москвы

https://darkside.ru/band/16580/n130022.jpg
https://darkside.ru/news/129970/
И концерт у них, видимо, был отличный (52ab03b596ffd133c7f5c9530606e864ea06d8a1)
и даже обложки с коммунистической тематикой клёвые.

4 years agoПознакомился с Capsicum, kqueue, libnv, privsep и privdrop
Sergey Matveev [Mon, 15 Mar 2021 19:31:02 +0000 (22:31 +0300)]
Познакомился с Capsicum, kqueue, libnv, privsep и privdrop

https://en.wikipedia.org/wiki/Capsicum_(Unix)
https://en.wikipedia.org/wiki/Kqueue
https://oshogbo.vexillium.org/blog/42/
https://utcc.utoronto.ca/~cks/space/blog/solaris/SolarisNvpairLibrary
Реализовал программу с честным (как мне кажется) полноценным privsep-ом,
когда она fork-ается, разные процессы занимаются разными вещами и имеют
доступ к разным ресурсам. Общаются между собой по Unix-сокету. Умеют
делать chroot, сбрасывать привилегии root-а после этого. Capsicum
включают, в том числе и устанавливая ограничения на каждый файловый
дескриптор выборочно. Закрывают всё лишнее и ненужное (stdin/out/err
всякие).

С Capsicum работать по сути тривиально, но архитектура программы
выстраивается вокруг использования файловых дескрипторов. Благо, в
отличии от уродского Linux, в FreeBSD даже процессы можно представлять в
виде файлов (pdfork()).

Так как системные вызовы типа waitpid() уже нельзя использовать в
Capsicum окружении, то нужно делать pdfork(), чтобы получить файл. В
man-е присутствует pdwait4(), однако его нет в исходном коде, кроме как
с пометками "ещё не реализовано". Подсмотрел как с этим живут
capsicum-изированные программы в самой ОС. Оказалось что просто
используют kqueue. Пришлось впервые и с ним поработать. Думал будет
сложно. Но... под рукой был ровно один только man kqueue и через
считанные минуты я полностью реализовал код и ожидания события когда в
Unix сокете что-то будет для чтения и когда процесс завершит свою
работу, оповещая об этом через process descriptor файл. Я очень очень
удивлён как просто работать с kqueue и как много он умеет. Можно даже
просто таймер поставить -- что я часто делал в Go языке в select-ах.

А по сокету мне нужно гонять разношёрстные данные. Точнее, не то чтобы
нужно, а хотелось бы. Как вариант можно открыть несколько сокетов и
ошибки и события отправлять по одним, а полезную нагрузку по другим (как
в FTP отдельные TCP соединения для данных и команд). Но попробовал libnv
библиотеку. У меня никогда не возникло бы мысли о том, что
разнотипизированные данные, где могут быть и вложенные словари и
массивы, могут хотя бы в теории быть просты в использовании в Си или Go.
libnv библиотека супер проста! Даже ошибку абсолютно штатно можно
проверять только во время сериализации. Даже в цикле накапливать и
доделывать (append) данные спокойно. Читать всё аналогично просто. Сам
код является схемой. Очень эффективна по использованию памяти: можно
даже брать значения из nv-пар и они сразу же будут очищать из
nv-структур, оставляя заботу о free() на самом пользователе. И добавлять
значения в nv-структуры можно тоже сразу же их очищая. Да я на Go такой
простой работы не встречал наверное нигде. Одно удовольствие работать с
данными в таком виде. Причём она и endianness блюдёт и можно спокойно
сериализовывать всё на диск. И куча типов данных: null, bool, number,
строки, списки вложенных nv структур, файловый дескриптор, бинарь,
массивы bool/number/строк/дескрипторов.

Но корни libnv растут ещё из Sun Microsystems и Solaris. В ZFS nvpairs
используются всюду и везде. libnv это функциональный аналог nvpairs. В
Solaris оно и вне ZFS встречается. Причём реализация Sun сериализует в
XDR формате всё. Который мне уже и так давно нравился, а недавно я
прочувствовал его крутость с 32-х битным выравниваем всего и вся -- это
существенно упрощает работу с ним на системах которым не нравится
невыровненный доступ к памяти. Ну и пускай что bool занимает всё равно
32-бита, но зато какой простой код получается для работы со всем этим!
Бегло поглядел на libnv и там уже не XDR, а что-то своё, без этой
alignment красоты. XDR я на практике ведь в NNCP использую. А nvpairs
сериализованные данные хранятся прямо на диске в ZFS структурах и без
всякой схемы можно выводить их содержимое.

Дальше всё аналогичное я хочу проделать в экосистеме GNU/Linux. Мне
кажется это будет настоящий ад. Seccomp вроде бы мне достаточен в его
strict режиме. Например после входа в Capsicum в FreeBSD я дополнительно
ограничиваю read/write/kqueue возможности на оставшиеся сокеты -- а в
seccomp strict режиме они сразу же будут только в read/write. Но вопросы
сериализации остаются и... как мне waitpid то там сделать? С ходу не
знаю, если в strict. Плюс kqueue там нет. Буду готовиться к страданиям.

4 years agoНе везёт с ИБП
Sergey Matveev [Mon, 15 Mar 2021 11:34:37 +0000 (14:34 +0300)]
Не везёт с ИБП

FSP ИБП недавно вышел из строя. Брал этой компании впервые. Прожил
недолго и отец подтвердил что что-то в электронике -- с аккумулятором
всё хорошо (купил и аккумулятор, чтобы убедиться в этом). Взял в НИКСе
ИБП компании "Импульс". Он в итоге ни на что не реагирует, совсем не
работает. Ездил обменивать на PowerCom, которые чаще всего я и имел дома.

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

4 years agoPython, Go, C++, C, AWK, Forth, Rust и подсчёт слов
Sergey Matveev [Mon, 15 Mar 2021 11:28:21 +0000 (14:28 +0300)]
Python, Go, C++, C, AWK, Forth, Rust и подсчёт слов

https://benhoyt.com/writings/count-words/
Позлорадствую, но в простой задаче Rust почему то из коробки обосрался
при сравнении с Go. Его оптимизированные версии чуть быстрее, но даже и
Go не сильно медленнее Си. Вот это для меня немного удивительно.

4 years agoawk в zsh
Sergey Matveev [Sun, 14 Mar 2021 18:15:01 +0000 (21:15 +0300)]
awk в zsh

Недавно писал что Perl очень удобные опции умеет для прекрасной замены
awk самого частого используемого функционала:
9ac0b9d604908f72855fe120986a102220dd369f. А ведь разбивать строчку по
whitespace-ам в массив можно и в zsh:

    % foo="foo           bar   baz"
    % print ${${=foo}[2]}
    bar

а можно и slice взять:

    % print -l ${${=foo}[1,3]}
    foo
    bar
    baz

А можно разбить не по словам, а по разделителю:

    % print -l ${(s.:.)PATH}
    /home/stargrave/work/gopath/bin
    /home/stargrave/work/go/bin
    /home/stargrave/work/goredo
    [...]

4 years agoОткрытки с ASCII art-ом на 8 Марта
Sergey Matveev [Sun, 14 Mar 2021 06:40:21 +0000 (09:40 +0300)]
Открытки с ASCII art-ом на 8 Марта

https://habr.com/ru/post/546882/
Всего три штучки, но мне всё равно такое нравится. Но оказывается даже в
нашей стране находятся мудаки, считающие что нельзя замечать и говорить
женщинам про красоту, мол это типа непрофессионально. Понравился ответ
автора:

    Возможно вы в открытках пишете про уровень английского B2 и
    сертификаты по Cisco, чтож, тут остается только посочувствовать
    вашим коллегам

4 years agoЗаказал воду на свидании? Давай, до свидания
Sergey Matveev [Sun, 14 Mar 2021 05:28:39 +0000 (08:28 +0300)]
Заказал воду на свидании? Давай, до свидания

https://lenta.ru/news/2021/03/14/water/
Ещё один способ обосраться перед девушкой, заказав *себе* простую воду.
Я вот ничего алкогольного не пью принципиально, поэтому шампанское, пиво
и всякие коктейли с водкой отпадают. Не люблю вкус кофе -- через силу
могу его выпить, но самостоятельно себе никогда не закажу. А чай я и
дома могу попить. Я себе заказывал или всякие морсы, соки, компоты и
что-то подобное. Квас люблю. Но и в воде проблем не вижу.

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

4 years agoThe Hitchhiker’s Guide to Online Anonymity
Sergey Matveev [Sun, 14 Mar 2021 05:23:40 +0000 (08:23 +0300)]
The Hitchhiker’s Guide to Online Anonymity

https://anonymousplanet.org/guide.html
Большая подборка всякого связанного с обеспечением анонимности в
компьютерах. Такой полной и актуальной, со всякими заметками что Apple
устройства обожают всё равно широковещательно о себе напоминать даже в
выключенном состоянии, не встречал. Хотя уровень там не поднимается выше
рекомендаций использования Tor. Пользу вижу в оглашении всевозможных
каналов утечки данных.

4 years agoLoom сравнение EGA и VGA графики
Sergey Matveev [Sat, 13 Mar 2021 16:48:56 +0000 (19:48 +0300)]
Loom сравнение EGA и VGA графики

http://www.superrune.com/tutorials/loom_ega.php
https://news.ycombinator.com/item?id=26445522
Loom я прошёл всего несколько лет назад
(31e6bee7d9b0f7b5a1c7ad958e37d1eb1a61509c) -- поэтому ностальгии у меня
быть не может. Но игра запомнилась -- один из лучших квестов в какие я
играл. Однозначно в линейке "the best". Отличительная особенность (для
меня) -- она довольно короткая, возможно самая короткая из всех квестов
такого рода что я играл.

Но EGA игры и графику я застал -- первый компьютер был с EGA. И на нём
почти ничего не делалось, кроме как играли в игры с 5.25" дискет.

4 years agoПрочитал "Роза и червь"
Sergey Matveev [Sat, 13 Mar 2021 08:13:47 +0000 (11:13 +0300)]
Прочитал "Роза и червь"

https://fantlab.ru/work504376
Обожаю такие книги и эта очень понравилась. Всякие техноштучки-дрючки,
деление людей нульдевов, милитантов, бланков и гильдов. Борьба с
пришельцами, космиков с наземниками, планет с астероидами. Эволюция до
состояний муравьёв. Уничтожение Новой Москвы, жизнь в Руссии и куча
всякого подобного. Ближе всего, мне показалось, книга к "Схизматрице"
Брюса Стерлинга.

4 years agoМиллионы тонн ядерных отходов
Sergey Matveev [Fri, 12 Mar 2021 06:21:36 +0000 (09:21 +0300)]
Миллионы тонн ядерных отходов

https://naked-science.ru/article/nakedscience/milliony-tonn-yadernyh-othodov-krupnejshij-mif-atomnoj-energetiki
Интересная легкочитаемая статья про невероятное количество ужасно
опасных отходов от АЭС. Старые добрые байки от Greenpeace и их умение
выделять только негативные черты без сравнения с альтернативами.

4 years agoOpenBSD недостатки безопасности. Так ли она хороша?
Sergey Matveev [Fri, 12 Mar 2021 05:42:49 +0000 (08:42 +0300)]
OpenBSD недостатки безопасности. Так ли она хороша?

https://madaidans-insecurities.github.io/openbsd.html
https://allthatiswrong.wordpress.com/2010/01/20/the-insecurity-of-openbsd/
https://grsecurity.net/~spender/exploits/exp_moosecox.c
https://networkfilter.blogspot.com/2014/12/security-openbsd-vs-freebsd.html
OpenBSD нацелена на "low level exploit mitigation" в первую очередь. А
сегодня меня осенило что ведь в ней нет такой штуки как Mandatory Access
Control в принципе, ни в каком виде. В FreeBSD то уже давно MAC:
https://docs.freebsd.org/en_US.ISO8859-1/books/handbook/mac.html

Согласен что оно излишне, не нужно и бесполезно если софт написан с
privsep-in-mind и, более того, использует всякие pledge/unveil и прочее.
Но а что делать с софтом который так не написан? Насколько понимаю,
предложение OpenBSD это переписать его, мол исправить. Но нет, не
соглашусь что это годное решение. Я тоже могу доверять и считать что у
меня в сети нет софта который бы что-то по сети на определённым адресам
ничего бы не рассылал, но это не означает что лучше "перебздеть" и всё
равно добавить правило firewall-а. Вот и с MAC-ом аналогично: доверие
доверием, но лучше перестраховаться. pledge/unveil хороши и полезны, но
это не замена MAC. Это точно такой же аргумент как "я проверил этот Си
код и он не имеет проблем и дыр, поэтому и exploit mitigation-ы не нужны".

Само собой MAC (как и SELinux/AppArmor) это штука не для обычного
использования компьютера пользователем. И это правда что их 99.99%
пользователей сразу же отключают. Но когда готовится готовое решение,
заточенное под чёткую задачу, то MAC актуален.

HardenedBSD "has many mitigations OpenBSD does not such as CFI,
SafeStack, SEGVGUARD, a proper W^X implementation"
(5916b1b5c4827dccf0a7ced477a8e7d6de45908f). Это в довесок к тому, что
HardenedBSD имеет и MAC, так как это же FreeBSD. Ну и даже просто такие
sandboxing технологии типа Jail-ов отсутствуют в OpenBSD. Короче FreeBSD
как всегда рулит!

4 years agonetaddr.IP
Sergey Matveev [Thu, 11 Mar 2021 09:17:15 +0000 (12:17 +0300)]
netaddr.IP

https://tailscale.com/blog/netaddr-new-ip-type-for-go/
Интересная статья про то, как можно компактно, быстро и эффективно
представлять и работать с IP адресами в Go, вместо родного net.IP,
требующего много аллокаций, не компактного и не везде удобного
(IPv4 vs IPv6).

И меня ещё приятно удивило то, что статья написана Брэдом Фитцпатриком
-- представления не требующий. Смотрю что ещё в блоге этой компании есть
и вижу Avery Pennarun -- того самого, кто сделал apenwarr/redo. Мир тесен!

4 years agoГурманизируюсь: тар-тар
Sergey Matveev [Thu, 11 Mar 2021 09:05:37 +0000 (12:05 +0300)]
Гурманизируюсь: тар-тар

В прошлом году отметил BBQ соус (d3ff0498cb2ba61e68efa34b9040d8c5f9ff635a),
с которым любое мясо будет вкусно. А сегодня заметил что уже в который
раз беру еду в столовой только потому что там соус тар-тар. Мясо или рыба:
без разницы уже.

4 years agoIRC спустя четыре века
Sergey Matveev [Thu, 11 Mar 2021 08:16:59 +0000 (11:16 +0300)]
IRC спустя четыре века

Дочитываю тут одну книгу, где действие происходит в 2300-х годах, где
всякие компьютерные сети на всю Солнечную систему. И там до сих пор
применяется irc:// протокол. И сейчас для меня он действительно является
всё же самым практичным и приятным для использования. У всех IM-ов куча
за и против, но IRC как-то всё равно перевешивает всех.

4 years agoДень перебоев
Sergey Matveev [Wed, 10 Mar 2021 21:39:54 +0000 (00:39 +0300)]
День перебоев

За один день:
* у меня вышел из строя ИБП (d730b7956cc04d2b1b6d6aaff1459579eb78606d)
* динамик впервые начал не просто шуметь/дребезжать
  (c4eb9b487099fb52353ddbff000ccdc348a52b8c), а вообще полностью
  отключаться. Хотя мне это даже нравится -- ноутбук становится таким
  тихим, а от динамика всё равно толку уже нет
* сгорела часть ДЦ OVHCloud: https://www.opennet.ru/opennews/art.shtml?num=54736
* в новостях пишут что Twitter почти отключён в РФ (ничего из него не
  читаю, ибо ни RSS/Atom нет, ни без JS он ничего не покажет)
* сам видел что зарубежные сети вовсю были с трудом доступны. Пишут что
  Ростелеком напортачил с маршрутизацией. Причём дома у меня то как раз
  всё хорошо работало (судя по мониторингу), а вот на работе РТ канал

4 years agoСтал мало в блоге писать о релизах своего софта. NNCP 6.2.0
Sergey Matveev [Wed, 10 Mar 2021 21:27:59 +0000 (00:27 +0300)]
Стал мало в блоге писать о релизах своего софта. NNCP 6.2.0

http://lists.cypherpunks.ru/archive/nncp-devel/2103/0195.html
Заметил что прежде я даже минорнейшие версии PyGOST/GoGOST упоминал. А
сейчас даже релизы NNCP пропускаю от упоминания, ибо ничего интересного,
везде сплошная банальность и скукота. Ну или моё отношение к проектам и
блогу изменилось.

Хотя в NNCP и прилично правок было сделано -- очередной рефакторинг
логирования. В этом проекте ничто так часто не переписывалось, как
эта часть проекта. То structured data поля из RFC syslog. То переход на
recutils. То я передавал словарём, то списком. То я на основе сырых
данных структурированных сообщений формировал человекочитаемую строку
лога, то теперь сразу же на месте её формирую и в лог же и записываю.

А вот что меня приятно удивляет, так это то, что само ядро NNCP -- его
базовые и шифрованные пакеты: не меняются годами. Были правки, но очень
простые и несущественные. И при этом ядро NNCP (toss, tx) покрыто
тестами с самого начала. И ни разу за всю историю проекта у меня (и у
пользователей которые куда активнее и брутальнее меня его используют,
перегоняя на порядки бОльшие объёмы данных) ничего не пропадало и не
корёжилось в данных. Никогда ничего не удалялось пока точно то или иное
действие не доделано до конца с гарантиями всяких fsync-ов. Я считаю что
может случаться всё что угодно, но лишь бы не потери данных и лишь бы не
удаление того, в чём ещё нет точной уверенности (например оповещение
противоположной стороны по online протоколу о том что файл получен) -- и
пока в этом не облажался.

4 years agoWikipedia и значимость правок
Sergey Matveev [Wed, 10 Mar 2021 21:18:11 +0000 (00:18 +0300)]
Wikipedia и значимость правок

https://en.wikipedia.org/wiki/List_of_mailing_list_software
Когда я перешёл на mlmmj, то в Wikipedia в список maillist софта внёс
ссылку на mlmmj. А то ведь не порядок -- совсем он не упоминается там.
Сейчас вот увидел что правку отменили, мол это не notable.

В Wikipedia я вносил правки наверное раз пять. И насколько помню, все
эти правки всегда отменялись. Я совершенно не понимаю какая информация
может туда (в Wikipedia) попадать, а какая нет. Я совершенно не понимаю
этих оценок notability. Автор хочет сказать что mlmmj имеет меньший вес
чем GroupServer или Organic Groups Mailing List? Про них я вообще вроде
никогда не слышал и не видел в природе. mlmmj я прям осознанно вспоминаю
что прилично где используется (судя по рассылкам на которые я подписан),
в отличии от многих других. Или моё множество мне известных рассылок (а
это сотни!) является non-notable частью всех остальных, которые рулятся
на чём угодно, но только не на mlmmj, Sympa и Mailman?

Просто я вроде видел сотни статей на Wikipedia в которых буквально один
маленький абзац, занимающий на экране несколько строк. Это notable? Я
видел сотни статей там с ссылками на внешние ресурсы/проекты. Совершенно
не понимаю я оценок, даже отдалённо. Собственно и 10+ лет назад я не
понимал и поэтому даже не пытался ничего править -- но раз в несколько
лет всё же что-нибудь да вношу (ну и это отменяют). Причём мои правки
исключительно на технические темы -- никакой политики или истории,
которые всюду и везде спорны. Статьи касающиеся софта -- все удалялись,
хотя я даже примерно не понимаю чем они отличаются от любой из тысяч
статей рассказывающих про то или иное свободное ПО.

4 years agoСнова про разбиение диска в GNU/Linux
Sergey Matveev [Wed, 10 Mar 2021 09:34:54 +0000 (12:34 +0300)]
Снова про разбиение диска в GNU/Linux

https://openzfs.github.io/openzfs-docs/Getting%20Started/Ubuntu/Ubuntu%2018.04%20Root%20on%20ZFS.html
Сколько нужно разрабов чтобы разбить диск:
2e2ddd2329bb3abaa7c4dd842dd6da7a57475298
Но, видимо это всё архаичная фигня была, ибо в документации про "ZFS как
корень для Ubuntu" вообще говорят про какую-то мне прежде невиданную
sgdisk утилиту для разбиения диска.

4 years agoИБП отказал
Sergey Matveev [Wed, 10 Mar 2021 08:53:08 +0000 (11:53 +0300)]
ИБП отказал

Просыпаюсь ночью от писка. ИБПшник циклически пытается включиться, на
секунду запускает серверы, дальше вырубается. В общем, отказал. Хотя
даже год не отслужил ещё (029660df1133b0c78da48bc2ceb4232542fa1931). Но
прежде у меня были только Powerman (как-то так, точно не помню), а в
этот раз какой-то FXP.

4 years agoСимпатичны unveil(2) и pledge(2)
Sergey Matveev [Tue, 9 Mar 2021 19:15:56 +0000 (22:15 +0300)]
Симпатичны unveil(2) и pledge(2)

https://man.openbsd.org/unveil
https://man.openbsd.org/pledge.2
https://isopenbsdsecu.re/
Немного познакомился и почитал про всякие seccomp, Capsicum и pledge
штуки, даже что-то начал писать с их использованием. pledge пробовать не
буду, ибо нет под рукой OpenBSD, но выглядит он супер удобно и просто
устроенным! К seccomp даже страшно подходить. Capsicum довольно
специфичен (по сути только про файловые дескрипторы говорит) и не всё в
нём тривиально сделать. А когда гляжу в доки и примеры по pledge, то
слюни текут. Если capsicum-изация софта в FreeBSD идёт единичными
экземплярами софта в базовой поставке ОС, то использование pledge в
OpenBSD это прям десятки программ в день можно переводить. Конечно там
гранулярность правил не такая как в seccomp/Capsicum, но лучше чем
ничего и как же просто!

Теперь уже прям чувствую что понимаю как заморочена OpenBSD в плане
безопасности. Не факт что она там лучше, ибо возможно баги так себе
фиксят, и софт не лучший юзается, вообще древний GCC без всяких
security-aware фич, да и не все известные mitigation-ы внедрены -- но
идеи и течение мыслей в проекте и у Тео идут в нужном русле, сильно
опережая остальных во времени зачастую.

4 years agoА без девок было куда спокойнее
Sergey Matveev [Tue, 9 Mar 2021 18:43:37 +0000 (21:43 +0300)]
А без девок было куда спокойнее

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

А сейчас я почаще стал выбираться на работу, вижу кучу женщин и в
транспорте и на работе и как же это сбивает с рабочего настроя!

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

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

4 years agoarc4random
Sergey Matveev [Tue, 9 Mar 2021 18:07:50 +0000 (21:07 +0300)]
arc4random

http://www.openbsd.org/papers/hackfest2014-arc4random/
Давно слышал про rand() и random() и про то, что они не безопасны. В BSD
системах есть arc4random*(), которые изобрели в OpenBSD. Я сторонился
этого вызова, ибо это же RC4. Но, оказалось, что RC4 в нормальных ОС
давно заменён на что-то более серьёзное, типа ChaCha20.

Reseed происходит на регулярной основе, но не при каждом вызове. А
ChaCha20 я доверяю на 100% что она хороший выхлоп создаёт, без яростного
потребления энтропии. В итоге мне всё больше нравится идея использования
этой функции вместо чтения /dev/urandom, с которым ещё и куча кода
нужна, ведь это же работа с файлами, требующая ещё и соответствующих прав.
Плюс скорость ChaCha20 такая, что её и не для криптографических задач
вполне можно использовать.

Не даром в man-ах советуют её использовать. А в OpenBSD, пишут, что она
де-факто везде и всюду и применяется. И надо читать на ARCFOUR, а
"A Replacement Call for Random".

Ах да, конечно же этот вызов, судя по всяким презентациям, есть везде,
кроме, конечно же, glibc.

4 years agoThread-safety and POSIX.1
Sergey Matveev [Tue, 9 Mar 2021 10:08:28 +0000 (13:08 +0300)]
Thread-safety and POSIX.1

http://www.unix.org/whitepapers/reentrant.html
Хорошая подборка предостережений при использовании POSIX.1 функций,
многие из которых не reentrant, не thread-safe для использования.

4 years agoНедочитал "Аптекаря" Владимира Орлова
Sergey Matveev [Tue, 9 Mar 2021 10:02:29 +0000 (13:02 +0300)]
Недочитал "Аптекаря" Владимира Орлова

https://www.e-reading.life/book.php?book=42959
Осилил половину, но бросил, когда снова как будто всё пошло по кругу с
этой джинихой, хотя вот вот уже ведь и развязке бы быть. Чересчур
растянуто для меня, и понял что не настолько оно мне нравится, чтобы
продолжать чтение.

4 years agoCryptology ePrint Archive сайт без JavaScript
Sergey Matveev [Tue, 9 Mar 2021 09:59:31 +0000 (12:59 +0300)]
Cryptology ePrint Archive сайт без JavaScript

https://www.iacr.org/eprint/
Если зайти на этот сайт без включённого JS, то в заголовке будет:

    What a lovely hat
    Is it made out of tin foil?

с ссылкой на https://www.iacr.org/tinfoil.html

4 years agoСнова сходил на концерт Пикника
Sergey Matveev [Mon, 8 Mar 2021 17:56:48 +0000 (20:56 +0300)]
Снова сходил на концерт Пикника

Не поклонник, да и Мельница (c2a00c1252c1c4a0764afbb4048c540061f02a42)
мне точно явно больше по душе, но не сидеть же дома, когда рядом всё
равно хорошая музыка играет в ДК.

4 years agoБукетомешалка
Sergey Matveev [Mon, 8 Mar 2021 17:54:57 +0000 (20:54 +0300)]
Букетомешалка

https://www.youtube.com/watch?v=3Zgq3R-jkRU
А если кто не знает, то это отсылка/кавер на легендарнейшую
"Бетономешалку" группы "Кувалда": https://www.youtube.com/watch?v=7J65pB8f9Qc

4 years agogit gc --aggressive
Sergey Matveev [Sun, 7 Mar 2021 17:02:46 +0000 (20:02 +0300)]
git gc --aggressive

https://gcc.gnu.org/legacy-ml/gcc/2007-12/msg00165.html
Я читал что Торвальдс не советовал никогда использовать gc --aggressive,
вместо этого советуя git repack -a -d --depth=X --window=Y. Он же где-то
говорил и про то, что можно выставить очень большие depth/window, чтобы
ещё лучше всё пожать. Я с того момента и использовал repack с большими
значениями. А сегодня обнаружил что gc --aggressive, мягко говоря, на
несколько десятков процентов лучше сжимает репозиторий, ценой CPU. Для
архивного хранения (где не важно время доступа к конкретным объектам) я
хотел бы максимально эффективно сжимать, поэтому repack больше не буду
использовать.

4 years agoSwap в FreeBSD fstab
Sergey Matveev [Sun, 7 Mar 2021 16:48:07 +0000 (19:48 +0300)]
Swap в FreeBSD fstab

В bf6b90ab6bb513ba86210b5527f4bd10191da228 писал что swap можно сделать
и на ZFS. Это очевидно всё. Уже не помню, но есть и какая-то метка
которая позволяет пометить ZVOL как swap устройство, которое
автоматически может быть использовано FreeBSD. Вот только вроде при этом
нельзя будет намекнуть что нужно использовать .eli устройство с
одноразовым ключом шифрования.

А сейчас узнал (кроме .eli) и другой плюс зачем swap стоит прописывать в
fstab: swapon/swapoff команды имеют "-a" опцию, которая как-раз
позволяет все swap устройства подключать/отключать перечисленные в fstab.

4 years agoВ Швейцарии запрет на скрытие лица
Sergey Matveev [Sun, 7 Mar 2021 16:40:04 +0000 (19:40 +0300)]
В Швейцарии запрет на скрытие лица

https://lenta.ru/news/2021/03/07/referendum/
Вот те на! А у меня, на фоне камер упирающихся в лицо в метро Москвы,
наоборот посещают мысли о том чтобы носить нечто прикрывающее и
закрывающее лицо. Вот что не новость, но в Европе просто какой-то лютый
ад в вопросах приватности и свободы людей или даже свободы слова --
поэтому и понятно почему они громче всех орут на все эти темы.

4 years agoglibc функции и crap
Sergey Matveev [Sun, 7 Mar 2021 09:29:23 +0000 (12:29 +0300)]
glibc функции и crap

В продолжение d9a8dfe35de9fbd81cecefffda022ee42e5e7ce9 ещё вспомнил
эпопею с темой про strcat/strcpy. Для них есть strncat/strncpy варианты
(хотя, говорят они никогда не предназначались для безопасной замены
str*). Но которыми сложно пользоваться правильно. Поэтому OpenBSD
изобрела strlcat/strlcpy версии: https://www.sudo.ws/todd/papers/strlcpy.html
которые и удобны и просты и безопасны и быстры.

Конечно же, glibc отверг предложение включить эти функи, ибо это же "BSD crap":
https://sourceware.org/legacy-ml/libc-alpha/2000-08/msg00053.html
Мол нужно всегда знать длину ваших строк:
https://stackoverflow.com/questions/2114896/why-are-strlcpy-and-strlcat-considered-insecure
С одной стороны, конечно, верно. С другой по ссылке верно заметили что
читаемость strl* версий куда лучше. Так можно и про все str* функи было
сказать что это crap и достаточно циклов с memset-ами всяких.

Вот и выходит что в glibc нет ни _s функций, ни strl* и наверное ещё
тьмищи других, ведь опыта то у меня с гулькин нос ещё. Так как всё равно
BSD функи используются активно даже в GNU проектах, то сделали вот такой
вот проект: https://libbsd.freedesktop.org/wiki/
где заприметил всякие {le,be}*{enc,dec} функции, которые я уже как-то
использовал и споткнулся об их отсутствии в glibc. А выбрал я их, читая
man, как самые удобные для использования. А раз так, то конечно же фиг
будут в glibc. А strl* кстати есть в musl -- молодцы!

4 years agoСписки запрещённых Си функций в git и Microsoft
Sergey Matveev [Sun, 7 Mar 2021 08:54:20 +0000 (11:54 +0300)]
Списки запрещённых Си функций в git и Microsoft

https://news.ycombinator.com/item?id=20792938
https://news.ycombinator.com/item?id=26353025
Вот чего мне не хватало (да и не хватает до сих пор), так это
современного источника мудрости по Си. Открываешь старые книжки по Си и
видишь что там явно плохие практики, очень опасные. Про всякие штуки
типа -ffunction-sections (очень помогающие) или про -fstack-protector-all
узнаю чисто случайно. Хотя... может я узнаю про них когда приходит время?

И вот я мельком где-то просто видел и слышал что всякие strcpy и strcat
являются опасными и не рекомендованными. Но я на Си и не писал прежде.
Но а где мне найти вообще подборку хороших практик? Всё что я видел --
сильно разрозненные и не пересекающиеся множества знаний.

И вот две ссылки на забаненные функции. И мне они очень понравились тем,
что я по сути не узнал ничего нового. Своей головой, читая описания этих
функций в man-ах, понимал что или проблемы с thread-safety/reentrancy
или с возможностями выхода за границы. Получается что яростно
неправильных фунок не так много и я самостоятельно понимал их опасность.
Настроение поднимается.

А ещё Microsoft удивляет. Недавно вот выяснилось что всякие защиты в
софте (5916b1b5c4827dccf0a7ced477a8e7d6de45908f) они применяют очень
давно и вроде как довольно активно, поболее чем FreeBSD. Хотя наверное
тут и нечему удивляться: ведь у них на порядки больше пользователей. А
сейчас приятно удивляет тем, что Microsoft основной потребитель функций
из K-appendix-а C11 (12f6e5616982751e2f14a8c01cd503cb55f238ed): функций
с _s суффиксом, который типа secure. Хотя они же их и разрабатывают. BSD
системы их тоже поддерживают, а в glibc вообще под чистую отсутствует.

4 years agoИспользую DKIM и DMARC на своих доменах
Sergey Matveev [Sun, 7 Mar 2021 08:46:13 +0000 (11:46 +0300)]
Использую DKIM и DMARC на своих доменах

DKIM я не поднимал у себя принципиально: в любом случае считаю не
заслуживающей внимания технологией. Есть OpenPGP. А DKIM... ни рыба, ни
мясо, ни о чём. И меня бесит что вроде как всякие крупные email
провайдеры хотят чтобы он был -- OpenPGP бы требовали лучше с таким же
упорством.

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

Плюс DKIM может совсем не дружить с списками рассылки, которые и тело и
заголовки (в том числе Subject) могут легко поменять:
https://wiki.list.org/DEV/DKIM
Получается что чуть ли не единственный достойный способ работать с
DKIM-подписанными сообщениями в рассылку -- удалять DKIM подпись нафиг.

Но вчитавшись получше в DKIM, всё же вроде вижу что мой Mlmmj не должен
ничего ломать. Subject не меняет, тело не правит -- только добавляет
дополнительные заголовки. Ну и для своих доменов (@stargrave.org,
@cypherpunks.ru) решил DKIM добавить -- не так много геморроя, не надо
заниматься ротацией и обновлением ключа или возиться с PKI. Хотя всё
равно считаю это бесполезной тратой ресурсов. Но да ладно: сделал и забыл.

Ну и DMARC для галочки добавил, раз уж по факту использую и SPF и DKIM.

4 years agoОткрытие концертного сезона! Сходил на Мельницу
Sergey Matveev [Thu, 4 Mar 2021 19:42:36 +0000 (22:42 +0300)]
Открытие концертного сезона! Сходил на Мельницу

https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%BB%D1%8C%D0%BD%D0%B8%D1%86%D0%B0_(%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B0)
Которая приезжала к нам в город. Слушал её впервые. Оказалось что рока
там довольно много -- я думал что там больше фолка всякого. Отличный
барабанщик ещё у них с клёвым drum solo! Очень доволен и пару их дисков
приобрёл.

4 years agoASLR, PIE, RELRO, BIND_NOW, W^X и подобное
Sergey Matveev [Thu, 4 Mar 2021 11:30:57 +0000 (14:30 +0300)]
ASLR, PIE, RELRO, BIND_NOW, W^X и подобное

https://hardenedbsd.org/content/easy-feature-comparison
https://wiki.gentoo.org/wiki/Hardened/Toolchain
https://wiki.ubuntu.com/Security/Features
https://wiki.freebsd.org/Hardening
Ничего из этого нет на FreeBSD. Точнее частично ASLR есть в develop
ветках FreeBSD. В HardenedBSD довольно давно. В OpenBSD вообще раньше
всех ОС появилось почти 20 лет назад.

Только с началом программирования на Си начал хоть как-то понимать про
что это всё и чем оно важно. Точнее под вопросом важен ли ASLR: полно
людей считает что это security by obscurity, значит нафиг нужно, не
серьёзно. Про ASLR не много чего могу сказать, но то что SbO это не
серьёзно -- солидарен. Меня не продолжают удивлять рекомендации менять
порты SSH-а или имена учётных записей чтобы злоумышленник имел чуть чуть
более высокий порог входа. Я не считаю этот геморрой стоящим этого. В
чём проблема с SSH? Если используется аутентификация по ключам, то пусть
хоть об-brute-force-ятся. А если где-то применяются пароли -- то я
считаю вообще не стоит задумываться о безопасности с таким подходом: тут
ничего не поможет.

На деле попробовал использовать SSP:
https://wiki.osdev.org/Stack_Smashing_Protector
включаемый -fstack-protector опцией. В FreeBSD оказывается можно
глобально для портов включить эту опцию. Overhead, говорят, очень
незначительный. А я видел что даже не злонамеренный код может
набедокурить -- и раздражать то будет неясность его поведения и что
вообще происходит.

ASLR+PIE вроде в FreeBSD всё же собираются внедрить. Удивляет что
Windows уже давно в курсе про многие подобные технологии и использует их.

Всякие RELRO и BIND_NOW вроде не касаются статически собранного софта.
Ещё один довод что нафиг динамическую линковку, ибо и PIE и BIND_NOW
имеют очень нехилый overhead, как пишут.
В 5fca611e0f3c79a2985ba04708ecedf960ed7c03 писал что меня удивляло что
на простой FreeBSD всё визуально как будто значительно быстрее стало
работать. Возможно связано как-раз вот со всем этим.

https://hardenedbsd.org/article/shawn-webb/2021-02-28/hardenedbsd-february-2021-status-report
https://cgit.freebsd.org/src/commit/?id=2e1c94aa1fd582fb8ae0522f0827be719ff5fb67
https://www.freebsd.org/news/status/report-2019-07-2019-09/#Kernel-Mapping-Protections
пишут что и работа по W^X ведётся и мержится.

4 years agoПерешёл на UCSPI-TCP вместо inetd
Sergey Matveev [Thu, 4 Mar 2021 09:06:58 +0000 (12:06 +0300)]
Перешёл на UCSPI-TCP вместо inetd

http://cr.yp.to/ucspi-tcp.html
Очередная итерация перехода на DJB-way софт! Как всегда, как и прежде, я
уже видел UCSPI-TCP и смотрел на него, но он казался не очень понятным
зачем и чем лучше inetd. Так со всем софтом DJB, даже забавно.

Сегодня почему-то осознал. Хотя началось всё с того, что мне не
понравился тот факт, что в inetd нельзя задавать на каком адресе он
должен слушать. Можно только глобально всему демону это сказать. А
желания поднимать несколько inetd и менять rc.d скрипты у меня нет.

Каждая служба из inetd заменяется на tcpserver, который слушает по TCP и
запускает указанную команду при соединении. UID/GID-ы выставлять умеет.
Ограничивать кол-во соединений умеет. Слушать на заданных адресах умеет.
Само собой запускается под daemontools. Ну и конечно же нужно патчить
его софт чтобы получить IPv6.

Что мне это дало, кроме возможности запускать нужные службы на нужных
адресах? Независимость каждой службы от другой и возможность их
перезапускать/менять не меняя централизованный конфиг и дёргая
единственного демона. Это конечно не полная замена inetd -- на каждом
порту/адресе слушает отдельная программа, тогда как inetd слушает один
за всех. Но так как демонов не много на практике, то это уж точно не
будет где либо проблемой.

Как же мне нравятся подходы DJB!

4 years agoTelegram Desktop и Fedora/Gentoo
Sergey Matveev [Thu, 4 Mar 2021 06:15:58 +0000 (09:15 +0300)]
Telegram Desktop и Fedora/Gentoo

https://www.opennet.ru/opennews/art.shtml?num=54681
https://lists.rpmfusion.org/archives/list/rpmfusion-developers@lists.rpmfusion.org/thread/5A7MRE3BG66PQXSP263FUZ7XS5PMDNUV/
https://archives.gentoo.org/gentoo-dev/message/d20d6ec5a06582782fcf17291a40d66f
Я ради интереса прочитал переписку maintainer-ов. И вот... вообще
абсолютно *ни одного* не нормального сообщения от ilya-fedin не увидел!
А вот заявы maintainer-ов просто отвратительны! Начиная от того что
предоставляют screenshot-ы с диким разрешением, заканчивая тем, что
вообще ни о какой конкретике не пишут, не читают доки и вообще всё
выглядит только так, что "я тут что-то нажал, оно не заработало, даже
думать не хочу в чём дело, слышь, автор, какую каппу мне нажать?". Илья,
более того, сам же делает и ревью того как собирается это ПО, хотя и не
обязян этого делать -- видно что он реально хочет помочь советом.

В общем, я увидел только отвратительную работу и общение maintainer-ов и
вообще не могу придраться к ilya-fedin. С фига ли он должен разбираться
и помогать с проблемами *дистрибутива*. Да, сборка делается в виде
статической библиотеки -- много раз это повторили. Почему так? Ну вот
так. Почему это кто-то должен бросаться менять или чинить (хотя я считаю
"поломанным" как-раз наоборот возможность только динамической библиотеки)?
Да, стал нужен более новый Qt. Никто никому не обязан поддерживать
старые версии. И вообще в каком месте нашли токсичность у ilya-fedin?
Вот у некоторых maintainer-ов она явно есть ещё какая.