Oddbean new post about | logout
 Dr. Quadragon ❌, я на полшишечки. У меня мак, но андроид, а сервисами эпла я не пользуюсь настолько, что не обиделся бы, если бы у них вообще серверов не было.
А что до линукса, так его переписывают постоянно. Зачем — я не знаю. Лучше от этого не становится, хуже тоже. Для поддержки нового железа вряд ли нужно настолько много настолько частых изменений. Ну вот перепишут когда-нибудь на раст, тогда хотя бы багов из-за указателей больше не будет. 
 @a7ce5937 Крупное и ключевое ПО, такое, как, например, ОС или стандартные библиотеки, или компиляторы, практически всегда "не доделано", потому что время идет, мир меняется, появляются новые требования и находятся новые баги.

Если ждать, когда все будет "доделано", пройдет ебанная вечность, потому что "доделка" - это процесс, который невозможно закончить, его можно только прервать, выпустив какой-то релиз. 
 Dr. Quadragon ❌, так в моём идеальном мире к разработке софта надо подходить так же, как к любой другой инженерной работе. Определить предметную область, сформулировать и описать требования, описать или нарисовать интерфейсы, продумать или прописать как они работают в каких ситуациях, и только после этого начинать писать код. Уже в виде результата этапа "определить предметную область" у тебя возникает конкретный критерий "доделанности" проекта. Да, конечно, потом можно повторить эти шаги выпустить новый релиз. И ведь до распространения быстрого интернета все практически так и делали. И было же заебись. Багов было меньше, каждый релиз был осмысленным и приносил понятные улучшения, потому что пользователей ещё надо было уговорить обновиться. А сейчас всё в вечной бете. 
 @a7ce5937 Ну, какбэ, это вечный спор "собора" и "базара", тут вообще нет смысла его заводить, об эту тему уже дохерища копий сломано, не сосчитать. 
 @a7ce5937 @93c76d5d я кстати тоже недоволен тем, что некоторые всё любят переписывать ради самого процесса. Условно говоря та же ситуация которая была с PulseAudio и Pipewire. 

Только PA научился более-менее не пердеть и шипеть, так его тут же переписали. Хотя и учли предыдущие ошибки, у нас всё равно два звуковых сервера каждый со своим набором багов. 
 @a7ce5937 @93c76d5d а софт всё же к состоянию законченного стремиться имхо должен. Как например юникосвые базовые утилиты, в них максимум могут приходить исправления, но это пример законченного софта... хотя по сложности не превосходящие хеллоуворлды, что о чем-то да говорит. ;) 
 0xa1baa1baa1baa1ba, ты ещё про ALSA забыл. Мне в libtgvoip пришлось поддержать, потому что некоторые люди из принципа не пользуются PulseAudio. Pipewire тогда ещё не было. 
 @a7ce5937 ALSA не совсем одно и то же что PulseAudio. Но появление второго тесно связано с недостатками первого. 
 @TSource Engine Query Не согласен.

Pipewire - это не "переписывание ради самого процесса", а коренное изменение в архитектуре системы.

Во-первых, pipewire закрыл дырку между двумя разными аудиопротоколами, которые до этого одновременно - никак, или через костыли, ага. За одно это уже надо орден вручать, да вешать на доску почета. Теперь можно пользоваться ВСЕМ аудиософтом, а не только либо тем, либо этим.

Во-вторых, pipewire - это вообще-то не только и не столько в первую очередь аудиосервер. Нравится кому-то или нет, но Wayland наступает, а в нем нет способа, например, просто взять и выдрать одним приложением картинку из другого, и это by design. Собственно, pipewire тут выступает как менеджер аудио- и видеопотоков, без которого, например, нельзя стримить или снимать экран.

@a7ce5937 
 @93c76d5d @a7ce5937 вот я о чём и говорю. Вместо того чтобы расширять текущий сервер, его переписали. Да, учли ошибки, да, это ещё и видеосервер, да, его всё-таки сделали совместимым.

Но всё-таки это замена, которую тоже ещё будут доделывать N-ое количество лет. 
 @TSource Engine Query Это не "еще и" видеосервер.

Он начинался как видеосервер.

Просто потом поняли, что управление потоками видео и аудио по смыслу мало различаются.

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

Иксы в нынешнее время это законченный проект который никто не развивает и в который даже якобы никто не коммитит ничего, кроме багфиксов. И знаете что? Это самое стабильное решение. Настолько стабильное, что с него пользователей можно выгнать разве что насильно, как гном. 
 @93c76d5d @a7ce5937 я уже не говорю о больной теме для части федиверса под названием...

Да, XMPP vs Matrix. Я на днях ещё одну охуенную багу Matrix нашел, где это говно не может осилить простейший IRC, в отличие от уже оттестированного Biboumi, который тот же IRC просто оборачивает в XMPP комнаты. 
 @93c76d5d @a7ce5937 даже с ActivityPub такое случилось. Сколько инстансов мы потеряли после отключения OStatus? Да, их было немного, но по крайней мере две штуки я назвать могу. Рд.нет и loadavg. Причём последний с горем пополам смог, а потом там что-то навернулось.

Это все темы холиварные до пиздеца. А всё почему? Потому что у кого-то зачесались руки переделать всё с нуля.

Да, это работа над ошибками.
Да, как конечному пользователю, стало объективно лучше.

К слову о том, о чём говорит @a7ce5937. Андроид недоделан и семь лет его ещё будут доделывать и переписывать. Но всё что происходит в реальности, так это запихивание в ОС всякой херни, лишь бы было что показать на презентации этого года. Google и Apple тут как два брата ебаната, придумать уже нечего, а показывать что-то нужно. Иначе как хомячки будут покупать новые смартфоны? 
 @TSource Engine Query @93c76d5d @a7ce5937 на один пример иксов есть 100500 примеров заброшенного законченного софта который больше просто нельзя запустить, или можно но через пень-колоду, или можно но на свой страх и риск 
 @4b284546 @93c76d5d @a7ce5937 ну да, иксы забрасывать уж на совсем было бы чревато. :)

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

И чья же это вина, интересно? Не любителей ли переписывать что-то в пятилетку ломая совместимость? 
 @TSource Engine Query @93c76d5d @a7ce5937 бывает и их, да, а бывает "вина" тех кто находит уязвимости, а еще бывает тех, кто находит способы сделать что-то с меньшими накладными расходами чем было раньше 
 @4b284546 @93c76d5d @a7ce5937 ну да. Совместимость-то зачем ломать? 
 @TSource Engine Query @93c76d5d @a7ce5937 мне кажется, что тут злого умысла нет, бывает получается не ломать совместимость, бывает - нет 
 @4b284546 @93c76d5d @a7ce5937 ну это пример плохого архитектора. 

У нас таких архитекторов которые раз в несколько лет ломают glibc целая команда его разработчиков. Потом в их (говно)коде ещё и уязвимости находят! :) 
 @4b284546 @93c76d5d @a7ce5937 они по сравнению с разработчиками musl ещё заиньки. Эти сразу сказали что всё будут ломать, пользуйтесь опенсорсом и перекомпиливайте всё. :) 
 @TSource Engine Query Скорее, не "зачем", а "от чего".

От недостатка ресурсов.

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

@a7ce5937 @4b284546 
 @93c76d5d @a7ce5937 @4b284546 это вопрос ответственности.

К слову, упоминая PipeWire, они всё-таки всё сделали правильно и клиентов PulseAudio не бросили, предоставляя совместимый интерфейс... говорим мы в 2023 году, посмотрим куда это нас приведёт в 2033. Может появится какой-нибудь WipeWire который будет делать хорошо для какого-нибудь Z-land (хуевое название, бгггг). 
 @93c76d5d @4b284546 @a7ce5937 просто я бы в выборе шашечек и ехать выбрал бы ехать.

Потому что стабильный и рабочий софт мне гораздо важнее, чем переписанный, но забагованный. 
 @4b284546 @93c76d5d @a7ce5937 (поэтому у меня в 2023 иксы, джаббер, и абсолютно ебнутый дистрибутив на который я ушел когда-то и в итоге привык) 
 @TSource Engine Query @93c76d5d @a7ce5937 но жаббер же развивается, как протокол так и все его реализации - постоянно выходит что то новое 
 @4b284546 @93c76d5d @a7ce5937 так он развивается.

А толпа студентов его переписали и сделали матрица. Работает ли матрица? Нихуя не работает. 
 @TSource Engine Query Справедливости ради, архитектурно - Матрица это скорее переписанный Usenet, чем XMPP :)

И да, нативные группы там таки лучше.

Как IM он сосет.

@a7ce5937 @4b284546 
 @93c76d5d @a7ce5937 @4b284546 

>нативные группы там таки лучше

Что за группы?

Мне его пытаются протолкнуть как IM. Как IM он абсолютное говно создающее на пустом месте пустые комнаты потому что по неизвестной причине, о которой он тебе не сообщит (на самом деле несконфигуренной федерации, лол). 
 @4b284546 @93c76d5d @a7ce5937 @TSource Engine Query 
XMPP возник как проект ЦРУ - так и развивается. 
 @7db27a73 @4b284546 @93c76d5d @a7ce5937 и Tor! А Интернет вообще проект DARPA! Запретить! 
 @TSource Engine Query Ну, то есть, архитектурные проблемы решать *не* надо.

@a7ce5937 @4b284546 
 @93c76d5d @a7ce5937 @4b284546 да нет же. Всё надо делать. И переписывать. И поддерживать существующее. Решать архитектурные проблемы это круто. Под лупой искать фатальные недостатки -- это не круто. 

Просто от переписанного проекта я ожидаю того, что грубо говоря мне не придётся мириться, и всё что у меня работало до этого, так же будет работать и после. Может быть иначе, может придётся привыкать к чему-то новому. Но ни в коем случае оно не должно быть хуже по всем параметрам. 
 @4b284546 Да и иксы, как бы...

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

Да, это значит, что у всех все временно поломается. Но тут уж...

@a7ce5937 @TSource Engine Query 
 @93c76d5d @4b284546 @a7ce5937 >временно

Это временно, напомню вам, продолжается уже больше 10 лет. И всё что смог Wayland -- это embedded.

Я тут недавно смотрел сколько расширений протокола стаблизировали. Знаешь сколько? Нисколько.