commit -m "better"
https://www.phoronix.com/news/Linux-6.9-Bcachefs-Attempt Классная заруба между Линусом и автором #bcachefs #Kent. TL;DR - Кент хочет выделить кусок bcachefs в библиотеку, чтобы ей могли воспользоваться разработчики #XFS Линус тут встает в позицию "пока…
#bcachefs
#Kent выложил код, который умеет читать поврежденные им ранее файловые системы - https://www.opennet.ru/opennews/art.shtml?num=60946
"New repair/construction code is in the final stages, should be ready in
about a week. Anyone that lost btree interior nodes (or a variety of
other damage) as a result of the splitbrain bug will be able to repair
then"
Знаете, вот, на самом деле, когда разработчик FS начинает употреблять что-то типа "split brain bug", то я, например, очень радуюсь, и говорю, что, вот, кто-то, наконец-то, понял, как правильно пилить файловую систему.
Потому что пилить ее надо, как распределенный сервис над блочными устройствами, когда у тебя эти блочные устройства могут в произвольный момент выбить из под ноги, а потом вернуть назад. И что писать можно, когда у тебя есть кворум работающих устройств, и вот это вот все.
До этого, КМК, FS писали в парадигме того, что нижележещие устройства или надежны, или мы перемонтируем всю FS в read only, если "снизу" вернули ошибку.
#Kent выложил код, который умеет читать поврежденные им ранее файловые системы - https://www.opennet.ru/opennews/art.shtml?num=60946
"New repair/construction code is in the final stages, should be ready in
about a week. Anyone that lost btree interior nodes (or a variety of
other damage) as a result of the splitbrain bug will be able to repair
then"
Знаете, вот, на самом деле, когда разработчик FS начинает употреблять что-то типа "split brain bug", то я, например, очень радуюсь, и говорю, что, вот, кто-то, наконец-то, понял, как правильно пилить файловую систему.
Потому что пилить ее надо, как распределенный сервис над блочными устройствами, когда у тебя эти блочные устройства могут в произвольный момент выбить из под ноги, а потом вернуть назад. И что писать можно, когда у тебя есть кворум работающих устройств, и вот это вот все.
До этого, КМК, FS писали в парадигме того, что нижележещие устройства или надежны, или мы перемонтируем всю FS в read only, если "снизу" вернули ошибку.
www.opennet.ru
Автор Bcachefs представил патчи для исправления ФС, разрушенных недавней ошибкой
Кент Оверстрит (Kent Overstreet), разработчик ФС Bcachefs, предложил патчи, позволяющие ядру Linux работать с ФС Bcachefs даже после повреждения существенного объёма метаданных, при необходимости перестраивая испорченные b-деревья по метаданным из структур…
👍11🤔9🤓4
https://lore.kernel.org/lkml/20240405102754.435410987@infradead.org/
Я просто оставлю это здесь:
"... Critically cfs-cgroup throttling is not tested, and cgroups are only tested in so far that a systemd infected machine now boots (took a bit) ..."
Я просто оставлю это здесь:
"... Critically cfs-cgroup throttling is not tested, and cgroups are only tested in so far that a systemd infected machine now boots (took a bit) ..."
❤7👌5🔥4😁3🤔3
commit -m "better"
#vendor Пришлось на днях снова применить "кузькину мать". На этот раз по тележеньке - https://github.com/pg83/ix/commit/d64dfd7a674571ee331df253942cef270851f72e Потому что эти господа, видимо, наслаждаются своей ересью в виде scudo allocator (https://t…
#vendor
https://github.com/desktop-app/cmake_helpers/commit/5a19eddd4554486547d6d5dac3002a93bc105867
Тем временем, коллеги откатили scudo, и вернули jemalloc.
Верю, что пройдет еще пара итераций, и там таки окажется #tcmalloc, хехе.
Как я это заметил? Ну, у меня сломалась "кузькина мать", когда не смогла развендорить scudo в новой версии телеги.
UPD: у меня github показывает розовых поней, наверное, это как-то связано
https://github.com/desktop-app/cmake_helpers/commit/5a19eddd4554486547d6d5dac3002a93bc105867
Тем временем, коллеги откатили scudo, и вернули jemalloc.
Верю, что пройдет еще пара итераций, и там таки окажется #tcmalloc, хехе.
Как я это заметил? Ну, у меня сломалась "кузькина мать", когда не смогла развендорить scudo в новой версии телеги.
UPD: у меня github показывает розовых поней, наверное, это как-то связано
GitHub
Revert "Replace jemalloc with scudo" · desktop-app/cmake_helpers@5a19edd
This reverts commit c2ef75186a82ab89c6f742f6493def1a0d65ffdf.
😁6🤔4🥴2👍1🔥1
Будни #bootstrap, #homelab, #lab короткая эволюция того, как я катаю код на свой флот.
Мой макетник (#ix) позволяет описать любую статическую комбинацию пакетов, с произвольными флагами для их настройки.
В принципе, этого достаточно, чтобы удобно описать конфигурацию одной машины. Собственно, так у меня и был описан мета-пакет, который и был установлен в мой #realm - https://github.com/pg83/ix/blob/main/pkgs/set/pg/ix.sh
В принципе, этого точно так же достаточно, чтобы описать конфигурацию небольшого кластера - вот, например, у меня по папочке с такими наборами на каждый хост - https://github.com/pg83/lab/tree/master/lab/hosts
Но это, конечно, неудобно.
Поэтому следующий шаг - это условный json, один на весь кластер, и по нему уже строится конечная конфигурация. Ну, то есть, есть один конфиг, он знает текущий хост, и, в зависимости от этого, настраивает пакеты:
https://github.com/pg83/lab/blob/master/lab/common/ix.sh#L23-L27
Вот, если наш текущий хост входит в определенную группу хостов, на нем поднимаем набор сервисов с определенными настройками.
Дальше - больше.
Дальше мы не хотим иметь этот json статическим, а хотим его генерировать на python. Вот, пример того, как такой json с описанием кластера может генерироваться на python:
https://github.com/pg83/lab/blob/5f6ebd3c236ba42793cfbf0a5ecbb148688dfda7/lab/ix.sh
А дальше Остапа понесло, он не смог остановиться, и применил свой любимый прием -
https://github.com/pg83/lab/blob/master/lab/cg.py#L9-L39
2 класса - сервиса, и производящая функция всего кластера, которая полностью описывает его структуру, имея на вход низкоуровневое описание кластера (сети, диски, и так далее).
Класс (а, точнее, объект класса) может описать работающий демон (в том числе, нужные пользователи, зависимости, данные), дальше случается магия, которая превращает это в набор сервисов для каждой машины, описанный в предыдущем шаге.
Этот код может работать в цикле, замкнутом на обратный фидбек от кластера, и от того, как там работает предыдущая конфигурация И, тем самым, реагировать на внешние события.
Мой макетник (#ix) позволяет описать любую статическую комбинацию пакетов, с произвольными флагами для их настройки.
В принципе, этого достаточно, чтобы удобно описать конфигурацию одной машины. Собственно, так у меня и был описан мета-пакет, который и был установлен в мой #realm - https://github.com/pg83/ix/blob/main/pkgs/set/pg/ix.sh
В принципе, этого точно так же достаточно, чтобы описать конфигурацию небольшого кластера - вот, например, у меня по папочке с такими наборами на каждый хост - https://github.com/pg83/lab/tree/master/lab/hosts
Но это, конечно, неудобно.
Поэтому следующий шаг - это условный json, один на весь кластер, и по нему уже строится конечная конфигурация. Ну, то есть, есть один конфиг, он знает текущий хост, и, в зависимости от этого, настраивает пакеты:
https://github.com/pg83/lab/blob/master/lab/common/ix.sh#L23-L27
Вот, если наш текущий хост входит в определенную группу хостов, на нем поднимаем набор сервисов с определенными настройками.
Дальше - больше.
Дальше мы не хотим иметь этот json статическим, а хотим его генерировать на python. Вот, пример того, как такой json с описанием кластера может генерироваться на python:
https://github.com/pg83/lab/blob/5f6ebd3c236ba42793cfbf0a5ecbb148688dfda7/lab/ix.sh
А дальше Остапа понесло, он не смог остановиться, и применил свой любимый прием -
eval(pickle.loads(base64.b64decode('...'))) (я сейчас явно слышу гомерический смех пяти человек). А, конкретно, давайте опишем состояние сервисов python объектами, сериазизуем их состояние, и будем использовать как описание кластера:https://github.com/pg83/lab/blob/master/lab/cg.py#L9-L39
2 класса - сервиса, и производящая функция всего кластера, которая полностью описывает его структуру, имея на вход низкоуровневое описание кластера (сети, диски, и так далее).
Класс (а, точнее, объект класса) может описать работающий демон (в том числе, нужные пользователи, зависимости, данные), дальше случается магия, которая превращает это в набор сервисов для каждой машины, описанный в предыдущем шаге.
Этот код может работать в цикле, замкнутом на обратный фидбек от кластера, и от того, как там работает предыдущая конфигурация И, тем самым, реагировать на внешние события.
GitHub
ix/pkgs/set/pg/ix.sh at main · pg83/ix
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
🐳8❤5🌚4🙈4👍2🌭1
commit -m "better"
#perf #fast_python Мне стало интересно, что там за такой новый-кленовый JIT. И почему он должен собираться именно LLVM? Это звучало вообще странно - как так, в runtime кодогенератор от LLVM не нужен, а во время сборки - нужен? Это что за магия такая? Все…
What a day to be alive, python jit уже на полпути к релизу: https://www.opennet.ru/opennews/art.shtml?num=60966
www.opennet.ru
В Python добавлен JIT-компилятор
Доступен альфа выпуск языка программирования Python 3.13.0a6, который примечателен включением в состав ветки 3.13, на основе которой формируется осенний стабильный релиз Python 3.13, экспериментальной реализации JIT-компилятора, позволяющего добиться существенного…
🔥14👍5❤3🤔1
commit -m "better"
Меня тут спрашивают, почему я не пишу про llvm/clang18, хотя он вышел 3 дня назад - https://github.com/llvm/llvm-project/releases По моему опыту, самый всратый релиз компилятора за последние несколько лет. В целом, с точки зрения сборки, все хорошо, почти…
Будни #bootstrap
Как же я задолбался с 18-ым кленгом.
Попробовал выкатить 18.1.3, так там все точно так же плохо, или хуже:
* Мой компрессор, про который я писал выше, начал генерить битые файлы. Я сумел это даже воспроизвести, zstd, собранный последним кленгом, иногда производит битые архивы.
* https://gist.github.com/pg83/e138892353aed9d76b47f85109a1ea05 - вот пример конкретного падения этого кленга (gist я сделал для чуть более ранней версии, там ничего не поменялось). Воспроизводится 100%. Я даже, от безнадеги, собрал чистейший кленг, без своих патчей, с двойной пересборкой себя целиком из исходников. Все равно падает, сволочь.
Писать качественные багрепорты в LLVM времени нет катастрофически, а некачественные нафиг не нужны.
Грусть, тоска, печаль, тлен.
Как же я задолбался с 18-ым кленгом.
Попробовал выкатить 18.1.3, так там все точно так же плохо, или хуже:
* Мой компрессор, про который я писал выше, начал генерить битые файлы. Я сумел это даже воспроизвести, zstd, собранный последним кленгом, иногда производит битые архивы.
* https://gist.github.com/pg83/e138892353aed9d76b47f85109a1ea05 - вот пример конкретного падения этого кленга (gist я сделал для чуть более ранней версии, там ничего не поменялось). Воспроизводится 100%. Я даже, от безнадеги, собрал чистейший кленг, без своих патчей, с двойной пересборкой себя целиком из исходников. Все равно падает, сволочь.
Писать качественные багрепорты в LLVM времени нет катастрофически, а некачественные нафиг не нужны.
Грусть, тоска, печаль, тлен.
Gist
gist:e138892353aed9d76b47f85109a1ea05
GitHub Gist: instantly share code, notes, and snippets.
✍9👍5😱4❤3😁1
Forwarded from Programmer memes
This media is not supported in your browser
VIEW IN TELEGRAM
🤯26🔥16😁8❤4😱1
commit -m "better"
З
Будни #bootstrap
Продолжаю тему bump alloc, https://github.com/pg83/ix/blob/main/pkgs/lib/bumpalloc/alloc.c
Забавно, но в моей кодовой базе (уникальный код, который я пишу для #stal/ix), использование этого bump alloc только растет:
* Про много мелких программ заранее известно, сколько они съедят памяти.
* Я ненавижу С, потому что без RAII/GC программировать невозможно (с этим согласны даже разработчики одной из самых больших кодовых баз на C - Linux Kernel (если вы не согласны, то что такое RCU, как не форма примитивного GC?)). Но вот если не освобождать за собой память, то программирование программ на C - это почти как программирование программ на Go. Важно, что именно программ, потому что вся обработка ошибок сводится к panic()
* В целом, если мне надо запилить что-то low level, то я либо пишу это на таком вот диалекте C (без free, и с минимальной обработкой ошибок, без
Вот, запилил очередную мелкую программулю, вместо которой у меня был скрипт на posix shell - https://github.com/pg83/ix/blob/main/pkgs/bin/cg/unwrap/main.c
Она занимается тем, что запускает другую программу в cgroup, а потом, после ее выхода, прибивает всю cgroup, чтобы не оставалось ошметков в виде stale процессов.
Красота-то какая, лепота!
10 килобайт на диске, ни одной аллокации, если запустить strace, то можно про каждый syscsall сказать, что он делает, и зачем, и почему без него не обойтись.
Как в старые добрые времена DOS, и дискеток на 1.44 мегабайт.
Продолжаю тему bump alloc, https://github.com/pg83/ix/blob/main/pkgs/lib/bumpalloc/alloc.c
Забавно, но в моей кодовой базе (уникальный код, который я пишу для #stal/ix), использование этого bump alloc только растет:
* Про много мелких программ заранее известно, сколько они съедят памяти.
* Я ненавижу С, потому что без RAII/GC программировать невозможно (с этим согласны даже разработчики одной из самых больших кодовых баз на C - Linux Kernel (если вы не согласны, то что такое RCU, как не форма примитивного GC?)). Но вот если не освобождать за собой память, то программирование программ на C - это почти как программирование программ на Go. Важно, что именно программ, потому что вся обработка ошибок сводится к panic()
* В целом, если мне надо запилить что-то low level, то я либо пишу это на таком вот диалекте C (без free, и с минимальной обработкой ошибок, без
return err), либо не пишу вовсе.Вот, запилил очередную мелкую программулю, вместо которой у меня был скрипт на posix shell - https://github.com/pg83/ix/blob/main/pkgs/bin/cg/unwrap/main.c
Она занимается тем, что запускает другую программу в cgroup, а потом, после ее выхода, прибивает всю cgroup, чтобы не оставалось ошметков в виде stale процессов.
Красота-то какая, лепота!
10 килобайт на диске, ни одной аллокации, если запустить strace, то можно про каждый syscsall сказать, что он делает, и зачем, и почему без него не обойтись.
Как в старые добрые времена DOS, и дискеток на 1.44 мегабайт.
GitHub
ix/pkgs/lib/bumpalloc/alloc.c at main · pg83/ix
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
👍17🔥9❤7❤🔥3🤔1
#lab #homelab
https://github.com/francoismichel/ssh3 - прикольная штука, типа, "а давайте запилим ssh поверх стандартных web технологий", типа x509 сертификатов, http/3, quic, и так далее.
На Go, что приятно. В то, что openssh/dropbear написаны "аккуратно", я не верю, потому что на С нельзя писать сложные системы без проездов по памяти.
С точки зрения клиента оно пока довольно harsh, поэтому запилил несколько разных там улучшений:
https://github.com/francoismichel/ssh3/pull/139/files
Посмотрим, что скажут мейнтейнеры.
(особую гордость у меня вызывает способ, которым я зачинил то, что после добавления хоста в known_hosts клиента нужно было перезапустить - https://github.com/francoismichel/ssh3/pull/139/files#diff-8939e1ce1317af19fdceab3a5d7aabbac4949389802b082e926ed37b442fb4f7R203)
https://github.com/francoismichel/ssh3 - прикольная штука, типа, "а давайте запилим ssh поверх стандартных web технологий", типа x509 сертификатов, http/3, quic, и так далее.
На Go, что приятно. В то, что openssh/dropbear написаны "аккуратно", я не верю, потому что на С нельзя писать сложные системы без проездов по памяти.
С точки зрения клиента оно пока довольно harsh, поэтому запилил несколько разных там улучшений:
https://github.com/francoismichel/ssh3/pull/139/files
Посмотрим, что скажут мейнтейнеры.
(особую гордость у меня вызывает способ, которым я зачинил то, что после добавления хоста в known_hosts клиента нужно было перезапустить - https://github.com/francoismichel/ssh3/pull/139/files#diff-8939e1ce1317af19fdceab3a5d7aabbac4949389802b082e926ed37b442fb4f7R203)
GitHub
GitHub - francoismichel/ssh3: SSH3: faster and rich secure shell using HTTP/3, checkout our article here: https://arxiv.org/abs/2312.08396…
SSH3: faster and rich secure shell using HTTP/3, checkout our article here: https://arxiv.org/abs/2312.08396 and our Internet-Draft: https://datatracker.ietf.org/doc/draft-michel-ssh3/ - francoismi...
❤12👍7🔥3🤔2
Forwarded from /dev/memes
This media is not supported in your browser
VIEW IN TELEGRAM
Томми знает, что, если через несколько минут микросервис «Роскошный Джордж» не придет в себя, то его — Томми — похоронят вместе с ним. Зачем бизнесу обьяснять, почему и отчего в их Проде умер важный сервис? Проще похоронить обоих и мигрировать в облако. Бэкапов у них ведь нет, так? И сейчас Томми, по кличке «Сиська», молится. А если не молится, то ему, следовало бы этим заняться.
😁20🔥7💯5🐳1
commit -m "better"
Рубрика #делай_без_изъебов, #нормально_делай_нормально_будет Кстати, в качестве edge proxy хочу посоветовать https://github.com/umputun/reproxy (не на правах рекламы! #lab) Прелесть этой тулзы в том, что в ней есть примерно все, чтобы сделать проксирование…
Продолжаю рубрику #делай_без_изъебов, #нормально_делай_нормально_будет.
Вот бывает софт, который используешь, читаешь исходники, и тебе кажется, что, если бы ты пилил эту софтину сам, то сам бы сделал так же, и принял те же технические решения, настолько по уму оно сделано.
Буду иногда писать про такой софт, по мере того, как он мне встречается.
https://github.com/slackhq/nebula
Очень приятная overlay network. Нужно это (мне) для того, чтобы с ноутбука ходить в свою home #lab откуда угодно. Ну и чтобы это было удобно, поэтому модель "bastion" мне не очень.
Сделано оно без ничего лишнего - есть N маяков, которые друг с другом не взаимодействуют, и в каждый из которых узел сети сбрасывает свою текущую конфигурацию. Маяки помогают узлам найти друг друга, за всякими там NAT и прочим.
Узел определяется сертификатом, который ты подписываешь из CA, которое есть только на твоей машинке. В подписанные данные ты пишешь IP, сеть, и группы, к которым принадлежит этот хост.
Все максимально просто и понятно, в отличие от того же tailscale, при чтении документации на который хочется спрость "а нахуя вы тут нахуевертили столько???"
У меня nebula сейчас работает на всех хостах #homelab, но я пока не перевесил ssh daemon с настоящих IP на оверлейные, немного страшновато.
Вот бывает софт, который используешь, читаешь исходники, и тебе кажется, что, если бы ты пилил эту софтину сам, то сам бы сделал так же, и принял те же технические решения, настолько по уму оно сделано.
Буду иногда писать про такой софт, по мере того, как он мне встречается.
https://github.com/slackhq/nebula
Очень приятная overlay network. Нужно это (мне) для того, чтобы с ноутбука ходить в свою home #lab откуда угодно. Ну и чтобы это было удобно, поэтому модель "bastion" мне не очень.
Сделано оно без ничего лишнего - есть N маяков, которые друг с другом не взаимодействуют, и в каждый из которых узел сети сбрасывает свою текущую конфигурацию. Маяки помогают узлам найти друг друга, за всякими там NAT и прочим.
Узел определяется сертификатом, который ты подписываешь из CA, которое есть только на твоей машинке. В подписанные данные ты пишешь IP, сеть, и группы, к которым принадлежит этот хост.
Все максимально просто и понятно, в отличие от того же tailscale, при чтении документации на который хочется спрость "а нахуя вы тут нахуевертили столько???"
У меня nebula сейчас работает на всех хостах #homelab, но я пока не перевесил ssh daemon с настоящих IP на оверлейные, немного страшновато.
GitHub
GitHub - slackhq/nebula: A scalable overlay networking tool with a focus on performance, simplicity and security
A scalable overlay networking tool with a focus on performance, simplicity and security - slackhq/nebula
👍16🤔3❤2
В соотечественниках меня дико бесит одна черта.
Когда человек не знает ответа на прямой вопрос, он, из интереса, начинает расспрашивать в стиле "а нахуя это вообще надо/не делай так".
Да кто тебя вообще про это спрашивает???
Не знаешь - так и скажи, "Нет у нас туалетной бумаги", а не "А вам туалетная бумага зачем нужна? Жопу подтирать?"
Вот, есть у меня простой вопрос - какая температура воздуха должна быть в датацентре?
Любой здравомыслящий человек (https://ru.wikipedia.org/wiki/%D0%9D%D0%B8_%D0%BE%D0%B4%D0%B8%D0%BD_%D0%B8%D1%81%D1%82%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9_%D1%88%D0%BE%D1%82%D0%BB%D0%B0%D0%BD%D0%B4%D0%B5%D1%86, но тем не менее) сразу поймет, что речь идет про какую-то устоявшуюся нагрузку, в которой температура компонент сервера есть чистая функция нагрузки и температуры снаружи, и что надо сказать, что, вот, если ты гоняешь сервера под такими-то парами, и у тебя вокруг 40 градусов, то уже плохо, а 35 - может еще и норм.
Но, блядь, нет, сука, "а какой у тебя cpu freq driver/governor", а, как вам такое???
Так вот - какая температура воздуха должна быть в датацентре?
UPD: тредик в комментариях, конечно, захватывающий. Зачем-то куча людей, которые не знают ответа, начали мне рассказывать про "тебе надо другое" (хотя я совершенно точно знаю, что мне надо), и только один человек (https://xn--r1a.website/c/1469934025/25337), который знает ответ, просто его озвучил.
Когда человек не знает ответа на прямой вопрос, он, из интереса, начинает расспрашивать в стиле "а нахуя это вообще надо/не делай так".
Да кто тебя вообще про это спрашивает???
Не знаешь - так и скажи, "Нет у нас туалетной бумаги", а не "А вам туалетная бумага зачем нужна? Жопу подтирать?"
Вот, есть у меня простой вопрос - какая температура воздуха должна быть в датацентре?
Любой здравомыслящий человек (https://ru.wikipedia.org/wiki/%D0%9D%D0%B8_%D0%BE%D0%B4%D0%B8%D0%BD_%D0%B8%D1%81%D1%82%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9_%D1%88%D0%BE%D1%82%D0%BB%D0%B0%D0%BD%D0%B4%D0%B5%D1%86, но тем не менее) сразу поймет, что речь идет про какую-то устоявшуюся нагрузку, в которой температура компонент сервера есть чистая функция нагрузки и температуры снаружи, и что надо сказать, что, вот, если ты гоняешь сервера под такими-то парами, и у тебя вокруг 40 градусов, то уже плохо, а 35 - может еще и норм.
Но, блядь, нет, сука, "а какой у тебя cpu freq driver/governor", а, как вам такое???
Так вот - какая температура воздуха должна быть в датацентре?
UPD: тредик в комментариях, конечно, захватывающий. Зачем-то куча людей, которые не знают ответа, начали мне рассказывать про "тебе надо другое" (хотя я совершенно точно знаю, что мне надо), и только один человек (https://xn--r1a.website/c/1469934025/25337), который знает ответ, просто его озвучил.
Wikipedia
Ни один истинный шотландец
«Ни один истинный шотландец» (англ. No true Scotsman), игнорирование контрпримера или апелляция к истинности — неформальная логическая уловка, попытка ad hoc сохранить в силе необоснованное утверждение . Когда встречается контрпример, опровергающий универсальное…
👍11👎7😁7🤡6❤3🤷♀2🦄2🐳1💯1
Про логические уловки.
Люди довольно часто, осознано, или нет, оставим это на их совести, пользуются логическими уловками.
3 моих любимых:
https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D1%81%D1%83%D0%BF%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D0%BC%D0%B5%D0%BD%D0%B0_%D1%82%D0%B5%D0%B7%D0%B8%D1%81%D0%B0
https://cyclowiki.org/wiki/%D0%9E%D1%86%D0%B5%D0%BD%D0%BE%D1%87%D0%BD%D0%BE%D0%B5_%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5
Я, знаете ли, в разные периоды жизни по разному реагировал, когда собеседник/оппонент начинал использовать подобные приемы.
Горячился, махал руками, пытался что-то объяснять.
Сейчас я придерживаюсь следующей позиции - никогда не садитесь играть в карты с шулером.
Что это значит?
Это значит, что, если вы не обозначите свое отношение к высказанному утверждению, максимально четко и ясно, то вы примете мысленный фреймворк оппонента, а ему только это и нужно.
Например, если ваш оппонент говорит, что "А - хорошо, Б - плохо" (оценочное суждение), то вам не стоит начинать обсуждать, действительно ли A - хорошо, а Б - плохо. Если вы начали это обсуждать, то вы попались - вы приняли право вашего оппонента навязывать вам определения "хорошо" и "плохо". И на этом поле оппонент вас обязательно выиграет, потому что выигрывает тот, кто определяет, что хорошо, а что - плохо.
Поэтому, когда я вижу, что собеседник пользуется одной из таких логических уловок, у меня в диалоге случается "full stop".
Я говорю собеседнику, что он воспользовался подобным приемом (*), и предлагаю ему либо согласиться, и переформулировать мысль, или не согласиться, и доказать мне, что я ошибся, или закончить наш диалог. Потому что не надо садиться играть в карты с шулером! Не надо пытаться договориться с шулером в рамках правил, которые он вам навязывает, потому что вы автоматически проиграли. Сначала договоритесь про устраивающие вас правила.
Ну а дальше либо диалог переходит в более конструктивное русло (в случае оценочного суждения, например, вам стоит на берегу договориться о том, какие объективные критерии вы измеряете, без "хорошо" и "плохо"), либо заканчивается.
(*): да, прямо так и говорю - "это пресуппозиция", или "это оценочное суждение", или "это подмена тезиса".
Люди довольно часто, осознано, или нет, оставим это на их совести, пользуются логическими уловками.
3 моих любимых:
https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D1%81%D1%83%D0%BF%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D0%BC%D0%B5%D0%BD%D0%B0_%D1%82%D0%B5%D0%B7%D0%B8%D1%81%D0%B0
https://cyclowiki.org/wiki/%D0%9E%D1%86%D0%B5%D0%BD%D0%BE%D1%87%D0%BD%D0%BE%D0%B5_%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5
Я, знаете ли, в разные периоды жизни по разному реагировал, когда собеседник/оппонент начинал использовать подобные приемы.
Горячился, махал руками, пытался что-то объяснять.
Сейчас я придерживаюсь следующей позиции - никогда не садитесь играть в карты с шулером.
Что это значит?
Это значит, что, если вы не обозначите свое отношение к высказанному утверждению, максимально четко и ясно, то вы примете мысленный фреймворк оппонента, а ему только это и нужно.
Например, если ваш оппонент говорит, что "А - хорошо, Б - плохо" (оценочное суждение), то вам не стоит начинать обсуждать, действительно ли A - хорошо, а Б - плохо. Если вы начали это обсуждать, то вы попались - вы приняли право вашего оппонента навязывать вам определения "хорошо" и "плохо". И на этом поле оппонент вас обязательно выиграет, потому что выигрывает тот, кто определяет, что хорошо, а что - плохо.
Поэтому, когда я вижу, что собеседник пользуется одной из таких логических уловок, у меня в диалоге случается "full stop".
Я говорю собеседнику, что он воспользовался подобным приемом (*), и предлагаю ему либо согласиться, и переформулировать мысль, или не согласиться, и доказать мне, что я ошибся, или закончить наш диалог. Потому что не надо садиться играть в карты с шулером! Не надо пытаться договориться с шулером в рамках правил, которые он вам навязывает, потому что вы автоматически проиграли. Сначала договоритесь про устраивающие вас правила.
Ну а дальше либо диалог переходит в более конструктивное русло (в случае оценочного суждения, например, вам стоит на берегу договориться о том, какие объективные критерии вы измеряете, без "хорошо" и "плохо"), либо заканчивается.
(*): да, прямо так и говорю - "это пресуппозиция", или "это оценочное суждение", или "это подмена тезиса".
Wikipedia
Пресуппозиция
Пресуппози́ция (от лат. prae — впереди, перед и suppositio — подкладывание, заклад) (также презу́мпция ) в лингвистической семантике — необходимый семантический компонент, обеспечивающий наличие смысла в утверждении.
👍28🤡14❤7🔥4🤔1
commit -m "better"
https://www.phoronix.com/news/wlroots-Tearing-Control-Merged https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3871?s=09 Я так понимаю, это дает нам объяснение того, почему Hyprland прогнулся под атакой #ddv. Потому что от Hyprland есть какое…
Вот вы мне не верили про такую возможную причину, а смотрите-ка, #hyprland #hypr таки форкнули #wlroots
"We've detached from upstream wlroots, now using our fork that is statically linked (no more libwlroots.so)"
https://github.com/hyprwm/Hyprland/releases/tag/v0.39.0
https://github.com/hyprwm/wlroots-hyprland
Видимо, прогнуться перед #ddv не помогло в мерже изменений в upstream, или помогло недостаточно.
"We've detached from upstream wlroots, now using our fork that is statically linked (no more libwlroots.so)"
https://github.com/hyprwm/Hyprland/releases/tag/v0.39.0
https://github.com/hyprwm/wlroots-hyprland
Видимо, прогнуться перед #ddv не помогло в мерже изменений в upstream, или помогло недостаточно.
GitHub
Release v0.39.0 · hyprwm/Hyprland
We're interrupting the usual programme to broadcast this important update to Hyprland.
Freedesktop won't take this one away from you: the cool new stuff in hyprland :)
Notes for packagers
...
Freedesktop won't take this one away from you: the cool new stuff in hyprland :)
Notes for packagers
...
👍5🔥3🤔3🤡2
commit -m "better"
Вот вы мне не верили про такую возможную причину, а смотрите-ка, #hyprland #hypr таки форкнули #wlroots "We've detached from upstream wlroots, now using our fork that is statically linked (no more libwlroots.so)" https://github.com/hyprwm/Hyprland/rele…
https://www.reddit.com/r/linux/comments/1bzna16/hyprland_creator_vaxry_is_now_banned_from/
https://blog.vaxry.net/articles/2024-fdo-and-redhat
https://blog.vaxry.net/articles/2024-fdo-and-redhat2
https://drewdevault.com/2024/04/09/2024-04-09-FDO-conduct-enforcement.html
Как говорится, слона-то я и не заметил.
(спасибо читателям за ссылки)
https://blog.vaxry.net/articles/2024-fdo-and-redhat
https://blog.vaxry.net/articles/2024-fdo-and-redhat2
https://drewdevault.com/2024/04/09/2024-04-09-FDO-conduct-enforcement.html
Как говорится, слона-то я и не заметил.
(спасибо читателям за ссылки)
Reddit
From the linux community on Reddit: Hyprland creator Vaxry is now banned from contributing to freedesktop
Explore this post and more from the linux community
🤯9🤬3🤔2🤣2