Comments 255
окончательно закончилась пора, когда можно было открыто послать всё в ж*пу и за короткое время сварганить аля Git.
когда можно было открыто послать всё в ж*пу и за короткое время сварганить аля Git.
Не понял: а что не так с Git?
Легко так говорить про других, а самому слабо даже слово ЖОПА без звездочки написать.
«Boys» забыли, что за дискриминация?
Слово guys уже подразумевает boys & girls & all kind of persons.
Наверняка "person" тоже кого нибудь заденет.
Вот только доживём ли мы до этого момента и, главное, будет ли кому лучше после развала? На территории СССР рай, после отказа от коммунизма, не случился, однако… нигде…
gender-queersтогда уж чтобы ничего не забыть — LGBTTQQIAAP — кстати напоминает чит-коды из дума
Screw это тоже то еще ругательство.
Хорошо, что он не спросил, where is your restroom, что было бы даже логичнее, чем bathroom, но наш человек мог бы его отправить точно не в туалет ))
Так что, если доведется спрашивать у того (или другого) америкоса «Where's your toilet?» помните, что это вопрос звучит как «где тут у вас унитаз».
Судя по статье в википедии, latrine это чаще всего туалет типа сортир на улице.
Смелые люди говорят «сральня» (shitter)
В зависимости от контекста так можно назвать ещё и папку node_modules вашего проекта, и комнату для митапов.
Чушь собачья. Настолько ранимые бы просто не дожили в современном мире до момента, когда они, будучи зрелыми разработчиками, заглянули в код ядра, и были бы шокированы некоторыми комментариями. Эти действия вызваны чем угодно, но только не ранимостью. Чтобы так воевать со всем миром навязывая всем окружающим бессмысленные ограничения — нужно иметь очень толстую кожу.
Если бы дело было именно в ранимости — нужно было бы просто форкнуть ядро и тихонько пилить свою версию, с радугами и единорогами. Если бы такая версия была кому-то нужна на самом деле, то, со временем, она бы стала популярнее основной, и все разработчики бы перешли на этот форк — и там уже были бы вынуждены соблюдать его правила, потому что это нормально, не лезть в чужой монастырь со своим уставом.
Но, на самом деле, эта политкорректность никому не нужна — не настолько, чтобы ради этого делать какую-то полезную работу. Она — всего лишь повод устроить срач, внести разлад в коллектив, переключить его с полезной деятельности на бессмысленную активность и заставить тратить на неё силы… такие вещи обычно всегда кому-то выгодны, и, зачастую, даже кем-то оплачиваются (я не утверждаю, что кто-то оплачивает компанию конкретно против разработки ядра линуха, но как минимум кто-то оплачивает пропаганду этих идей в СМИ, а уже потом заражённые этими идеями зомби идут крушить то, до чего могут дотянуться).
1984 становится всё ближе.
медиакорпорация которая получает большую часть прибыли от аудиоНасколько мне известно, они отключают звук там, где автор указал, что хочет получить деньги с просмотров этого видео, и после страйка не захотел делиться 50% прибылью с аудиокомпанией.
Казалось бы, ну да, ну тупость несусветная — какую прибыль потеряет Sony Music Entertainment от той записи. Но ведь понятно, что это было неизбежно: вырастает сервис до масштабов ютюба, вырастают прибыли, приходят корпорации, а с ними приходят корпоративные юристы, а Гугл не сможет, даже если очень захочет, посадить по адвокату отсматривать каждое видео и потом в суде доказывать fair use. А автоматическая детекция закопирайченного контента вот как-то так работает…
Какая систематическая работа?
Всё банально просто. В Linux приходит все больше и больше компаний с индусами и толерастией на уме по типу Google, Intel, AMD.
Кроме того, мейнтейнеров среднего возраста вытесняет поколение 25 летних травоядных.
Кого воспитали, то и получили.
будучи зрелыми разработчиками, заглянули в код ядра, и были бы шокированы некоторыми комментариями
А могли бы быть еще шокированы кодом :)
Замечательный списочек в тему: github.com/nikolas/github-drama
Я бы разделил так:
1. Лёгкие ругательства (например, «блин», «чёрт», «ца»).
2. Ненормативная лексика.
3. Мат.
+Это незначительно, но нужно отметить и разницу в понятиях. Это если бы мы называли компьютер «ноутбуком», windows «компьютером» или системный блок «процессором». Похоже, и даже реально используется, но для хоть немного понимающих людей звучит очень глупо.
В чём фундаментальная разница?Мат — разновидность наиболее экспрессивной русской обсценной лексики. Поэтому да, фундаментальная разница есть. Во-первых, это именно славянская/русская лексика, во-вторых, она включает в себя очень ограниченный набор матерных корней, и в-третьих, сами эти корни являются наиболее экспрессивными, превосходя по экспрессивности обычную ненормативную лексику как русского языка, так и других языков.
есть общепринятые стандарты
Конечно, есть. ГОСТ 17-856 «Маты и перематы», а также международный IEEE 75335 «Fuckin' hugs in software development»
Пруфы:
- Пруф, что это славянские/русские корни: lingvostranovedcheskiy.academic.ru/321/МАТ — «Это слова славянского происхождения»
А также: ru.wikipedia.org/wiki/Русский_мат — «в русском и близких к нему языках».
Также пруфом может служить само название мата: «русский мат». В обычной речи полное название часто сокращается до просто «мат». - Пруф, что это ограниченный набор корней: По А. Ю. Плуцер-Сарно мат состоит из 4-х матерных корней (х*, п*, е*, б*). При этом в зависимости от опросов набор корней отличается и суммарно люди в опросах называли 35 корней (включая «жрать», «блевать»), но чаще всего матерными называют именно эти 4 корня. При этом существует обсценная триада, включающая корни х*, п*, е*; вместе с б* выходит суммарно 4 корня. Также некоторые добавляют к этим корням муде, манда и елда — суммарно выходит от 4 до 7 корней. В других славянских языках могут быть также другие дополнительные корни, но тут я уже не разбираюсь.
- Пруф, что это разновидность наиболее экспрессивной и табуированной лексики: именно мат табуирован в СМИ согласно законодательству. Также именно за мат есть административная ответственность. За обычную ненормативную лексику ответственности нет (если не было других нарушений), и в СМИ она не табуирована. Также другим пруфом могут служить результаты опросов, но мне лень искать. Также наверняка есть лингвисты, но мне тоже уже лень искать.
В общем, как результат, мнение лингвистов совпадает с моим. При этом, как видно из второго пункта, по факту набор корней определялся по результатам опросов.
Различные сексуальные и рассовые меньшинства, которые читают код ядра линукс перед его сборкой (да, все 33 млн строк)
Очевидно тех, у кого вместо fuck только hug
Другое дело, что если и менять, то с целью увеличения пользы от комментариев. Выплескивание эмоций это хорошо (у себя в блокноте), но зачем это делать так, чтобы последующие программисты спотыкались о них?
Впрочем, действия товарища по редактированию гораздо хуже матерщины в коде.
Привычка материться в комментариях кода ни к чему хорошему не приводит.
Ну так там же не фак на факе и факом погоняет, а где-то кто-то эпизодически высказывал эти самые эмоции, что в нашей работе абсолютно нормальное явление. Это вообще ни к чему не приводит, ни к хорошему, ни к плохому. Совершенно безобидная вещь.
Скорее полезная — как громоотвод. Я маты в комментариях пишу редко, раз лет в 5 примерно, но практический каждый раз это избавляет проект от серьёзных проблем. Потому что если бы я сдержался, то бурлящие эмоции бы с 98% вероятностью привели к тому, что я бы в этот момент просто ушёл с проекта.
P.S. Возьму на вооружение. TODO — надо сделать, а fuck — надо прям fuck как сделать, ибо код писался на скорость утром в воскресенье после отмечания дня рождения на свадьбе сестры жены троюродного брата пока остальные гости еще спали итд.
Если это ошибка в железе, то рефакторинг бесполезен. Fuck просто намекает на это.
Это нормально. Я удивлен, что так мало факов в комментах.
P.S. подозреваю, что бодрая часть в модуле работы с зеленой графикой.
Зачем создавать себе дополнительную работу, чтобы потом выискивать неожиданные фразочки в коде?
Зачем создавать себе дополнительную работу, чтобы потом выискивать неожиданные фразочки в коде?
Не сомневаюсь, что при регистрации программ эти куски кода никто никогда не читает. Не говоря о том, что это наши сугубо национальные проблемы, которые разработчиков ядра Линукса не особо касаются. И даже если касаются, и кто-то слово fuck и прочитает, это не повод для отказа в регистрации, да и краснеть взрослым людям в таких случаях нечего.
Программный код это литература. Сложный жанр, непростой. Есть всякие-разные слова для передачи смысла и экспрессии. Вот эта ваша корпоративная мода на регулирование всего и вся, корректуру, редактуру и прочую цензуру реально бесит. В энтерпрайзе еще понятно — там дофига бездельников, которым необходимо быть visible и иммитировать бурную деятельность. Но какого хера они лезут с этими своими замшками в опенсорс? Даже на уровне юмора не смешно.
Не приняли; там есть обсуждение в треде, но вкратце CoC не распространяется на существующий код.
Нам ещё очень сильно повезло, что не все буквы запретного слова входят в шестнадцатеричные числа. Иначе исправления могли бы затронуть некоторые константы, и было бы весело.
Линус происходит из интеллигентной семьи (родители журналисты, дед математик), и ему ничто не мешает использовать мат по его прямому назначению. Возможно, кое у кого из разработчиков было тяжёлое детство.
Вообще, теория не особо соответствует реальности. Взять вот Льва Николаевича Толстого — из семьи аристократов-интеллигентов, воспитывался тётками («Добрая тётушка моя, — рассказывает Толстой, — чистейшее существо, всегда говорила, что она ничего не желала бы так для меня, как того, чтобы я имел связь с замужнею женщиною».) А вот:
С началом Крымской войны отец был призван на военную службу и определен во вторую легкую батарею 13-й артиллерийской бригады, на вакансию, оставшуюся свободной после графа Л.Н. Толстого, переведенного в другую бригаду.
Л.Н. Толстой хотел уже тогда извести в батарее матерную ругань и увещевал солдат: «Ну к чему такие слова говорить, ведь ты этого не делал, что говоришь, просто, значит, бессмыслицу говоришь, ну и скажи, например, «елки тебе палки», «эх, ты, едондер пуп», «эх, ты, ерфиндер» и т.п.
Солдаты поняли это по-своему:
— Вот был у нас офицер, его сиятельство граф Толстой, вот уже матершинник был, слова просто не скажет, так загибает, что и не выговоришь.
(Крылов А.Н. Мои воспоминания. — М.: изд-во АН СССР, 1963).
Л.Н. Толстой хотел уже тогда извести в батарее матерную ругань и увещевал солдат: «Ну к чему такие слова говорить, ведь ты этого не делал, что говоришь, просто, значит, бессмыслицу говоришь, ну и скажи, например, «елки тебе палки», «эх, ты, едондер пуп», «эх, ты, ерфиндер» и т.п.
Хотел приучить к культурной речи. Вспоминается эпизод «Джентльменов удачи».
Взять вот графа Алексея Толстого — из семьи аристократов-интеллигентов…
При этом: большой матерный загиб знали Сергей Есенин и граф Алексей Толстой.
чтобы «решить проблемы, связанные с дискриминацией, и улучшить эмоциональную обстановку среди разработчиков».
Давайте слово Х.й…
Заменим словом Мир!
В итоге слово Х… исчезнет, МИР приобретет второе значение.
Давайте слово Х.й…
Заменим словом Мир!
Напомнило анекдот из моего детства.
Два человека претендовали на одну вакансию. Им было предложено письменно ответить на три вопроса, после чего взяли одного из них. Другой попытался опротестовать решение. Ему ответили: «Первый вопрос: „какое слово из трёх букв дети часто пишут на заборе?“; другой соискатель ответил правильно: „мир“, а что ответили Вы? Второй вопрос: „какой главный орган советских женщин?“; другой соискатель ответил правильно: „журнал 'Работница'“, а что ответили Вы? Третий вопрос: „где у женщин самые курчавые волосы?“; другой соискатель ответил правильно: „в Африке“, а что ответили Вы?»
В итоге слово Х… исчезнет, МИР приобретет второе значение.
Тогда лозунг «миру — мир» будет звучать несколько зловеще. …А кто-то и сейчас считает название карты «Мир» ругательством.
Хна какая-то, чесслово.
Big Hugging Rocket
Hug Society!
Но это все-таки очень редкой вещью должно быть, чтобы человек напнувшись на нее не раздражался, а заинтересовался отчего так всё эмоционально написано.
Вот реально проспонсировал бы юридическую контору, которая бы подавала на таких борцов за свободы иски, мол «ок, мы исправили master/slave в коде забесплатно, только теперь у нас упала читабельность и мы за год потеряли на этом 200 человекочасов, с вас 8000$».
С моей точки зрения, отредактированные комментарии были проблемными.
Например,
IOC3 is fucking fucked beyond belief
Этот коммент передает душевную боль автора, но ничем не поможет следующему разработчику, работающему с этим кодом. Скорее всего, он будет наоборот отвлекать.
Тем не менее, замена на "hug" никак решает указанную выше проблему, но зато добавляет новую: комментарий стало труднее осмыслить, стало быть, отвлекать он будет еще больше.
Правильное решение, на мой взгляд:
Вообще переписать эти проблемные комментарии, сделав их более содержательными. Ну, там привести ссылки на баг репорты вендорам, например. Короче, заменить эмоциональную окраску на факты.
А вы на сам файлик-то смотреть пробовали?IOC3 is fucking fucked beyond belief
Этот коммент передает душевную боль автора, но ничем не поможет следующему разработчику, работающему с этим кодом. Скорее всего, он будет наоборот отвлекать.
Весь участок кода выглядит так:
/*
* IOC3 is fucking fucked beyond belief ... Don't even give the
* generic PCI code a chance to look at it for real ...
*/
if (cf == (PCI_VENDOR_ID_SGI | (PCI_DEVICE_ID_SGI_IOC3 << 16)))
goto oh_my_gawd;
...
oh_my_gawd:
/*
* IOC3 is fucking fucked beyond belief ... Don't even give the
* generic PCI code a chance to look at the wrong register.
*/
if ((where >= 0x14 && where < 0x40) || (where >= 0x48)) {
*value = emulate_ioc3_cfg(where, size);
return PCIBIOS_SUCCESSFUL;
}
...
/*
* IOC3 is fucking fucked beyond belief ... Don't try to access
* anything but 32-bit words ...
*/
addr = &bridge->b_type0_cfg_dev[slot].f[fn].l[where >> 2];
...
По-моему тут всё очень к месту: мы не просто всё делаем очень странным способом, через задний проход, но и привлекаем внимание читателя к тому, что нет — мы не сошли с ума и не пытаемся никого запутать. Мы просто работаем с… куском дерьма, с которым нельзя работать так, как в даташитах прописано…Ну, там привести ссылки на баг репорты вендорам, например.Баг репорты. Вендорам. По поводу железки, которая выпускалась 20 с лишним лет назад, а техподдержка прекращена больше 10 лет назад. И на которой Linux, официально, не поддерживался никогда. Как вы это себе представляете вообще?
Короче, заменить эмоциональную окраску на факты.А факты — это у нас в данном случае… что? Вот у нас есть код, который должен работать… но не работает. И есть другой код, который, строго говоря, вообще неправильный — но в реальной жизни, с грехом пополам, заводится. Вендору не то, что на Linux насрать, его уже не существует давно, компания была три раза банкротом и несколько раз перепродана, людей, которые эту железку делали там давно нет, а если и есть — то они не помнят уже нифига. Какие факты вы собрались прописывать, куда, и точно ли они подействуют лучше, чем пара матерных слов?
P.S. И нет, выкинуть её поддержку нельзя, так как энтузиасты по прежнему поддерживают всё это хозяйство в рабочем состоянии — и свежие Линуксы на нём работают… вот именно потому что кто-то, много лет назад, не сдался и не успокоился, когда у него код «написанный по феншую» не заработал, а продолжал, я извиняюсь за выражение, трахаться пока «всё это» не заработало.
Угу, пробовал.
И конструкцию типа goto oh_my_gawd
тоже не считаю признаком профессионального отношения к коду. Это попаболь разработчика, отвлекающая от сути.
с которым нельзя работать так, как в даташитах прописано
Из комментария это неочевидно.
Более полезный для дальнейшей поддержки комментарий был бы, допустим "В даташите написано, что надо делать так, но это приводит к тому-то, поэтому применяем такой хак".
Представьте, что авторы даташитов вместо сухого изложения информации брызгали бы слюной по поводу несовершенства мира. А ведь именно это и выражают сабжевые комментарии в ядре.
Представьте, что авторы даташитов вместо сухого изложения информации брызгали бы слюной по поводу несовершенства мира.Зачем представлять? Возьмите какое-нибудь описания процессора 6502 70х годов и почитайте. Там у вас будут и аллегории и разные истории… ну может такой ярости к миру, как в этих комментариях не будет. Но в любом случае — те описания (со всякими бейсбольными командами и президентами в примерах) мне нравятся гораздо больше, чем современные, выхолощенные, которые вообще непонятно для кого пишутся и которые вызывают сон на пятой странице.
И конструкцию типа goto oh_my_gawd
тоже не считаю признаком профессионального отношения к коду. Это попаболь разработчика, отвлекающая от сути.
О какой конкретно сути она вас вдруг отвлекает и почему?А ведь именно это и выражают сабжевые комментарии в ядре.И чем это, собственно, плохо?
Серьёзно? Из фразы «Most of the IOC3 PCI config register aren't present. We emulate what is needed for a normal PCI enumeration» вам непонятно что происходит в коде и для чего? Вам нужно, чтобы всё было чистенько-гладенько, использовались только нейтральные слова, а иначе вы отказываетесь что-либо понимать? Я начинаю понимаю powerman: Чтобы так воевать со всем миром навязывая всем окружающим бессмысленные ограничения — нужно иметь очень толстую кожу. Но, на самом деле, эта политкорректность никому не нужна — не настолько, чтобы ради этого делать какую-то полезную работу. Она — всего лишь повод устроить срач, внести разлад в коллектив, переключить его с полезной деятельности на бессмысленную активность и заставить тратить на неё силы…с которым нельзя работать так, как в даташитах прописаноИз комментария это неочевидно
Ну вот не вижу я что именно причёсывание этих комментариев может улучшить — хоть убей. Увеличить вероятность того, что кто-то уберёт этот специальный режим — может. Сделать так, чтобы стало понятнее — нет.
О какой конкретно сути она вас вдруг отвлекает и почему?
От сути проблемы. oh my god отражает эмоциональное состояние разработчика (удивление/негодование), но все еще не говорит "почему". Зачем мне при дальнейшем сопровождении кода знать, что тот разработчик был выведен из себя? Зачем это вообще кому-то знать при чтении кода ядра? Мы же сейчас не про художественную литературу все-таки говорим.
Описание проблемы — это "Don't try to access anything but 32-bit words". Это несет какую-то информацию. Это может быть полезно.
Из фразы «Most of the IOC3 PCI config ..." вам непонятно
Не передергивайте. Моя претензия была конкретно к куску "IOC3 is fucking fucked beyond belief". А приведенный вами комментарий на 100% состоит из фактов, а не описывает душевное состояние разработчика. Он нужен. Ругательства в комментариях — нет.
Сделать так, чтобы стало понятнее — нет.
Возможно, фактическая часть в этом комментарии, уже достаточно понятна, я ж не спорю. Удаляем из комментария ругательства — теперь у нас акцент только на фактической части.
Про политкорректность — это вообще не по адресу.
Моя позиция не в том, чтобы использовать корректные выражения вместо некорректных. А в том, что описанию личных переживаний в коде вообще не место — неважно, насколько корректно они там изложены.
Кусок "IOC3 is fucking fucked beyond belief" — несёт крайне ценную информацию! Он говорит о том, что все свои представления и ожидания о том, как это должно работать, нужно сразу засунуть в то место, которое есть, но слова для него нет, и при работе с этой железкой не ожидать от неё вообще ничего нормального. Это — крайне ценно, т.к. экономит море времени и нервов.
Ну вот и надо тогда в комментах писать — мол, реальное поведение в такой-то ситуации такое и такое, несмотря на документацию.
Гораздо более информативно, чем страстный, но абстрактный крик души "fucking IOC3".
современные, выхолощенные, которые вообще непонятно для кого пишутся и которые вызывают сон на пятой странице.
Ну так это не художественная литература, правильно и пишут.
Всё должно быть чётко и понятно, без аллегорий.
Чтобы не писять кипятком в комментариях, нужно смотреть errata sheets. Если встречена ошибка, не лучше ли её описать для будущих поколений?
Взрослеть уже пора, уважаемый.
А насчёт «взрослеть»… Есть у меня ощущение, что это хотят проделать с линуксом: изжить оттуда «больших детей», которые переживают за дело, превратить всё это в такой же кусок… профессионального творчества, как Solaris или OSF/1 — а там… можно будет уже и заменить на по «настоящему профессиональную» ОС, громадную и неэффективную…
тоже не считаю признаком профессионального отношения к коду
Профессиональное отношение к коду — это когда в крайнем случае взяли и решили проблему. Хоть и не по фен-шую. Непрофессиональное — это когда сказали "железка работает неверно, сделать ничего нельзя".
Конечно аккуратно написанный код может быть лучше. Но кто его напишет? Вы вряд ли будете. А автор — только вот с такими эмоциями. Так что в некоторых ситуациях либо код с эмоциями, либо ни кода, ни эмоций.
Автор молодец. Без дураков. Взял и написал поддержку для кривой железки. Возможно, еще и в свое свободное неоплачиваемое время.
Но это не значит, что матюки в комментариях — это хорошо, полезно и информативно.
- Да, код с эмоциями лучше его полного отсутствия.
- Но и да, код без эмоций, но с детальным описание проблемы — еще лучше.
С первым тезисом я полностью согласен. А вот по поводу второго как раз и разногласие в ветке выше.
"Обниматься с кодом, пока все это не заработало"
magic
, все-таки более 2.7k раз встречается, или же это святое и без него уж точно не заведется? :)В принципе теперь слово hug заменит по значению то самое сакральное fuck. *shrug*
replace **** with a hug
И главное всем понятно что за слово заменил на hug.
Священник чинит табуретку в саду. За ним наблюдают дети.
— Вы что, дети мои, хотите научиться забивать гвозди? — спрашивает священник.
— Нет мы хотим услышать, что говорит священник, когда попадает молотком себе по
пальцу.
На церковном дворе что-то там строители ремонтировали-устанавливали и батюшка всеми силами участвовал в работах. И тут классический момент: забивая гвоздь, он случайно ударил себя молотком по пальцу. Во дворе возникла гробовая тишина, строители (простые ребята) ждали, — что будет дальше, как отреагирует служитель церкви. А тот, шипя от боли и приплясывая на месте все подвывал: «Ох ты ж, батюшки! Ох, незадача какая! Ой, больно-то как! ».
После чего снискал себе славу истинно святого человека и пожизненное уважение местного населения.
Hug yourself motherhugers.
А в офисе можно теперь повесить плакат с пингвином и надписью «No. Hugging. Way.» — все, кто в теме, будут улыбаться!
Нет, не заменили.
Очень напоминает бессмертное «по решению суда слово м… к в статье заменено на „ведущий мобильный аналитик“
А в некоторых случаях только она одна и работает…
Еще не известно как будет работать тот код без того комментария…
Может ну её? Если работает, то пусть работает?
(Особенно странно в контексте Линукса выглядит призыв "Embrassez-vous !" («HUG/KISS YOU!»)
один из авторитетных разработчиков Яркко Саккинен
Авторитетных?
$ git log --author='Jarkko Sakkinen' --oneline | wc -l
134
Авторитетные — это те, что сказали ему «не майся дурью».
В ядре Linux слово fuck заменили на hug