Pull to refresh

Comments 925

М-да-а. За что боролись, на то и напоролись. Жалко…
Непонятно, почему нельзя было в ответ набросить и разжечь; чувак показал, что RustSec-тело его зотроллило. Ответить «в интернете кто-то неправильно использует раст? Бывает, не плач» там нельзя было?

Культура у товарищей другая. Не принято так.

Непонятно, почему культура ответа обязана быть выше культуры запроса.
почему культура ответа обязана быть выше культуры запроса
Это всё равно как спросить, почему волосы на моей голове обязаны быть мытыми и причёсанными, если у собеседника они засаленные и растрёпанные?
Непонятно, зачем, вообще, на такое отвечать. «В интернете опять кто-то не прав»?
UFO just landed and posted this here
Думаю где-то с такими мыслями автор и закрыл свою репу, чем не вариант.
Глупо, потому-что автор наказал не тех, кто ему насрал в закатки, а всех остальных
UFO just landed and posted this here
UFO just landed and posted this here

Наказать тролля напрямую довольно сложно. Ему только по кайфу бурная реакция. А отсутствие реакции тоже ничего ему не сделает — у него битва на десятке фронтов одновременно.


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

UFO just landed and posted this here
Глупо, потому-что автор наказал не тех, кто ему насрал в закатки, а всех остальных

А вы за него вступились? Open-source диктует границы собственности, а значит и ответственности. Правильно наказал. Не заслужили.


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

Тут на хабре тоже так часто бывает, статья интересная, заходишь в комментарии, предполагая увидеть такое же интересное обсуждение, а там на заминусованный комментарий ответили более 500 раз, вот и пообсуждали… нде.
неудобные комментарии иногда минусуют вместе с их автором… а так да, согласен автора все настолько допекли, что даже холодный невкусный чай могли сыграть окончательный аккорд.
Комментарии-то ладно. Это всем знакомо и уже должен иммунитет выработаться или по крайней мере философское отношение. Но я на прошлой неделе выложил статью по апгрейду nextcloud — мало того, что рейтинг статьи в первые 5 минут стал отрицательный, так мне в карму минуса прилетели! В карму!!! На IT ресурсе, за техническую статью-мануал!!! Получается, что хабре полурекламные простыни, которые теряют актуальность в первую же неделю, теперь оцениваются приемлимее старых добрых мануалов по консольному линуксу. Естественно, в комментах отметились все профессионалы, которые nextcloud через докер ставят, а автор или этого не знает, или ему делать нечего. Вот я после обеда посмотрел на статистику и, вот честно, тоже мыслишка-то заворочалась: «А в будущем зачем писать-то?» Я понимаю, когда мне за графоманию прилетало. Но тут как-то я был слегка обескуражен. Не понимаю молодежь… старею что-ли?)
Можно сделать такой механизм, что после размещения статьи с неотрицательным рейтингом, блокируется возможность минусовать в карму ее автора в течении 24 часов. Ну то есть как-то это продумать…
Так для того, чтобы понять какой рейтинг будет у статьи она сама должна как минимуму 24 часа на главной «отвисеть». Мало того тут и суток может быть мало. Вот сейчас, спустя неделю, я могу констатировать, что статья получилась: рейтинг у ней звёзд явно не собирает, карма поменялась незначительно (кстати, после моего вышеприведённого коммента мне неожиданно её поправили, благодарю всех отметившихся — не скрою, приятно), комментариев явно не сотни, но есть один важный фактор — сто человек её добавили в избранное. Сто пользователей посчитали эту статью полезной настолько, что решили её себе сохранить или вернуться к ней позже и внимательно ознакомиться. Для меня это достаточный фактор, для понимания, что материал востребован, писать стоит.

Тема кармы на хабре вещь больная. И вроде как с ней что-то делать надо. Но как именно до конца непонятно. Это кажется что всё просто. Но если сесть и подумать о качестве и количестве моральных поощрений и наказаний, балансе сдержек и противовесов, заработке администрации, то получается всё не так однозначно, ясно и понятно.
Так для того, чтобы понять какой рейтинг будет у статьи она сама должна как минимуму 24 часа на главной «отвисеть»
Ну вот например такой механизм: после размещения статьи, все минуса в карму откладываются до трех суток (72 часа). А потом проверяется, если статья прошла хотя бы один порог: +20 лайков, 100 комментариев, 20 раз добавлена в закладки — то автоматически все минуса в карму (набранные за эти три дня) сгорают. Причем на четвертый день минуса в карму попадают уже напрямик (как сейчас) и даже минуснувший сразу, но «непрошедший», может уже наверняка сделать это.
Это было бы хорошей защитой для авторов востребованной статьи от слива кармы.
Ну или другой вариант — на 3 дня блокируется доступ к карме автора из статьи и его комментариев под ней (а также в профиле автора не отображаются все его комментарии)

Тема кармы на хабре вещь больная
Как и везде.
Идея отложенной самомодерации вроде бы выглядит привлекательно. Только есть два момента.
1) «Расчёт кармой» как правило идёт в день после публикации. Потом всё экспоненциально падает. Уже даже через сутки людям будет лень искать статью чтобы за неё влепить человеку минус или плюс. Это негативно скажется на объективной оценке.
2) Получается после публикации любой статьи человек получает супериммунитет на три дня и 72 часа может как угодно развлекаться на ресурсе. Вот плоскоземельщики рады будут — так их сливали где-то за день. А через 71 час, кстати, можно выложить вторую часть и продлить веселье до конца недели)
«Расчёт кармой» как правило идёт в день после публикации. Потом всё экспоненциально падает. Уже даже через сутки людям будет лень искать статью чтобы за неё влепить человеку минус или плюс. Это негативно скажется на объективной оценке.
Ну вот этим показателем (время после публикации) и можно управлять влиянием кармы на сообщество.

Получается после публикации любой статьи человек получает супериммунитет на три дня и 72 часа может как угодно развлекаться на ресурсе. Вот плоскоземельщики рады будут — так их сливали где-то за день. А через 71 час, кстати, можно выложить вторую часть и продлить веселье до конца недели)
Так в том-то и дело, что доступ к карме (части профиля) автора статьи должен быть закрыт только из самой статьи. А если переход идет из его комментария к какой-то другой статье — то минусовать можно.
Здесь просто вопрос — как сделать так, чтобы профиль автора отображался по-разному: для тех, кто перешел из его свежей статьи (минусовать карму нельзя) и из произвольного комментария вне её (минусовать можно).
Для хейтера будет не проблема ознакомиться со статьёй и потом кинуть минус из произвольного комментария. Я тоже размышлял над сложными путями. Чем сложнее — тем понятнее становилось, что работать оно нормально не будет)
А как он найдет этот «произвольный комментарий», если список всех комментариев автора в его профиле будет закрыт на 3 дня?
Да даже гуглом не надо: открываем профиль, переходим на публикации и открываем статью какой-нибудь двухлетней давности — там точно в комментариях к статье можно будет найти комментарий автора)
Ну так если путь такой: профиль -> статья -> комментарий -> профиль -> карма, то последний шаг должен быть заблокирован. Не думаю, что это нереально сделать.

Гуглом, например.
Проверил, первые выдачи Гугла ведут на профиль пользователя. Значит действуем тем-же способом (блокирование кармы, если в пути был профиль).
По запросу "@user site:habr.com" гугл на первой же странице выдает комментарии пользователей в других постах. Открываем ссылку, подводим мышку к аватарке и нажимаем минус.
Ок. Тогда надо также блокировать минусование из комментариев, размещенных ранее статьи. Независимо от пути к ним. На 3 дня…
А так же блокировать миносование из размещённых ранее статей) То есть, по сути, тотально запретить минусить человека на трое суток. Ну и возвращаемся к моему вчерашнему комменту в 22:23, п.2.
А так же блокировать миносование из размещённых ранее статей)
А вот это делать нельзя! Хорошо, уточню — «надо также блокировать минусование из любых комментариев, размещенных ранее данной статьи».

Вот так, постепенно отсечем всё лишнее…
«user site:habr.com\post» -> любая ссылка на статью требуемого автора -> минусим прямо из статьи.
Ну так из статьи напрямую же нельзя. Надо перейти в профиль автора. И если переход идет из старой статьи или старого комментария, то блокировать минусование кармы.
ctrl+c, ctrv+v адреса в соседнюю вкладку практически в любом браузере и блокировка не работает
ctrl+c, ctrv+v адреса в соседнюю вкладку практически в любом браузере и блокировка не работает
Копировать URL профиля? Думаю, что это — передачу пути при копировании профиля в другую вкладку браузера (и даже другого браузера) — все-таки можно реализовать.
Если у автора одна-единственная статья — то да, нельзя. А если у него их уже десяток? Переходи в любую из поиска и минуси на здоровье. Или предлагается это запретить? Ну ок. Но тогда это вышеразбираемый супериммунитет на трое суток.
Но тогда это вышеразбираемый супериммунитет на трое суток.
Что-то постоянно нахожу у себя неточные формулировки…
Вообщем, надо оставить блокировку только при соблюдении двух обязательных пунктов: переход из новых комментариев + из комментариев не под последней его статьей (то есть из любой другой, хоть новой, хоть старой).

Переходи в любую из поиска и минуси на здоровье
Так чтобы заминусить из произвольной статьи, все равно надо же в профиль перейти — а там в течении трех дней идет блокировка.
Так чтобы заминусить из произвольной статьи, все равно надо же в профиль перейти — а там в течении трех дней идет блокировка.

Под текстом любой статьи есть блок автора из которого можно изменить его карму без перехода в профиль. Со списком статей поможет гугл.
В чем проблема это на три дня отключить?
Да нет никакой проблемы. Просто получается изменение кармы будет отключено во всех возможных местах. И тогда получается супериммунитет на трое суток и ряд проблем рассмотренный выше.
Да нет же! Изменение кармы надо обязательно оставить! Но только для новых сообщений под любой статьей, кроме только что опубликованной.
UFO just landed and posted this here
То есть молчим в тряпочку — имеем иммунитет? Поймите, не будет ваша система работать в принципе.
Да, пока не прошло 3 дня (например) с момента публикации статьи, автору нельзя минуснуть в карму ни за эту статью, ни за его прошлые статьи; ни за его комменты под этой статьей, ни за все любые комменты до этой статьи.

Я считаю это справедливым и поощряющим мехахизмом.
пока не прошло 3 дня (например) с момента публикации статьи, автору нельзя минуснуть в карму
Это идёт в разрез с политикой партии о модерации общества обществом, насколько я понимаю.
Во всяком случае с декларацией этой политики.
Это идёт в разрез с политикой партии о модерации общества обществом, насколько я понимаю.
Во всяком случае с декларацией этой политики.
Почему? Ведь потом минусить автору можно. Это просто как появление нового вида бонуса за написание статей. Мне кажется, никто против не будет.
Ну не все любят 3 дня ждать, чтобы минус влепить (ну не все настолько злопамятны).
Разве что автор через три дня в комментах будет снова отсвечивать так, что снова появится желание влепить минус.
Ну не все любят 3 дня ждать, чтобы минус влепить (ну не все настолько злопамятны).
Разве что автор через три дня в комментах будет снова отсвечивать так, что снова появится желание влепить минус.
Длительностью этого периода можно «играться» для определения оптимального влияния на активность пользователь-сообщество.

А так, можно в закладки добавлять ))
А так, можно в закладки добавлять ))
Это ещё нужно будет не забыть почему ты эту публикацию в закладки добавил.
Да и просматривать их периодически, а не когда тебе понадобилась какая-то конкретная статья по работе или другой причине.
Это ещё нужно будет не забыть почему ты эту публикацию в закладки добавил.
Да и просматривать их периодически, а не когда тебе понадобилась какая-то конкретная статья по работе или другой причине.
Так все эти трудности хорошо же! Они специально и должны создаваться, чтобы: стимулировать на написание новых статей и давать автору возможность спокойно отвечать на вопросы (кроме совсем уж клинических случаев).
Ну ок. На ресурсе регистрируется новый пользователь и пишет статью про эффективный менеджмент и всё такое. Пишет интересно, с юморком и его из песочницы вытаскивают. Рейтинг у него +2. Далее происходит действие.

1) Автор публикует статью о лечении силой мыслью. С пруфами. Клиническими испытаниями. И теорией. С тезисом, кто не верит в теорию — дурак.
2) Рейтинг статьи сливают. В комментах вакханалия «куда хабр катится».
3) По вашей схеме автора нельзя заминусовать из профиля, из старой статьи, из старых комментов к старой статье, из новой статьи и из новых комментов к новой статье. Автор не дурак и больше нигде ничего не комментирует! Автор несёт ересь и нет возможности его заткнуть в течение 72 часов — он наслаждается временем своей славы!
4) Через 71 час автор выкатывает новую статью по тематике лечения взглядом.
5) Рейтинг статьи сливают. В комментах шум и гам, звучат всякие революционные призывы. Число комментов переваливает за 3к.
6) См. п. 3.
7) Через 71 час автор выкатывает новую статью о том, что на хабре сидят сплошь идиоты и из комментов к прошлым статьям делает детальный и язвительный анализ мозговых способностей жителей хабра.
8) См. п. 3.
9) Рейтинг статьи сливают за 20 минут. В комментах ад. Наплыв пользователей такой, что админы хабра добавляют пару новых рекламных блоков в надежде отбить техзатраты за поддержку сайта на ближайшие несколько лет.
10) Через 71 час…
11) См. п. 3.
12) Рейтинг статьи 0. В комментах только комменты автора в стиле «ну и где вы все, оболтусы»? Весь сайт переписывается через ЛС. Организовавшаяся группа разведки подключает связи в IT, даркнете, правительстве, за границей. Boomburum не выдерживает и сдаёт IP автора. Группа разведки вычисляет GPS координаты. Организовавшаяся группа зачистки выезжает по координатам…

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

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

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

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

Можно сделать для таких креативных авторов следующее: если новая статья выходит раньше необходимого срока (иммунитет+пауза на статьи), то такие статьи не влияют на график этих периодов (то есть ее как-бы и не было для такого механизма кармы).
Ну это я привёл случай, конечно, гипертрофированный. Но суть-то в том, что у автора в любом случае появляется супериммунитет на 72 часа. Даже если он потом публиковать ничего и не будет эти 72 часа он может развлекаться как угодно в рамках своей статьи. Современный механизм позволяет решить эту проблему без привлечения администрации.

Ваш механизм позволяет облегчить жизнь первых дней для «хороших» авторов, но зато сильно ухудшает реакцию сообщество на «плохих». Надо будет либо выпиливать это автора потом (лично мне, будет лень искать статью трёхдневной давности чтобы специально заминусить её и я не думаю, что так уж одинок), либо это должна делать администрация (это надо мониторить сайт, выявлять проблему, разбираться закрывать статью или нет, причём при любом решении будут недовольные пользователи — зачем всё усложнять, администрации и сейчас хорошо).
Даже если он потом публиковать ничего и не будет эти 72 часа он может развлекаться как угодно в рамках своей статьи.
Только в рамках комментариев к ней, так как статьи перед публикацией все-равно проходят предмодерацию. А в случае с комментариями очень поможет часто предлагаемый разными пользователями механизм, перекладывающий часть функционала кармы на лайки/дизлайки к комментам: например если под статьей комменты автора суммарно набрали 50 минусов, то он может комментировать не чаще одного раза в 1 час, и т.д.

Более того, если просто статья заминусована (теже -50), то на него накладывается такой же штраф.

Прям тюрьма уже для «плоскоземельщиков»…

Кажется, где-то выше, когда предлагали супериммунитет, его предлагали включать, только если статья наберет +20 и выше. Не очень вписывается в ваш сценарий.


Да и клепать статьи раз в 3 дня… пожалуй, только редакторы умеют.

Кажется, где-то выше, когда предлагали супериммунитет, его предлагали включать, только если статья наберет +20 и выше. Не очень вписывается в ваш сценарий.

Предлагается это: после размещения статьи, все минуса в карму откладываются до трех суток (72 часа). А потом проверяется, если статья прошла хотя бы один порог: +20 лайков, 100 комментариев, 20 раз добавлена в закладки — то автоматически все минуса в карму (набранные за эти три дня) сгорают. Причем на четвертый день минуса в карму попадают уже напрямик (как сейчас) и даже минуснувший сразу, но «непрошедший», может уже наверняка сделать это.
Не совсем понял, какой именно сценарий (из уже позже предложенных) такой подход не пройдет…

Ога, 100 комментариев. Это такое изощренное издевательство — сначала поднять срач, а потом он вытаскивает тебя из лужи? Это точно не нужно.


Не совсем понял, какой именно сценарий (из уже позже предложенных) такой подход не пройдет…

Так с клепетелем же, по таймеру статьи выпускающий. Конечно, это может быть такой экперимент по прививанию рефлекса не реагировать на троллей и срачи не поднимать, ну так автор сам начнет себе комментарии набивать… Вообщем, если хотите иммунитет, то включаться он должен только после того, как статья рейтинг наберет. Таким образом то, что большинство оценивают негативно, не позволит находится в вечном иммунитете. И еще тогда уж общая величина иммунитета должна быть ограничена, чтобы длительность непрерывного иммунитета не превышала N дней подряд + cooldown M дней.


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

Ога, 100 комментариев. Это такое изощренное издевательство — сначала поднять срач, а потом он вытаскивает тебя из лужи? Это точно не нужно.
Ну так цифра в 100 комментариев — это только как пример, с помощью каких критериев автор статьи получает иммунитет. Основной посыл ведь в другом.

Так с клепателем же, по таймеру статьи выпускающий.
Почему не подойдет? Очень даже подойдет — если статья «не зашла», то после истечения иммунитета все минуса в карму ему прилетят, он ничего не выигрывает от этой ситуации.

Вообщем, если хотите иммунитет, то включаться он должен только после того, как статья рейтинг наберет
Здесь предлагается система иммунитета с отложенным минусованием кармы: после размещения статьи автор получает 3 дня, когда будет невозможно непосредственно минуснуть его карму (если только он не оставляет новых комментариев под другими статьями) — все эти минуса подсчитываются, но пока не начисляются. Если за эти 3 дня статья не набирает неких показателей полезности для сообщества Хабра, то все минуса он получает сполна.

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

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

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

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

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

можно отобрать тех, кому отвечаешь, на остальных не отвечать
Согласен, хотя формулировка довольно агрессивная. Реагировать на деструктивный троллинг самое неблагодарное занятие.
ага. Обидка в стиле Элбакян
Можно было хоть в лицензии прописать, что сервер специально создан, чтобы нарушать принципы и кто не согласен, не имеет права его использовать)

Да и тот чел наверняка прав в том, что сейчас все очень сильно и необоснованно доверяют опен сурсу. Если проект имеет серьезный изьян, нужно хотя бы в ридми об этом написать — вполне себе компромисс.

Но удалять проект… Это слишком.

Он год ходил спрашивал "Люди возьмите проект". Люди не взяли.


А потом произошло что призошло.

да всмысле? делаешь проект? твой, бесплатный, без тз и обязательств? делай что хочешь, соблюдая минимальный этикет безопасности. Не нравятся ишью, пр, так закрой доступ посторонним. Не нужно для этого переносить проект в другой репо. Конечно, наверняка и там его можно будет скачать, но зачем? Это ограничивает распространение технологии, а значит и внимание к ней. Даже если сейчас проект никому не нужен, заинтересованные могли появиться через год. В общем, уважаю решение автора, но мотивация мне не понятна
Наверно, чтобы в будущем не могли придраться, например работодатели.
Мотивация простая, Open Source, очень часто вещь делающаяся Just For Fun. Если Fun уходит — зачем портить себе нервы дальше? — Всем спасибо, все свободны.
Вполне понимаю автора. Не хватило у него желания и духу посылать хейтеров на 3 веселых буквы, ну что-ж, такое уж у него восприятие мира и характер. Имеет право.

С другой стороны, не уверен как с этим в расте, но может стоит закрыть проект и перевести его в коммерческий?
Хочешь быстрый вебсервер — пожалуйста, вот прайс, вот блобы, вот саппорт, особо щедрым фиксим баги вне очереди.
Хочешь бесплатно и с исходниками — тащи любой крейт и смотри как все апи работают на 5 мсек дольше.

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

Ну вот. Кучка фанатиков, скорее всего не создающих ничего, шеймит человека за то что его процессы разработки не вписываются в их надуманные идеалы…

Скорее из категории "security people", о которых Торвальдс периодически высказывает своё мнение.

Торвальдс сам чуть ли не самый известный токсик в ИТ.
и оба его проекта бьют рекорды популярности

Да, но я бы не стал ставить его в один ряд с фанатиками.

То что делает что-то крутое не дает ему право унижать и оскорблять других людей. Не говоря уже о том что подобное поведения от авторитета мирового уровня известности (и вероятно кумира) воспринимается жертвой не слабее чем оно же от сотни анонов с реддита разом.

Он осознал своё поведение. Продолжает ли он и сейчас, не знаю.

UFO just landed and posted this here
А что может давать такое право кому-либо, по Вашему мнению?
Очень хотелось бы увидеть мнение специалиста.
Почему нельзя было так сразу и написать?
Например, вот так: «Ни у кого, в не зависимости от его заслуг, положения и чего-либо ещё, нет права унижать и оскорблять других людей.»
Потому что я писал не тематическую статью, а ответ на комментарий где человек с конкретными качествами противопоставляется другим людям без этих качеств.
Нельзя унизить и оскорбить, можно только унизиться и оскорбиться.
Впрочем, этот подход в современном мире непопулярен.
А изнасиловать можно? Или только изнасиловаться, одев откровенную одежду и по каким-то надуманым причинам не одобряя то, что с тобой делает насильник? Мне кажется, что у вас в комментарии какая-то очередная форма виктимблейминга, сейчас почему-то популярная в определённых кругах.

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


Конечно при достаточном давлении все сломаются, но в обыденной жизни это сравнительно редкое явление. Да, Линус хамит, но это не целенаправленные пытки.

Для физического насилия такого примера нет.

Есть. Это может не осознавать ребенок, человек с отклонениями умственного развития или же человек от рождения воспитанный в окружении с девиантным поведением.

вас оскорбляют на неизвестном вам языке

Да что там! Существуют языки, полностью состоящие из оскорблений: PHP, JS...

Есть действия и есть отношение к ним, и относиться вы к действиям вольны как заблагорассудится. Ответственность за действие несёт совершивший, за отношение — вы.
относиться вы к действиям вольны как заблагорассудится
Увы, в теории звучит хорошо, но на практике это так не работает. Не может человек просто щелкнуть тумблер и начать равнодушно выслушивать например оскорбление своей матери. Он либо изначально таким сформировался под влиянием жизненного опыта, либо нет. Подавляющее большинство людей попадают во вторую категорию.
Ну, так вот с «оскробления» все и начинается. Вы привносите в объективную реальность свои оценки и от этого потом страдаете. Виновата ли реальность, что она не совпадает с вашими суждениями о ней?
Реальность не может быть виноватой или нет, она просто существует по факту. Но люди предстают перед тем какая она есть, и могут с этим что-то делать. Например придумывать правила и законы, мотивирующие не причинять друг другу неприятности.
Ну так а где граница «неприятностей»? Кто ее определяет? Вот для меня неприятно, что меня не берут на работу в Микрософт. Надо сделать правило, чтобы брали.
Или вот мне минус поставили за мой комментарий. Мне это тоже очень неприятно. Опять правило выдумывать?
Ну так а где граница «неприятностей»?
Ее сложно определить, но где-то она есть. Так же как граница количества волос, после которого человек может считаться лысым. Возможно когда-нибудь этот вопрос исследуют достаточно глубого, чтобы дать приемлемый ответ.
Надо сделать правило, чтобы брали.
Не надо, потому что это пример из плоскости крайностей. Вас не берут в микрософт потому что этому есть рациональное обоснование, и оно учитывает косвенные последствия вашего принятия для других людей. Т.е. соблюдается определенный баланс между вашими и чужими неприятностями и выгодами. Ну а если вам кажется что вас не взяли несправедливо, то правила по которым вы можете пожаловаться уже есть.

А вот когда один человек осознанно оскорбляет другого, никакого баланса нет. В среднем оскорбляющий просто тешит свое ЧСВ, а оскорбленный просто огребает. Если можно было бы выразить настроение числовым значением, это было бы эквивалентно его воровству.
Или вот мне минус поставили за мой комментарий.
Голоса это лишь инструмент выражения согласия с мнениям. А мнения двух людей не могут пересиливать друг друга. Вы не можете принудить другого согласиться с вашим мнением, и наоборот. Вам может быть неприятно от минуса, а минус может быть следствием неприятности вашего комментария для минусующего.
Как вы определили, что пример из области крайностей? Вероятно, то, что вы сказали сводится к одному — мои чувства для вас не важны. А если завтра меня изнасилуют, вы тоже на это скажете — баланс между неприятностями и выгодами?
А если завтра меня изнасилуют, вы тоже на это скажете — баланс между неприятностями и выгодами?


Не волнуйтесь, если вас изнасилуют, приятно это будет одному человеку — тому, кто вас изнасилует. Дискомфорт это причинит заведомо значимо бОльшему количеству людей (кому-то неприятна сама возможность такого варварства, кому-то страшно за себя и близких, а кто-то сам хотел, а его опередили, и ему теперь тоже неприятно). Поэтому такие вещи и запрещены законодательно. Тут вы зря переживаете.
Ну, так и от минусов мне тоже вообще не приятно, а приятно только тому, кто ставит минус. И если вы опросите посетителей хабра, что они чувствуют когда им ставят минус, очень немногие скажут, что им это нравится.
Там как раз сверху, кому я отвечал и предлагает на любую неприятность придумывать правило. Вот я и привел пример ситуации, где неприятность есть, а правила нет.
Никто не будет придумывать правило на каждую неприятность. Правила будут придумывать на каждую статистически-значимую неприятность. Ну, в смысле, до тех пор, пока вокруг демократия.
Я не эксперт по изнасилованиям, но вот тут пишут, что «с января по май 2019 года было зарегистрировано 1245 подобных инцидентов». Не понятно, сколько там произошло в остальное время, но, это явно меньше, чем поставлено минусов на хабре за аналогичный период.
Вероятно, изнасилования менее статистически значимы, чем минусы. Ну или, по крайней мере, сравнимо.
Вы прямо в корне неправы. Сейчас укажу вам на конкретно «корень», чтобы было понятно.

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

Итого: вас минусуют в соответствии с явно выраженным вами согласием на это действие. Вы лично разрешили, вы лично дали согласие.

1245 изнасилованных, исходя из определения, согласия не давали.

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


«Сообщество пользователей сайта является саморегулируемым, поэтому разобраться во всех нюансах работы проекта с первого раза получается далеко не у всех. Чтобы объяснить, как всё устроено, мы подготовили данный справочный раздел.»

Вот про карму. Вы с этим явно согласились.

По-вашему, одевая короткую юбку и выходя на улицу, девушка соглашается быть изнасилованной?


Это по вашему, я говорил о том, что она согласия не давала.

Соглашаться-то я соглашаюсь, и не на такое люди соглашаются. Но приятней мне от этого не становится.


И? «Я согласился, а мне теперь неприятно… Давайте будем считать, что я не соглашался...» Ну детский лепет какой-то! Лет-то тебе сколько?

Соглашаться-то кто-то заставлял, очевидно? Пистолет у виска держал? Нет? Значит, без принуждения согласился, сам? Ну вот будь добр соответствовать.

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


Как что-то хорошее. Как это относится к дискуссии кроме «А чо я то? Танька вон вообще в носу ковыряется!»

Почему-то отозвать свое согласие на получение оценок я не могу. Тоже странно. Я вот хотел бы сейчас.


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

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

Что-то вы как-то не добро ведете дискуссию и явно не о том, о чем и я. Я как раз и говорю о том, что правилами нельзя решить всех жизненных ситуаций, а вы мне говорите, фактически, что мои чувства не важны. Ну, ладно.
UFO just landed and posted this here

говорите за себя, не все люди полные флигматы, хотя среди программистов таких видимо много.

UFO just landed and posted this here

Самое страшное — это флигматы со стегматами.

Как вы определили, что пример из области крайностей?
Используя логику. Циклично повтояряя вопросы «как» и «почему» можно опровергнуть абсолютно любое утверждение. Но вам не кажется что это все равно что признать отсутствие конструктивных аргументов?

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


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

Я не вижу в этом большой разницы.


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

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

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


Ты охренел?

То есть вы не возражаете если вас поймает маньяк и анально изнасилует? Беременности не произойдет, я гарантирую это.

То есть вы не возражаете если вас поймает маньяк и анально изнасилует?

Наоборот, возражаю. Но почему анальное изнасилование считается плохо, а минус поставить — нормально? Мне и то и другое неприятно.

Потому что зайдя на хабр вы согласились добровольно с тем что вам будут (возможно) ставить минусы.
Если интересует изнасилование, то должно быть по аналогии.

Нет. Это не где не написано, более того в законе написано обратное.
Upd: Да и что вы на девушку стрелки переводите, речь же про ваши так сказать аналогии.

И что? А если я у себя на входной двери дома напишу, что «входя в квартиру, вы соглашаетесь быть изнасилованы», это сразу какой-то законный статус придаст такому утверждению?
Я говорю о том, что вред и от изнасилования и от минуса — субъективный, он ощущается только жертвой. Нельзя объективно померять душевную боль. И я одинаково против этих двух явлений: минусов и изнасилований. Но почему-то общество не на моей стороне. Странно.

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

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

Можете поспрашивать у своих соседей или вообще людей на улице какая проблема важнее. Судя по ответам 3ех людей на ваш комментарий это так.

Ну, так когда в лицо человека спрашиваешь — он совсем другие результаты выдает, чем то, что он на самом деле делает. Важно ведь не то, что люди говорят, а что они делают.
Им уже рассказали, что изнасилования — плохо. А про минусы пока что не рассказали. Это просто показывает, что общественное мнение — очень плохой инструмент, чтобы делать жизнь людей лучше.
В общем, мы с вами в какую-то совсем уже софистику ударились. Я говорю прямо: минусы = насилие. Change my mind.
Ну, так когда в лицо человека спрашиваешь — он совсем другие результаты выдает, чем то, что он на самом деле делает. Важно ведь не то, что люди говорят, а что они делают.


Популистская чушь. Для «публичных дебатов», которые являются единственным, насколько я знаю (поправьте меня, если я не прав), легитимным путем внесения изменения в законодательство демократической страны, важно именно то, что человек говорит.

Им уже рассказали, что изнасилования — плохо. А про минусы пока что не рассказали.


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

Это просто показывает, что общественное мнение — очень плохой инструмент, чтобы делать жизнь людей лучше.


Других более лучших не имеем, сорян. В принципе, другие есть, но они все хуже, проверяли.

Я говорю прямо: минусы = насилие.


Я говорю прямо: чушь собачья.
Популистская чушь.

Ээээ. Проводится экспертная оценка, выходит на публичных дебатах эксперт и ртом озвучивает данные и выводы. Все нормально вроде. Прямо как завещал Людвиг: «дело обстоит так-то и так-то».

А при попытке рассказать, что такое минусы, «они», скорее всего, либо в жопу вас пошлют, либо засмеют.

Нет, если это будет в законе и это будут преподавать в школах. Типа, если не авторитет попытается рассказать, то все так и будет. А если авторитет, то результат будет другой.
Или вы думаете, жертв насилия кто-то слушает? Они так-то боятся в полицию пойти и это известная проблема виктимологии. Первое предположение о жертве насилия — «сама виновата» и «довела, видимо».

Других более лучших не имеем.

Ну, ладно.

Я говорю прямо: чушь собачья.

Извините, не убедительно.

А ещё на работе работать заставляют, а я может тоже не хочу — вот это "насилие", не то что какие-то минусы.
Сначала определите насилие. Я разделяю физическую безопасность от словесного взаимодействия с людьми.

Меня на работе никто не заставляет. Я просто прихожу, у меня есть задачи и я их делаю. Спрашиваю, если что не понятно.
Сначала определите насилие.

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

Т.е. и премий у вас нету (награды) и уволить не могут (наказания), и собственно задания это в каком-то смысле команды, по другим пунктам частично тоже можно придумать примеры.


Википедия и источники на которые она ссылается с вашим определением не согласны. В коммуникации насилие это угрозы физического насилия и всё.

Нет, не так. То есть, явления такие есть, но они ненасильственные. Разница в том, что критерии объективные. Ты приносишь реальную пользу многим людям и это влечет за собой премию. И ты, соответственно, подводишь и/или мешаешь многим людям, что приведет к увольнению. В обоих случаях, всегда понятно за что именно премия и за что именно уволили.
Нет, не команды. Ну, вы приходите куда-то, где уже есть другие люди, они о вас заботятся, помогают и ваше естественное желание им также помочь в благодарность. Эти люди оказались достаточно заботливыми, чтобы выписать свои нужды, да еще и снабдить их описанием. Вот вы и помогаете. Не было бы задач, я бы подошел к кому-то, кто нравится и спросил бы «чем я могу помочь?». Таков путь.
Тут что имеется в виду. Например, «ты молодец» = оценка + награда. Выразить то же самое без насилия можно так: «благодаря тому, что ты выполнил ту задачу быстрее, чем изначальная оценка, мне удалось убедить стейкхолдера запланировать важную фичу, которая принесет нам много прибыли». То есть, указать конкретное деяние, и что это значит для меня лично.
А что, вы кроме Вики ничего не читаете больше? Там же простые люди пишут, они что знают, о том и поют.

А чем награды отличаются от бонусов? На награду тоже не обязательно претендовать. Увольнение это и есть наказание за то "что совсем не работать или сильно косячить". Пока всё сходится.
А кто такие простые люди и чем они хуже не простых? Тут у вас уже намек на "ярлыки, осуждение и критицизм". На лицо насилие.

Вы, видимо, на старую версию ответили, я немного подредактировал с первого варианта ответа.
Награда — это как в цирке. Прыгнул через кольцо — тебе суют вкусняху. Бонусы принципиально другая модель. Я хочу себе машину, но не могу себе ее позволить. Я могу или поискать другую компанию, чтобы платили больше, или попробовать в этой компании взять на себя больше ответственности. И многим нравится работать в одной компании долгие годы.
Аналогично, увольнение. Все-таки, работа — коммерческое предприятие, и если вы не помогаете заработать, то есть другие, которые справятся лучше вас. Вас приглашают на работу, потому что вы нужны. А если вы не справляетесь, то попробуйте еще что-то поделать.
Да, грешен, каюсь. Смысл в том, что там все не просто с Википедией. Нельзя использовать ее как критерий истины, мол, раз в вики нет, то все фигня. Там много чего нет.

Именно, ответил на старую версию.


  1. В цирке котики, им не нужны машины, им вкусняшки — самое то.
  2. Так и с котиками, не справляются идут искать что пожрать на помойке или в приюте для животных.
  3. Да и гуманные методы дрессировки не предполагают особо физического насилия — всё за вкусняшки, которые составляют только часть рациона. И питомцев своих люди обычно любят. Опять всё подходит.

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


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


Пока складывается впечатления, что у вас определения вещей сугубо субъективные. "Мне нравится значит это хорошо, мне не нравится — насилие". Но так никакой конфликт интересов не решить, ибо нужны объективные определения.

Все, что я назвал — лишь известные проявления насилия. Конечно, у насилия есть причина — оно хорошо работает. Проблема ровно в том, что насилие порождает насилие. Когда вы его применяете, вы в ответ получите тоже насилие, и, зачастую, в большем объеме. Вы не можете этого избежать никакими способами или логическими построениями. Вы заплатите за все, что другие люди сделали для вас не добровольно, а из чувств вины, стыда, долга, обязательств, страха наказания.
Единственный путь — научиться его определять и выдавать наружу только ненасильственные речевые конструкции.
Не буквально. Такие задачи приходят через поддержку. Поступает задача, с высоким приоритетом, я на нее реагирую и принимаюсь сразу же, как увидел. Ну, а как еще-то? Из этих миллионов же мне зарплату платят, они не из воздуха появляются. Это, типа, не логично — заниматься чем-то кроме тушения пожара в горящем доме.
Объективно измерить насилие невозможно, потому что оно проявляется на уровне чувств. Человек, который испытывает насилие записывает его на ваш счет и вы этот счет обязательно оплатите в двойном размере.

А какое насилие во фразе "нам надо срочно фиксить теряем миллионы"?
Я вот представил: загорелся дом рано утром, а пожарные такие приходят к 11ти дня и после кофе с печеньками откидываются на кресле и такие "чё там в jira у нас сегодня в приоритете?".

А какое насилие во фразе «нам надо срочно фиксить теряем миллионы»?

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

Я вот представил: загорелся дом рано утром, а пожарные такие приходят к 11ти дня и после кофе с печеньками откидываются на кресле и такие «чё там в jira у нас сегодня в приоритете?».

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

Ну а что мы обсуждаем? Минусы в комментах? Ну конкретно на хабре может от них толку и мало. А так обычный механизм оценки. Понравилась статья или нет, полезный ответ или нет. Где тут насилие?
В любом случае некоторая форма модерации нужна, а это по своей сути запреты. Как ни называй без это не обойтись.

Ну, так, вероятно, обществу и проблема изнасилований не интересна.


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

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


У нас демократия. И она у нас не потому, что прям вообще вся такая хорошая и идеальная, а потому что за 2 тысячи лет перепробовали дофига чего, придумывали разное, и выяснили, что все остальное — еще хуже. Если вы придумаете что-то более совершенное — велкам за Нобелевской Премией Мира.
Практика показывает, что интересна. Даже закон соответствующий придумали.

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

У нас демократия.

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

А почему возражаете? Вреда ведь никакого. Ни беременности, ничего, даже смазка будет.

Я возражаю, когда это против моего желания. И минусы мне тоже ставят против моего желания.
Объективного вреда от минусов нет. А субъективный — есть.
И минусы мне тоже ставят против моего желания.


Но с вашего согласия. Чуете разницу: желание vs согласие.

Подошли вы к трансформаторной будке, а там табличка: «Не лезь, йобом токнет». Вы залезли, вас закономерно «токнуло». Ай-ай-ай, что делать, что делать? Видимо, срочно убирать ток из всех трансформаторных будок?

Объективного вреда от минусов нет. А субъективный — есть.


Вот видите, сами же признаете: объективно все норм, а все ваши претензии сводятся к «мне неприятно»…
Но с вашего согласия. Чуете разницу: желание vs согласие.

Ну, таки, нет. Я просто пребываю в среде, где минусы — факт мироздания.

Подошли вы к трансформаторной будке, а там табличка: «Не лезь, йобом токнет».

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

Вот видите, сами же признаете: объективно все норм, а все ваши претензии сводятся к «мне неприятно»…

Ну, тогда, если вашу логику продолжить, и насиловать можно. И грабить и убивать. А если речь идет про кражу, так там даже больно не будет. Красота.
Почти согласен, за исключением нескольких тезисов.

Ее сложно определить, но где-то она есть.


Вот этой штуки — нет.

Не надо, потому что это пример из плоскости крайностей.


И этой — тоже.

Есть просто неприятности, которые неприятности для 3,5 анонимусов, на которых всем «срать» (простите за мой французский). С течением времени в силу меняющихся по объективным причинам обстоятельств некоторые неприятности становятся неприятными несколько большему количеству людей. Если это количество достигает критической массы (например, существенно более чем половине поголовья человеков), законодательство меняется так, чтобы неприятности бОльшей части человечества превратились в приятности, одновременно породив неприятности для существенно меньшей части лиц.

Демократия.
и даже если оскорбление будет на суахили — то «щелкнет тумблер» и вы тут же перестанете «равнодушно выслушивать»?
Верно. Но оскорбление/унижение — это чаще всего сочетание действия и отношения, а не только отношение. По крайней мере в общем случае.
UFO just landed and posted this here
Есть люди которые заслуживают подобного
И кто же выступит судьей, который будет решать кто заслуживает быть униженным, а кто право имеет? А что если окажется что жертва была права, или имела какие-то оправдывающие обстоятельства?
UFO just landed and posted this here
тот к кому эта жертва пытается подсосаться
И кто его наделил такими правами?
Ну пусть эта жертва напишет письмо в комитет защиты прав сексуальных меньшинств.
Ну т.е. это эксплуатирование безнаказанности и беззащитности. «А сделаю-ка я тому человеку неприятно, все равно он этому никак не воспрепятствует». Потому что он посмел написать плохой код.
должен был отнестись с должным уважением к виденью, объяснить и научить этого программиста, не жалея своих сил и времени
Не нужно бросков в крайности, все что нужно так это не делать оскорбляющих высказываний. На их написание требуется не меньше времени, чем можно было бы потратить на отклонение патча. При желании это можно сделать вставкой одной заранее составленной универсальной строки.

В плохом коде нет злого умысла, это просто следствие недостатка навыков/времени/бюджета/других обстоятельств. Такое бывает со всеми, и особенно с новичками. А вот оскорбление это умышленное решение сделать человеку неприятно, со всеми вытекающими как в сабже — разочарованием, выгоранием, депрессией, т.е выходящими в осязаемую плоскость последствиями. И никакие эфемерные экономии времени не могут этого оправдывать.
UFO just landed and posted this here
Свобода воли/ТНБ/природа
По сути вы сейчас сказали «потому что Я хочу».
Думаю там мотивация такая — «чтобы сказать чтобы этот парень (и те кто это прочитает) следующий раз десять раз подумал и прилизал свой патч прежде чем выносить мне мозг своим УГ»
Ну т.е. попытка оправдания вангованием и телепатией. При этом на практике любое оскорбление в интернете почти всегда влечет за собой холивар с тучей сообщений, что не очень согласуется с вышеприведенным объяснением.
А так всё ясно и понятно, пройдите на.
Ну а дальше то что? Автор патча перестанет писать код? Автор патча станет писать крутой код? Пропатченный код отрефакторит сам себя? Время потраченное на анализ вернется? Никакая из проблем не решилась.

Нельзя взять и сходу начать разбираться в огромном сложном проекте, его особенностях, традициях, гайдлайнах. Чтобы все это освоить придется писать код, и получать на него ревью, именно так опыт и набирается. Если этого не делать, то настанет момент когда ментейнер покинет проект и будет беда. Недостаток обучения и поддержки комьюнити опенсорс-проекта это аналог технического долга на социальном уровне.
UFO just landed and posted this here
Ну это лучше чем ваше
Это не лучше и не хуже, это просто отсутствие ответа на поставленный вопрос. Вы делаете утверждение, но не можете сказать почему оно верно, вам просто хочется чтобы оно было верно.
Давайте прав наделаем и наделять ими начнём. Вот жизнь заиграет новыми красками.
Они уже наделаны, пусть пока далекие от идеала, но даже так в сравнении с тем что было до них стало намного лучше.
Сдаётся мне (опять вангую) что Торвальдс не читает холивары
Или читает, например. Узнать то нельзя.
«Не можешь срать — не морщи жопу». Так понятнее?
Не нужно это перефразировать, ваше мнение было понятно с первого же сообщения. Не понятно чем аргументируется верность этого мнения.
UFO just landed and posted this here
Не понимаю что вы имеите в виду
Вы говорите что одному человеку можно делать плохо другому, но не можете сказать почему.
Потому что я так хочу.
Могли бы просто в самом начале так и написать. Связав всю цепочку утверждений воедино: «оскорблять это ок потому что кто-то хочет».
Следующая же снежинка придёт и начнёт жалиться что сам факт отклонения, даже без лишних слов, так ранил её душу, что не знает как теперь быть.
Это будут уже ее собственные проблемы, не нужно мешать в одну кучу самооскорбляющихся и адекватных людей.
Оскорбления это только КоАП РФ при штрафах в 1000 рублей. Ясно вам? И в интернете посылать всех на три буквы это постоянно.

А мораль. Идите. Читать. В монастырь.
И в интернете посылать всех на три буквы это постоянно.
То что оно так сейчас, не значит что оно так должно быть. А почему оно так должно быть я и пытаюсь узнать.
А мораль. Идите. Читать. В монастырь.
Во-первых чтением моралей я и не занимался, см. абзац выше. Во-вторых вы не можете указывать куда мне идти, так что нет.
UFO just landed and posted this here
А кто вам права дал?
Права на мышление, или на свободу выражения мнения? Ну они то вроде как гарантированы, не? К тому же я сам ничего не делил, деление само воплотились в реальность естественный путем, а я лишь указал на факт его существования.
Как только вы встали на скользкую дорожку всех желающих объявить достойными внимания
Куда-то вы не туда разговор уводите. При чем тут объявления достойных внимания, я о таком и близко не писал.
Но на самом деле это может быть ушлый перец
Пока это не доказано, действует презумпция невиновности.
Когда ты реально что-то делаешь, то ты занят именно этим, а не лебезишь перед снежинкой-автором очередного кривого патча, с расшаркиванием доказывая ему на 100500 страницах, что именно не учел автор этого патча. Поэтому у Торвальдса есть Linux, а у автора actix'а [был] actix. Я вижу некую иронию в том, что автора одного из, не побоюсь этого слова, flagship-проектов на расте затравили сами же растовики за то, что он «плохо знает раст».
Вы не видите некое противоречие в ваших словах? По вашему выходит, что автор actix'а и есть та самая снежинка, перед которым недостаточно «лебезили».
Вежливость в общении все равно должна оставаться, каким бы кривым не был патч.
На моей памяти было два ревьювера в нашей команде, которые не стеснялись вытирать ноги о коллег. В итоге один уволился (не могу сказать, что по этой причине, но отношения с ним у большинства были более, чем прохладные), второго сняли с ревьювинга.
А Торвальдс и fafhrd91 смогли сделать свои проекты, имея трудолюбие, упорство и талант, а не из-за плохого характера или отсутствия вежливости.
На мой взгляд, он действительно недостаточно толстокож, и это проблема. Другой вопрос, что набигающие с криками «тебе не следует писать на раст» непонятные граждане, чьи кривые патчи он отклонял — это отдельная проблема, не все способны это выдержать.
На мой взгляд, он действительно недостаточно толстокож, и это проблема.
Это проблема (в данном случае) не его.
UFO just landed and posted this here
Тащемта, нужно не болт класть, а стремиться писать лучше (встречал я код, который хорошо бы переписать, но там такие объёмы исправлений, что руки опускаются и проще с нуля написать).
UFO just landed and posted this here
Ну за интерфейсом к специалистам по интерфесам. =)
Я тоже обычно интерфейс делаю как удобно мне (если он не настаиваемый).
Если что, я про UI (иногда GUI).
UFO just landed and posted this here
Пробовал когда-то давно (емнип, перепробовал почти все джаббер-клиенты, когда искал через какой в конфе сидеть), остановился на пси+.
Правда, больше 5 лет джаббером не пользовался, наверное.
кому это *нужно*? и перед *кем* это нужно? ну то есть — *кому* автор обсуждаемого продукта *должен был* стремиться писать лучше?
UFO just landed and posted this here
ну так вот я про то же — что нужно ему самому, он вполне решает сам.
код (или кот?) что-то кому-то должен? пишите развернуто, если хотите, чтобы вас поняли (и это с моей стороны не претензия, не наезд, не issue, а просто посылка — и вывод). Но если вы не хотите, чтобы вас понимали, вы можете продолжать писать односложно. Я не буду требовать, чтобы вы стремились писать лучше — это исключительно ваше право и решение.
стремиться писать лучше (встречал я код
Неужели я так неясно написал, что имелось в виду написание кода?

Автор кода, в первую очередь, должен стремится писать этот самый код лучше для себя. Ведь ему этот код поддерживать (чаще всего).
Я не говорю, что код должен сразу у всех быть написан идеально, но стремиться к этому нужно (да, я в курсе, что идеал недостижим).
Я тоже не пишу идеальный код, но стараюсь совершенствоваться, учась у других.
UFO just landed and posted this here
Да уж, по сравнению с токсичностью Лора — даже американские sjw-фанатики — детский сад
UFO just landed and posted this here
Люди очень социальные существа, крайне зависимые от чужого мнения. Толстокожесть надо тренировать, человеку к этому непривычному это всё очень тяжело и не приятно. И каждый высер принимается близко к сердцу, особенно когда их сотни и тысячи.

Я, например, натренировался когда был гейм-мастером на игровом шарде Ультимы и устраивал эвенты для игроков. И как бы я всё великолепно не проводил — всегда находились недовольные. Любой человек хоть раз устраивавший какие-нибудь розыгрыши в сети хотя бы человек на 100-300 это знает.

Тут надо понимать две простые вещи.

Во первых, то что ты делаешь (творишь) — ты творишь для себя. Тебе это интересно, ты получаешь удовольствие, ты развиваешься или развиваешь своё комьюнити, делаешь его больше.
Во вторых, всегда есть масса благодарных игроков, которым это всё нравится и которые тоже получают от эвентов удовольствие

Когда люди получают паршивую обратную связь часто возникает следующие реакции. Одни говорят «да нафиг мне всё это надо, не буду больше ничего делать, чтобы не получать негатива». Другие могут настолько начать наплевать на мнение других, что не увидят и не воспримут обоснованной критики. Находится в балансе довольно сложно, но можно. Но как бы ты не стал толстокож, я думаю от нашей природы всё равно никуда не деться.
Есть еще один нюанс: люди с позитивными эмоциями оставляют комментарии гораздо чаще, чем те, кому не понравилось. Особенно это относилось к временам УО, Л2 и ВоВ. Не знаю как обстоят дела в современном мире, но наврядли лучше.
Людей с «позитивным» мышлением гораздо меньше. Люди как правило нацелены на то, чтобы быть недовольным, а не благодарными. Больше нацелены на критику, в т.ч не конструктивную и очень легко разбрасываются словами, сливая свой негатив. В целом, это наносит колоссальный ущерб, особенно ИТ индустрии (художника легко обидеть).

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

Справедливости ради, те кто предлагал патчи вели себя адекватно. Фразу кинул какой-то идиот, первую и последнюю.

Только потому, что иметь своё мнение, которое можешь обосновать, и не бояться называть идиотов идиотами, сейчас называется «быть токсичным».
Далеко не во всём согласен с Линусом, не разделяю его идеологию и некоторые технические решения, но уважаю как разработчика и как человека за нетерпимость к буллшиту. Нужно больше таких людей, не только в ИТ, а везде.
и не бояться называть идиотов идиотами, сейчас называется «быть токсичным»
А раньше это называлось как-то иначе? Проблема в том что Линус подает пример сообществу. А в сообществе каждый презумптивно считает себя правым, а оппонента соотвественно «наоборот». Что в купе с такой особенностью интернета как безнаказанность влечет к неконтроллируему потоку хейта во все стороны и со всех сторон.
он не подает пример, он всего лишь является предлогом для злоупотреблений (ака отмазки в стиле :«а че Торвальдсу можно, а мне нельзя?»), и в силу положения, на которое его «воздвигнули» (годами он работал в Трансмета и всем было пофигу) вынужден теперь отдуватьсяза чужие ожидания о нем.
Тот же Столлман — из MIT и FSF он сам ушел, но GNU остается за ним, и врядли какие-либо перипетии коснутся его личного проекта (разве что физическая смерть основателя)
М/б «называть вещи своими именами»?

ЗЫ Я работаю там, где нет такого понятия, как «токсичность» (применительно не к химическим веществам).
вы это так незамутненно написали, что прямо хочется футболку с Линусом «самый известный токсик — и горжусь этим».
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here

UB, Который в итоге был прикрыт ограничением на использование api

UFO just landed and posted this here
Каждый лишний ансейф должен приводить к вопросу «а почему я все ещё пишу это на расте/хаскеле/идрисе».
Ну не каждый всё-таки. Но как бы хочется, чтобы unsafe применялся обоснованно. Вот это вот — это ж просто праздник какой-то!
UFO just landed and posted this here
А что по ссылке происходит — то ли я не понял, то ли чувак пишет на С на расте.

<троллинг>А как иначе написать «самый быстрый веб-фреймворк»</троллинг>
UFO just landed and posted this here
Дык в Rust его нет пока. Assembler уже лет пять только в ночных сборках, в релизе нету.
А что по ссылке происходит — то ли я не понял, то ли чувак пишет на С на расте.
Не совсем. Это он так количество unsafe уменьшает. Изначально у него было больше сотни unsafe. Ему этим много тыкали. Он их уменьшил… вот таким вот способом.

При этом аргументация такая: да, у меня есть небезопасные функции, в которых нет unsafe, но при этом публичный API безопасен — а значит всё в порядке.

Говорить что я по этому поводу думаю… не люблю ругаться матом.

По крайней мере понятно почему он, до сих пор, фактически единственный разработчик: а как иначе-то? С таким подходом?
UFO just landed and posted this here
Просто людям важно не только да и не столько не то, «канонический» там код или не «канонический», а то, что продукт работает быстро, имеет широкий функционал и удобный API. Это не плохо и не хорошо, это реальность. Это код для продакшна, а не для выставки на ВДНХ в павильоне имени Раста. А то что автор пошел на некие компромиссы с идиоматичностью реализации в пользу скорости и, возможно, удобства — да, так бывает, что такой выбор приходится делать. Если кто-то может написать так же или лучше, но с сохранением идиоматичности — ну вперед, никто же не мешает.
UFO just landed and posted this here
Насколько я понимаю, там небезопасный внутренний API в случае его неправильного использования. Не более того.
UFO just landed and posted this here
Так и запишем: все, что основано на libc — небезопасно :) Использовать libc может только сверхчеловек.
UFO just landed and posted this here
Если бы да кабы. Впрочем, ладно, это уже обсуждалось ранее много раз :) Разговор идет по кругу.

В удаленном issue в обсуждениях вроде бы было сказано, что для воспроизведения UB там достаточно, чтобы некие две функции выполнялись одновременно и не важно, вызываются они напрямую, или нет. То есть сокрытие там проблему не рашало.

Ну а они в реальности когда-нибудь выполнялись одновременно? Был ли какой-нибудь PoC на эту тему?
Я полностью понимаю тех, кто говорит, что такому коду в экосистеме не место.


А я вот не понимаю… Если «такой код» в экосистеме возможен, значит, ему в ней самое и место.

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


Не с одной стороны, а с любой…

что делать с тем фактом, что этот проект оказывается в топе используемых (как я понимаю), и люди на него завязываются, тоже непонятно.


Ничего не делать, очевидно. Этот код, раз он оказался в топе используемых, удовлетворяет запросам некоторого сильно не нулевого количества пользователей. Т.е. это код, который а) есть здесь и сейчас, б) выполняет реальные задачи, в) достойной альтернативы в данный момент не имеет.

При наличии заведомо лучшей альтернативы количество пользователей этого кода упадет, так как не будет смысла этим пользоваться и проект сам по себе сдохнет и «вывалится из экосистемы». Т.е. единственный корректный вариант «выталкивания проекта из экосистемы», раз вы твердо уверены, что можно лучше — взять попу в горсть и запилить свой, с шахматами и поэтессами. Либо форкнуть имеющийся и переписать куски, которые вас не устраивают. А дальше ждать, какой из проектов сдохнет раньше. Оставшийся на плаву будет прав.
UFO just landed and posted this here
Давайте начнём с немного другой стороны спектра. Как насчёт кода с закладками? Майнерами биткоинов? Червями, отправляющими ваши личные данные на удалённый сервер при запуске библиотеки?


Собственно, а при чем тут unsafe и UB? Майнер биткоинов на Rust'е без UB не пишется? Или что? Каким образом типобезопасность вообще закладкам мешает? Или если червь написан без UB — то все норм, можно пользоваться?

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


А, может, кто-то и осведомлен? Риски то какие, я так и не понял, кроме «сжечь жопу Rust-комьюнити»?

У этого утверждения есть обоснования?


Ну, собственно, им пользуются, массового исхода пользователей не замечено… Покажете альтернативу? Если не покажете — значит нету.

Почему вы не рассматриваете вариант «громко говорить о проблемах в имеющемся решении»?


Потому что «Talk is cheap, show me the code».

Пойти и громко насрать в душу автору — это достаточно громко говорить. Ну, поговорили… Кому лучше стало?
UFO just landed and posted this here
При вашем утверждении, что если какой-то код можно написать, то ему в экосистеме самое место.


Ну да, собственно, а как иначе? Если вирус написан на C, то частью какой экосистемы он является? Если код «служит недоброму делу» — он перестает быть кодом?

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


Ну да, любим и пользуемся. Trade-off же: скорость vs безопасность. Кому-то нужнее скорость, кому-то безопасность. Решение принимается на уровне «обслужить X запросов в Y времени за Z денег при не более A отказов». Т.е. сводится к формуле из параметров XYZA, причем, заметьте, L (используемый язык) в критериях оценки отсутствует. XYZAL-формулы — признак фанатизма, а это плохо для бизнеса.

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


Я про достойные альтернативы спрашивал же, а не «хотя бы какие-нибудь». Я сам не растоман, и понятия не имею, что за хрень этот ваш actix. Но из информационного шума постоянно звучит «самый быстрый по бенчмаркам». Видимо, если такое «UB-говно» используют и используют настолько широко, что аж в том же информационном шуме постоянно проскальзывает «флагманский проект раста»… Ну, видимо, достаточно значимый разрыв в показаниях. Который, видимо, и достигается unsafe-кусками (иначе нахрен бы они были нужны). Т.е. остальные «достойные альтернативы», видимо, из достоинств предлагают «зато у нас без unsafe»…

Ну, такое себе.
Который, видимо, и достигается unsafe-кусками (иначе нахрен бы они были нужны).
Ну вот полгода-год и увидим — что и как. Если огранизуется форк и он выживет — будет как с LibreOffice/OpenOffice.org.

В их случае когда выпилили разную дурость (типа странных модулей на Java) — стало только лучше.

Посмотрим как здесь будет…
Собственно, я и говорил, что единственный верный путь со стороны критиков проектов — форк и опенсорцная дуэль. По результатам — определение правых и неправых.
UFO just landed and posted this here
Это ложная дихотомия. Безопасность не обязана противоречить скорости.


Как правило, эти два понятия таки находятся в обратной зависимости. Отказ от безопасности — один из инструментов повышения скорости.

Для сервера, который торчит в интернет, это не основной критерий.


Для сервера критериев не существует, он не уполномочен принимать решения. Критерии определяются владельцем сервера, важнейшим из которых является классически стоимость владения. Для владельца одного сервера, как правило, скорость действительна не так важна, т.к. влияние скорости на стоимость владения все равно будет на уровне «да пофиг, внедрение не окупится». Все магически меняется с повышением количества серверов. «10 бабушек — это уже червонец». И вот там может заролять.
UFO just landed and posted this here
Будем надеяться, что со временем баланс поменяется.


Надеяться вам придется, видимо, в одиночку. Не вижу предпосылок, если честно. Более высокая безопасность может достигаться только дополнительной вычислительной нагрузкой. В идеале эта нагрузка будет стремиться к нулю, но, как и все в нашем неидеальном мире, стремящееся к чему-либо, будет бесконечно долго приближаться, но никогда не достигнет. Ну, т.е. паритет — еще, может быть, если это будет zero-cost безопасность (слабо верится). Отрицательная стоимость безопасности — это уже никак.

Если бы это правда так уж роляло...


Для кого-то достаточно весомо роляет, видимо.
UFO just landed and posted this here

Ага и удалять приватные данные/ключи(привет почему-то не убираемый компиляторами memset_s) тоже можно во время компиляции. Наличие требований к безопасности никогда не даст zero-cost в рантайме. Потому что что-то в рантайме делать так и так для ее обеспечения придется

UFO just landed and posted this here
Эта нагрузка не обязана происходить во время выполнения. Можно проверять безопасность во время компиляции.

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

Судя по практике цена таких программистов не зашкаливает. Решает спрос/предложение и хайп. Как говорили знакомые сениор гошники, Москва пылесосит всех, кого может, и там го разраб не будет стоить сильно дешевле раст разработчика. А вот уровень гарантий той или иной программы отличаться будет значительно.

UFO just landed and posted this here
но что делать с тем фактом, что этот проект оказывается в топе используемых (как я понимаю), и люди на него завязываются

Так и до патернализма и социализма недалеко. А начинали-то с NAP

UFO just landed and posted this here
вы будете смеяться, но именно что куча наблюдаемых практик сводится к патернализму (или к «матернализму», если инфантилизируют мужскую половину населения) и классовому сознанию (т.е. не совсем к социализму, а к «борьбе групп» и т.д.)
А есть ли варианты переписать эти функции в более «правильный» вид, без потери производительности?
Есть, конечно. Но пока проектом руководит человек, который считает что так писать нормально — это будет низкоприоритетной задачей.

А пока это не будет сделано — контрибутить туда будет невозможно (ну или почти невозможно).

Тут нет хорошего выхода, на самом деле. Грустная история. Я много раз такое видел — когда отличный, по всем показателям, кроме читаемости, код приходилось заменять на худший, потому что никто, кроме автора, его поддерживать не мог.
Тут нет хорошего выхода, на самом деле.


Форкнуть, поправить, как вам больше нравится и посмотреть, чей проект раньше сдохнет… Opensource-way дуэль…
Ну дык этим и кончится, скорее всего. Как в примере c Sodipodi и Inkscape, про который я уже писал. Только автор, в результате, будет выперт со своего собственного проекта… это ведь тоже не самый хороший выход, согласитесь?
Так он же уже сам себя того? В любом случае это открытая конкуренция — и я не согласен что это так уж плохо

У оригинала всегда есть фора перед форком. Требуется не просто сделать этот самый форк, но и объяснить всем-всем чем этот форк лучше оригинала. Так себе дуэль выходит.

Согласно дуэльному кодексу 19-го, если мне память не изменяет, века вызывающая на дуэль сторона признавала право вызываемой стороны на выбор, кто будет стрелять первым. Нормальная дуэль, строго в духе дуэльного кодекса.
UFO just landed and posted this here
Выбор оружия предоставляется оскорблённой стороне, то есть тому, кто вызывает соперника на дуэль. При тяжких формах оскорбления вызывающий выбирает также некоторые правила дуэли.

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


Ну да. А вот насчет «то есть тому, кто вызывает» — очень спорно.

Вот такое, например:

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


В совсем спорных случаях — суд чести. В нашем конкретном рассматриваемом случае, оскорбленная сторона однозначно разработчик Actix, т.к. на оскорбление он, вроде, напрямую не ответил. А мог и в жопу послать, и был бы прав, потому что «а он первый начал».

Т.е. все норм, разработчик Actix имеет фору, заслуженную и обоснованную.
Но в то же время:
* Получив оскорбление, оскорбленный должен заявить своему противнику: «Милостивый Государь, я пришлю Вам своих секундантов».
* Секунданты оскорбленного должны первыми явиться к противнику.
Ну, собственно, кодексы разные бывают, очевидно. В моем таких слов нет. Да и суд чести решает, что бы там в каком порядке ни произносил.

Да и в принципе оценивать форкающего проект как ущемленную сторону — как минимум, странно. Перед ним готовый проект, который уже кто-то написал, собрал шишки. Если кого-то этот проект оскорбляет, ему остается только дописать/исправить уже имеющийся проект. Даже если «переписать полностью», это «полное переписывание» делается на основе уже предоставленного изначальным автором «инженерного образца», ценность которого вы, очевидно, недооцениваете. На имеющемся проекте провести анализ и найти слабые места, как правило, сильно легче, чем проектировать с нуля и собирать грабли самому.

А уж про раскрутку… Ну, тоже такое себе. Сравните «мой проект ABCDE, призванный (дальше простыня текста)» и «замена Actix, более лучшая, корректная, без потери скорости, вот бенчмарки».

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

Так что нормальная, справедливая дуэль. Чо не так то?

Да всё понятно же!


Аналог из мира Хаскеля:


safePerformIO = unsafePerformIO
UFO just landed and posted this here

"вот это вот" имеет комментарий, что это только для внутреннего использования. Все эти RefCell в сингл-треде и даром не нужны, но Раст без них не разрешает. Автор сделал вполне логичный workaround.

UFO just landed and posted this here

Оригинально, что вы спрашиваете у случайного человека в интернете, а не у автора. Думаю он больше в курсе. Я же, по своему опыту, думаю что большАя часть проверок раста не нужна в сингл-треде, и, кажется, что тут именно этот случай.

UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Все просто. Если запретить unsafe то значительная часть экосистемы вообще не взлетит, там куча частей же на с++ написана. Например, оно же использует в какомто виде POSIX linux, который unsafe.
Просто это как гринписовцы на самом деле. Они просто хотят, чтоб не было unsafe. Они пока не знают, как этого достичь, но хотят. В принципе, имеют право, почему нет.
Отвечать надо " я не знаю как тут переписать без unsafe чтоб сохранить ту же производительность, прошу вас мне помочь".
UFO just landed and posted this here

это внутренний unsafe, который, предположительно, не имеет проблем в single-thread, так как акторы и устроены. Что он адовый должны доказывать именно вы. Я тут ничего очень плохого не вижу.

UFO just landed and posted this here

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

UFO just landed and posted this here

ну т.е. вы просто руководствуетесь внутренним голосом, который говорит вам, что safe лучше unsafe, вам крупно повезло, вы в opensource — форкайте и доказывайте, можете начинать прямо с std раста, интересно посмотреть на результаты будет.

UFO just landed and posted this here

Мой голос говорит, что за свою жизнь я повидал много карго-культов:
1) карго культ объектно-ориентированного программирования, которые хотели всё в мире сделать объектным, ведь это так очевидно.
2) но, неожиданно оказалось что надо не объектно, а функционально, и их сменили поклонники культа функционального программирования, которые пихали его тоже везде где могли.
3) ну и сейчас это поклонники borrow-checker'а.


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


Если брать модель раста без unsafe — то она очень лимитирующая — это большой минус, её бы расширять, а не запихивать весь мир в эти рамки.

UFO just landed and posted this here

Это был ответ на ваш "внутренний голос". Модель языка и borrow-checker придумала не машина.

UFO just landed and posted this here
А я вижу. Так как написание кода на Rust опирается на основное предположение «коду вне unsafe можно верить, коду внутри unsafe нет» — то появление в коде одного-единственного подобного «адового» unsafe обозначает, что нормальный человек, средний программист на Rust, больше контрибутить в такой проект не сможет. И проект превратится в «театр одного актёра».

А теперь вы: попробуйте объяснить, что это — не то, что мы тут наблюдаем.

если нет понимания как работает и зачем это — то конечно не надо контибутить. особенно так не надо делать для очень производительного решения — это отдельная сложная тема. производительное довольно часто написано с некоторыми отступлениями от общепринятого.

Тут есть печальный flaw, утечка идеи, хз как перевести. На расте много чего нельзя либо очень неудобно написать без ансейфа.

И возникает когнитивный диссонанс, белые пальто итп…

Нужен раст++, который опять же невозможен (
UFO just landed and posted this here
UFO just landed and posted this here
Например, автору так удобнее… Написать на расте, очевидно, лучше, чем вообще не писать…
Пока это не публичный проект — да.

Так что финальный результат — автор сделал свой проект непубличным — всех должен устроить…
Публичный или не публичный проект — это личное дело автора. Вы, получается, аппелируете к тому, что как только проект стал публичным его автор стал кому-то чего-то должен. А он не должен. Он на это не подписывался. Нет никакого контракта, который подписывает автор, выкладывая код на обозрение.
Кому не нравится проект, тот может сделать или issue, или PR, или форк, или, что лучше, написать все с нуля. Написать правильно.
Вы, получается, аппелируете к тому, что как только проект стал публичным его автор стал кому-то чего-то должен.
Да, именно и точно так. Как только проект стал публичным — автор обязан выслущивать критикующих его.

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


Это где такие правила?

Посмотрите в лицензию. Там, как правило, права и обязанности сторон описаны. В обязанностях автора классическое «автор вам ничего не должен», в правах пользователя — пользоваться. Если лицензия свободная — плюс право на форк. Намекаю: на форк, молча…
Намекаю: на форк, молча…
А это где прописано, извините? Каким законом регулируется?

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

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

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


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

Может быть, вы мне дадите ссылку на требования к публикации кода? Hello-World'ы с гитхаба вычистим заодно…

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

Про обязанность кого-то там слушать вообще слова нет…
Извините, но вы технически не можете изолироваться и не слышать то, что про ваш проект пишут в issues, рассказывают на конференциях и так далее. И попытки «выпилить» «негодные» мения — приведут только к Эффекту Стрейзанд.

Как уж вы будете на всё это реагировать — это другой вопрос. Но не слышать у вас не получится.

Публичный — это общедоступный. Не «устраивающий всех» или «принадлежащий каждому смотрящему», а просто общедоступный.
Этого достаточно. Снова читаем про Эффект Стрейзанд.

Единственный способ сделать так, чтобы о вашем проекте никто «худого слова» не говорил — сделать так, чтобы про него люди просто не знали. Всё. Никаких других способов нет.
UFO just landed and posted this here
Очевидно доказательство корректности, насколько оно возможно, в голове автора проекта. Ну или на бумажке. Вряд ли он этот unsafe написал случайно.

Но сам факт наличия unsafe — не баг. Его наличие несколько хуже чем safe версия. Но его отсутствие оставляло UB которое было доказано и было значительно хуже.

Вопрос в том какой смысл говорить человеку который пишет на расте что unsafe — это неправильно? Как думаете автор сервера сам догадывается о чем-то таком после нескольких лет разработки на языке?

Предупредить сообщество? О том что автор в одном месте возможно обоснованно использовал unsafe? И о том, что он там возможно допустил ошибку? Почему не написать, что кажется он мог допустить логическую ошибку, которая вполне согласуется с safe, вы её не нашли, но возможно же. А весь код вы не проверяли. Подходит вообще к каждому коммиту.

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

PS «Вы» в тексте это не вы, конечно, а просто способ подачи мысли.
UFO just landed and posted this here
Я согласен с тем что написания на расте вне парадигмы стоит избегать. Мой комментарий был о том, что сообщать об этом ни автору ни сообществу — не нужно, потому что они в курсе.

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

Мне теперь просто крайне интересно как раст сообщество проводит черту? Потому что я зуб даю что в кишочках unsafe более чем хватает. Где его можно завернуть и сделать вид что снаружи safe, а где нет?
Насколько большой кусок можно завернуть один раз, а какой — уже нет?

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

Где его можно завернуть и сделать вид что снаружи safe, а где нет?
А там где нет — так можно функцию пометить unsafe. И тогда её вызывать из кода без пометок unsafe будет нельзя.

Обратите внимание что все «типа как контрпримеры» — в духе «а вот смотрите — в стандартной библиотеке есть похожая функция… а теперь представьте что она не помечена unsafe...»

Ответ очевиден: она помечена unsafe — именно потому что она «такая же» и тоже может нарушать инварианты.

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


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

Да, нужно учить людей так не делать.
Есть такая фраза: «всему своё время». Учить этому нужно новичков. Людей без опыта.

Человека, несколько лет пишущего на Rust и до сих пор этого не понявшего — учить уже поздно.

Верно, но всё это начинает влиять только если на проекте больше 1 человека, иначе марировку такого вида делать особо не для кого.
Эта маркировка делается, в первую очередь, для компилятора. Для того, чтобы он мог сделать проверки и вас остановить, если вы делаете ошибку. Если вам это «нинуна» — то непонятно зачем вы вообще с Rust связались.

Нет, говорить «не пиши на расте никогда» не надо.
Здесь вы, наверное, правы. Вот эта статья явно более адекватна.
Верно, но всё это начинает влиять только если на проекте больше 1 человека,

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

А тут мы подходим к вопросу о том, нужно ли писать такие вещи в таком стиле на расте. Ведь, опять же, смысл раста — чтобы не нужно было человеком проверять весь код.


Сорян, но мне кажется, в ваших вопросах лишнее слово — раст. Фанатизмом веет…
UFO just landed and posted this here
Осталось понять, о чьих мы ожиданиях говорим.

Если об ожиданиях автора Actix относительно Rust'а. Ну, собственно, он ожидал, что раст — это тот язык, который позволит ему написать Actix. Собственно, вот он, Actix… Не вижу противоречий.

Если об ожиданиях разработчиков языка, что их поделием будут пользоваться иначе — ну, собственно, наивность во все поля. Да и, насколько я понял, именно разработчики языка не против. Им срать вообще на какой-то там Actix.

Если об ожиданиях анонимного кукаретика в issues на гитхабе. Ну, они-то уж точно ничего общего с реальностью не имеют…

Ну, такое себе.

Да и «философия инструмента»… Такое себе… Это инструмент, его дело — задачи выполнять, а не философствовать.
UFO just landed and posted this here
У меня есть набор ожиданий от языка.


Ну вот странный вы — набор своих ожиданий от языка масштабируете на автора библиотеки…

Например, что функции, не помеченные как unsafe (заметьте, safe — свойство по умолчанию), сохраняют те или иные варианты. В хаскеле есть способ энфорсить это (подмножество safe haskell), в расте — (пока?) не завезли.


Ну вооот, в расте — не завезли. Т.е. претензия у вас, видимо, к авторам Раста? Дык, вероятно, стоит им и отнести?
UFO just landed and posted this here
Я эти ожидания масштабирую на тот код, с которым мне приходится работать.


Ну вот зря же. Ожидания — вещь, безусловно, полезная. Только полезность их проявляется на этапе решения о принятии кода в работу. Составляете список ожиданий от кода, проверяете код на соответствие ожиданиям. Если не соответствуют — не принимаете код в работу.

С момента, когда код официально принят в работу, ваши ожидания превращаются в элементарные «хотелки». Это примерно как сначала взять в олимпийскую сборную по бегу человека с плоскостопием, а потом искренне сокрушаться на тему «а я вот ожидал, что он бегает быстро».

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

А тут — сначала понапринимают в работу неведомо чего, а потом начинают натягивать сову на глобус и ожидания на реальность.
UFO just landed and posted this here

Во-первых в расте такая возможность есть.
Во-вторых в хаскелле этот способ заэнфорсить по крайней мере на текущий момент бесполезен — он отключает кучу полезных расширений вроде GeneralizedNewtypeDeriving.

UFO just landed and posted this here

Логичным workaround тут было бы использовать unsafe уровнем выше.

Насколько я понимаю, автора и так постоянно долбили за то, что у него «слишком много unsafe».

Я бы на его месте ответил: "кто-нибудь может сделать лучше?" и не стал ничего менять.


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

Собственно основная проблема — в том, что наличие одного такого unsafe делает метрику «количество unsafe-блоков» бессмысленной. Потому что после этого совершенно непонятно — сколько в этой библиоте, на самом деле, небезопасного кода. Может там этот трюк в паре мест используется, а может в тысяче… кто знает?

если разворачивать все unsafe наверх, а тем более из std, то как бы в итоге не получить какой-нибуть слишком уж глобальный и неприятный вывод, например о том что safe-rust не про перфоманс вообще.

Это будет отрицательным результатом — но тоже хорошим результатом.

Потому что вы убедимся в том, что одновременно быстро и безопасно не бывает — и тогда, возможно, перейдём на безопасные, но медленные языки типа C# или Java.

А вот иметь код, который, как тебе кажется, безопасен, но который, на самом деле, содержит проблемы — это однозначно плохой результат.
Это будет отрицательным результатом — но тоже хорошим результатом.

Это ваше теоретическое мнение. А автору код надо писать в прод.
О каком из авторов мы говорим? Об авторе библиотеки или здешней статьи?

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

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

Сначала профилируй, потом начинай творить дичь.

Ну т.е. создатели раста зачем-то, видимо по недосмотру, оставили unsafe, а нехорошие люди, типа автора актикса, этим злоупотребляют.


Просто создайте RFC и PR в раст по отключению unsafe и проблема решена.

оставили, потому что раст без ансейфа нежизнеспособен…

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

"Разворачивать наверх" надо только те ансейфы, которые протекают. И в std как раз так и сделано: ряд функций отмечены как unsafe.

конкретно указанный по ссылке выше unsafe — протекает?

UFO just landed and posted this here
Он не то, что «протекает». Его единственный смысл — это возможность «протечь» и дать возможность писать небезопасный код без всяких там лишних пометок.

То есть там кроме «протечки» — вообще ничего нет.

Объясните, как об будет течь в однопотоке.

Достаточно того, что оно «дотекает» до края unsafe блока. И позволяет взять две изменяемые ссылки на один и тот же объект.

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

То что этого сегодня, сейчас, не происходит, так как в этих оптимизациях в LLVM ошибки и они в компиляторе Rust отключены — ваше счастье.

Но это не значит что этот код нужно так и оставить. Это значит что у вас [пока] ещё есть время на то, чтобы всё исправить.

Знаете — я этих всех рассуждений наслушался от пользователей C++. Которые тоже всегда начинают рассуждать о том «а как может сработать это UB» и «да я лучше вас знаю о том как работает CPU, нафига мне заботится о ваши стандартах». Я даже статью об этом писал когда-то.

И правило, которого я придерживаюсь очень простое: «код, написанный с пониманием того, как работает CPU»… того не стоит.

Его можно посмотреть, чтобы увидеть в нём какие-то идеи… но в 9 случаях из 10 дешевле не проводить аудит, а написать всё с нуля.

Вот то же самое и здесь. Rust и Unsafe Rust — это разные языки. Да, у них похожий синтаксис — но это разные вещи. И в коде на Rust не должно быть методов которые нельзя безопасно использовать из обычного Rust — все такие методы должны быть помечены unsafe.

Если, как fafhrd91 утверждает, его вообще не заботит гарантии безопасности Rust-кода (а заботит только безопасность публичного API) — то мы имеем дело не с 50000 строчками в которых 16 unsafe блоков, а с 50000 строчками unsafe кода.

И если хочется его подерживать — то нужно его сначала вычитать и привести в порядок (разделить его на безопасный и unsafe код «по настоящему»).

Огромная работа и не факт, что удастся найти человека, который рискнёт этим заняться…

Спасибо за развёрнутый ответ, но так и не понял как именно он протекает, зато применили словесную гимнастику о том что он куда-то до края дотекает.


В общем-то позиция понятная, но она не соответствует целям и эксперименту данного фреймворка. По "стандарту" надо взять спринг и никакой не Раст.

Идея unsafe в Rust что они отключают ряд проверок borrow-checker. При этом обязанность программиста написать unsafe код так чтобы по его окончанию инварианты которые требует компилятор не были нарушены. Соответственно если после окончания unsafe блока существует 2 изменяемых ссылки на один обьект — это прямое нарушение инвариантов языка и не возможно с помощью компилятора доказать что они корректно используются. Об этом и говорил khim когда говорил что они дотекают до конца unsafe блока.
Если инварианты языка нарушены в таком блоке unsafe то в идеальном мире все вызывающие функции тоже должны быть помечены как unsafe вверх по стеку и до того места где инварианты языка восстановлены. Но фактически этого не сделано.

Я знаю что такое unsafe и borrow-checker. Я понимаю что о чём вы все говорите в общем случае, но, я думаю, что вы рассуждаете абстрактно, без вникания в детали. Я не спорю, что это выглядит плохо, но, чтобы доказать что в контретном случае это плохо — надо залезать в детали реализации и смотреть как это используется, и что это вызывает протечку из публичного API. Если автор не использует эти ссылки из разных потоков, то, вероятно, это вполне безопасно.


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

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

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

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

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

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

Всё. Вот совсем всё.

Понимаете — это не вопрос «религии». Это вопрос «техники безопасности». Это как если бы электрик выкручивал УЗО и соединял провода напрямую аппелируя к тому, что они ему мешают, а на входе в микрорайон всё равно есть защита.

Никакие рассказы про то, что он «pushing boundaries» не проканали бы — его бы уволили и всё.

P.S. По крайней мере стало понятно почему у проекта нет активных контрибуторов, кроме автора…

"Несоблюдение формальностей обозначает что у вас UB" — ой, да ладно, come on. Несоблюдение формальностей означает всего лишь то, что компилятор своим примитивным borrow checker'ом не может гарантировать, что тут нет UB, вот и все. Это не то же самое, что "UB есть". Единственное что можно ДЕЙСТВИТЕЛЬНО вменить автору — это то, что он расставил МАЛО unsafe-директив, надо было ставить их больше, и не слушать кукарекание пуристов про "тут слишком много unsafe", вот и все.

Несоблюдение формальностей означает всего лишь то, что компилятор своим примитивным borrow checker'ом не может гарантировать, что тут нет UB, вот и все.
Если у вас, как у автора Actix, есть функция, которая может передать в «безопасный» код две мутабельные ссылки на объект — то речь уже идёт не о «примитивном borrow checker»е, а о, извините, о негодной программе.

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

UFO just landed and posted this here

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

UFO just landed and posted this here

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


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


С точки зрения идеалов языка он не прав. С точки зрения работспособности и надежности продукта — он даже с этими УБ более рабочий код предлагал. Не факт, что между постоянно паникующей библиотекой и библиотекой, которая молча модифицирует данные по случайному адресу раз в 100 лет (и который описан как "не надо так делать" в документации) выбор всегда стоит делать в пользу первой.

UFO just landed and posted this here

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


Надеемся теперь сообщество покажет, как надо было делать. Нужно всего ничего — заменить ансейфы на сейф аналоги (можно сделать за считанные дни), и не потерять производительности/удобства (а вот с этим уже сложнее).

Это уже семантика. Посмотрите внимательно на примеры из вашей же статьи: вы можете, с помощью unsafe превратить ссылку в указатель, а потом обратно превратить её обратно в ссылку… в статье это не обсуждается, так как это — прямой путь в… не будем ругаться матом… нехорошие места.

Но это — именно то, что делает Actix!

То есть да — сам по себе unsafe borrow-checker проверки не отключает, но он позволяет это сделать и, что хуже, позволяет отключить проверки даже в «безопасном» коде (условно: экспортировать «небезопасность»).

Однако это не то, что нужно делать! Я, когда писал про peek и poke не мог даже вообразить что автор Actix реально что-то подобное у себя устроил!