Pull to refresh

Comments 147

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

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

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

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

Ему можно.

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

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

TSMC на этом и растет, каждые 3-4 года штат разработчиков по софту для литографии удваивается. Не исключаю что будет в 4-10 раз расти в скором времени. А может и изменят на ИИ.

Там последние машины ASML делают нечто вроде сборки кубика Рубика размером с горошину человеческими пальцами. Волна 13.5 нм образует конечное изображение с разрешением 3 нм в результате дифракции, интерференции и межслойных эффектов. Прошивки у этого инструментария - наверное, черт ногу сломит.

Так много надо, чтоб было можно? Нет. Можно любому, кто по делу и заслужил. Скажем, любому основателю проекта.

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

И автоматически ругательства вставлять.

CI-build для ядра линукса? С matrix-конфигом со всеми вариантами? Ннууу, технически это, вероятно, осуществимо, но на практике вряд ли кому-то по силам

Ну да. А что тут удивительного? Эта идеология уже давно мейнстрим.
Начинать надо с ограниченного числа вариантов и может даже не полного билда. Но делать то все равно надо.

Да ну, бред какой-то, такие технологии ещё не изобретены.

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

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

Рявкнуть нельзя, да.
Если человек идиот - зачем вы его держите в штате? Если не идиот, то ваше рявкание не имеет никакой ценности.

Испокон веков имело, и вдруг перестало? Ну-ну.

Испокон веков оно не работало в отношении интеллектуальных задач. Рявкание работает как инструмент подавления мнения, чтобы человек сделал что-то здесь и сейчас.
Человек медленно копает? Рявкните и он начнет копать быстрее.
Человек медленно считает? Рявкните и он начнет совершать ошибки.
Если вы этого не понимаете, мне жаль ваших подчиненных.

Человек медленно считает? Рявкните и он начнет совершать ошибки.

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

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

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

Рявкните...

Если не помогает, можно ещё бить начать. Многие так детей "воспитывают", можно и со взрослыми попробовать. Главное, выбрать того, кто сдачи дать не сможет, это принципиальный момент во всей схеме ))

Зачем тогда били, если не эффективно?

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

От бессилия и неспособности воспитывать нормально.

Человек медленно копает? Рявкните и он начнет копать быстрее.

Человек медленно считает? Рявкните и он начнет совершать ошибки.

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

А еще раьотник (как копающий, так и считающий) может просто впасть в ступор и начать работать даже медленнее (но тоже с ошибками) или вообще остановиться.

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

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

Увы, но есть люди, которые не воспринимают критику, донесенную без использования эмоционально окрашенных слов. Часто они же не очень компетентны. И в этом случае иногда описать то, что они сделали в точных и эмоционально окрашенных терминах ("этот код - полное дерьмо") является единственным способом смотивировать на его переделку. Разумеется, добавив конструктивных причин подобной формулировки и рекомендаций по устранению.
Уволить их можно, но это же надо ждать где-то год, а работу делать надо.

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

Тут вопрос больше в том, почему вы решили, что он не способен?

А что если он до этого три раза нормально, вежливо попросил, объяснил, подождал и когда в очередной раз столкнулся с наплевательством, сменил стратегию и начал рявкать?

И в таком случае интереснее вопрос, зачем в штате люди, на которых приходится рявкать

Тут вопрос больше в том, почему вы решили, что он не способен?

Потому, что не смог.

А что если он до этого три раза нормально, вежливо попросил, объяснил, подождал и когда в очередной раз столкнулся с наплевательством

Да, именно это и означает, что не способен. Нёс-нёс мысль, но недонёс. Эдакий недонёсок.

сменил стратегию и начал рявкать?

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

И в таком случае интереснее вопрос, зачем в штате люди, на которых приходится рявкать

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

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

Что если "стратег" не принимал никакого участия в найме косячащего коллеги? Да ну, такого не бывает, бред какой-то.

ну он мог бы сказать спокойно "всё @#₽&, переделывай". Разница не большая

При чем тут ошибки? У программиста есть слабые стороны, может он кодер от бога, а в ui профан и задача попалась с ui? Всех теперь под хвост пинать после первого же промаха?

Вы точно мне пишите? Я против рявкания, если что.

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

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

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

И животные стимулы гораздо сильнее когнитивных воздействий в виде разговора.

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

Но писать докладную записку начальству, требуя увольнения коллеги из-за его одного-единственного косяка - тоже как-то неправильно.

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

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

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

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

Для сарказма я таблички видел, наверное такие есть ещё и для кавычек.

А какие добрые люди на хабре. Чуть что сразу ярлык идиот и увольнение.

Снежинки выросли и устроились на работу.....

..Стали снежными бабами, и устроилист на работу

вы по ходу не поняли, кто имеется ввиду под "снежинками"....

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

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

У меня компания на 70+ человек, всё точно так же

Hidden text

К сожалению я ближе к безответственному сотруднику, нежели энергичному

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

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

«Токсичный» тимлид (ранимым программистам не смотреть)

ну твиттер всегда был местом плача сжв и прочего левого контингента

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

Да что делать, если руководство выстраивает работу так, что важен НЕ результат, а бизнес-процесс.

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

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

Нормальным компаниям надо, чтобы всё работало прогнозируемо. Гениальные пики продуктивности так же вредны, потому что это такое же нарушение сроков, как и опоздание. Ну закончит такой скорострел свою задачу за в 2 раза меньшее время, что это даст? Следующая задача зависит от десятков других сотрудников. И вот надо или оплачивать простой дорогого сотрудника просто так, или накручивать остальных. Да, пару раз такое прокатит... А потом в один прекрасный момент в менеджера полеть заявления об увольнении, потому что у людей крышу от стресса срывает, и я не про "выгорание" всякое, а про конкретные истерики у взрослых людей, потому что такие качели даже камень заставят крошиться.

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

Да не только у программистов так.

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

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

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

Но критиковать нельзя, иначе ты токсик.

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

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

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

Где-то прошлым летом прилетел проект. Обычное приложение на flutter, но собиралось под винду как-то криво. Выяснял некоторое время, вычленил, как они его собирают, сделал сборщик, выяснил, как перейти на msix, описал в доку. Всё это за пару недель. Плюс дал рекомендации по gitlab-ci, сертам и ещё куче неудачных решений. Чуть позже там добавилась сборка под ios, В тот момент я уже не особо там занимался, но типа за вечер описал, что и как надо сделать, ибо это на 90% сборка под мак.

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

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

И это притом, что я один, у меня полтора десятка проектов и я работаю по ним всем, а там тоже куча морд и проект, по сути, один. Ну, окей, не прям один, но типа это части целого.

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

К сожалению конкуренция на рынке труда ща специалистов даже такого уровня остаётся высокой. Поэтому тут кто более нежный и наваливает денег - к тому и идут работать. Кажется пусть и не приятным, но естественным такой путь развития индустрии :)

JDWM - Junior developers' work matters!

Зачем? У большинства программистов не такой уровень отвественности, как у авторов ядра Linux. Поэтому вполне можно расслабиться и делать тяп-ляп, всё равно код будет жить от силы год, а потом его перепишут такие же как мы и никому ничего не будет.

У большинства программистов не такой уровень отвественности, как у авторов ядра Linux.

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

По-вашему нормально в хидер включать c/cpp? Тогда, да, мир нуждается в тех, кто запрещает такое делать и доступным языком объясняет, что «специалистам», пишущим подобный код, не место в проектах серьёзнее лабораторной работы по информатике для учащихся средних классов школ с гуманитарным уклоном.

Мир нуждается в сердитых грубиянах, которые будут говорить дуракам, что они дураки, называть мудаков мудаками, а террористов террористами, а не борцами за свободу.

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

Смотря что в этом файле. Может, его просто забыли в .h переименовать?

Такое в любом случае не должно пройти кодревью

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

(сами думайте, серьезно я или нет)

Мир-то нуждается… Но бизнес нуждается в деньгах здесь и сейчас, иначе разработчики станут нуждаться в базовых благах, и им станет не до нужд мира даже в теории.

Такое ощущение, что firmware пишется одним человеком в мире, который обладает знаниями по данному кейсу. И некому рядом подсказать, что давно изобрели шифрование, что определённые технологии считаются устаревшими (тот же md5). Пароль к админке хранить в открытом виде в файле? Да, пожалуйста. Использовать сортировку пузырьком для огромного массива? Запросто

UFO just landed and posted this here

Помню автосигнализацию, где код задавался 8-ю резисторами: напаян или нет. Итого, примерно 250 разных комбинаций. Зачастую брелок открывал еще несколько машин на парковке супермакрета

код задавался 8-ю резисторами: напаян или нет.

Ну зачем же так сурово: чуть что — сразу паяльником?
Можно ведь нежно — переключателями!
Можно ведь нежно — переключателями!

Такое на многих автоматических воротах встречал (в частности, на въезде в наше СНТ долгое время подобные брелки были). Но ворота, всё же, не автосигнализация...

Видел я тут банкоматы в одной компании. Не патченный софт, ось, уязвимости вида 9.8-10.0.. Пек пек..

так они наверняка за NAT/VPN работают. А свою флешку в банкомат не воткнешь.

отладчик — это для слабаков

Кстати, Торвальдс того же мнения. Мол, не можешь написать гарантированно работающий код - тебе у нас в ядре делать нечего.
https://lwn.net/2000/0914/a/lt-debugger.php3

Ну, такое. Тест от сентября 2000 года, т.е ему более 23 лет

I happen to believe that not having a kernel debugger forces people to think about their problem on a different level than with a debugger. I think that without a debugger, you don't get into that mindset where you know how it behaves, and then you fix it from there. Without a debugger, you tend to think about problems another way. You want to understand things on a different _level_.

А разница? Я если правильно понимаю, то для Линукса не пишутся юнит-тесты. То есть вообще никаких, я не продвигаю за покрытие тестами 100% кода, но мне например представляется что описанная ошибка в посте, когда меняется тип переменной, отлавлилось бы хорошо написанным тестом.

Использовать сортировку пузырьком для огромного массива? Запросто

Нафиг не нужны эти ваши алгоритмы! Я вам что, студент? (с)

UFO just landed and posted this here

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

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

сомнения в ее эффективности для конкретного случая

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

по результатам работы профилировщика, например

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

UFO just landed and posted this here

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

Не, юмор был в том, что у автора решение было переусложнённое и допускающее переполнение при вычислении индекса.

Когда надо писать код в максимально оторванных от реальной работы условиях

Писать код на таком интервью, это хорошо если 30%. Главное то, о чем я выше написал. Я вот, например хочу пройти с кандидатом все шаги литкод интервью, кроме, собственно, написания кода. Пока получается плохо, к сожалению. Я вот в работе очень много раз сталкивался с тем, что программист делал не то, что надо. Потому что поленился уточнить требования. У вас так не бывало?

Не все, знаете, ли в работе каждый день биг-датой жонглируют.

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

Вот только дрочить на интервью на листочке/доске задачи на время

Это статья про литкод. Я вот каждый день перед работой решаю задачу с литкода, там есть задача дня. Тратится на это 2-15 минут в 98% случаев, служит разминкой для мозга, создаёт рабочий настрой. Эдакая зарядка утренняя для ума. Решаю в привычной IDE по фану, не считаю, что я дрочу.

Как вам совсем простенькая задача для утренней зарядки: напишите реализацию robust regression, скажем, на питоне, которая будет использовать другой метод и будет быстрее аналогов из стандартных библиотек (numpy, scipy, sklearn) с дефолтовыми параметрами для одной конкретной задачи, к примеру, нахождения параметров афинного преобразования для совмещения двух изображений. Можете регрессию стандартную использовать, суть именно в robust. Через 2-15 минут, как вы сами выше указали, ждем вашего решения. Вот и увидим, какая польза от вашего литкода.

-- я делаю зарядку по утрам
-- а вы сделайте сальто назад в гамаке! Ага, нет пользы от вашей зарядки!!!

Дядя Петя, ты дурак? (с)

Если вам даже такая задача кажется сложной, то чем хвалитесь-то?

Я вот каждый день перед работой решаю задачу с литкода

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

Сальто назад сделать очень просто, я делал его тысячи раз (я не вру, правда делал). Задача для ребёнка 5-6 лет. Продемонстрируете?

чем хвалитесь-то?

А где я чем-то хвалюсь? У вас так заполыхала пятая точка, потому что вы вот тут себя узнали?

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

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

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

… литкод, это в 90% случаев не про какие-то особые знания алгоритмов. Это про анализ задачи, уточнение требований, определение граничных условий и поиск решения. И про оценку эффективности найденного решения

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

Ваше хамство

Это как раз вы начали беседу в высокомерно-хамской манере. Брёвна повынимайте.

Вот ровно все вами же перечисленное, как оказалось, вы не умеете.

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

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

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

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

А потом, на собеседовании, литкодофанатик будет ожидать от литкододрочера то, к чему литкод отношения не имеет — угадайте, с каким результатом?

литкод не позволяет уточнить требования

Напишите тест. Этому сакральному знанию вас тоже не обучали? Например, не сказано, могут ли во входном массиве дублироваться числа. Пишите такой тест, вместо реализации пишите return 42 и запускаете. Если могут, вы увидите ожидаемый ответ, если не могут, вы получите сообщение, что ваш тест некорректный.

по крайней мере, без премиума.

А вы бесплатно работаете?

литкодофанатик будет ожидать от литкододрочера

Ай, Моська! знать, она сильна, что лает на Слона! (с)

И каким образом тест на граничные условия имеет отношение к уточнению требований?
Ах, эта своя терминология…

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

Простите, но уточнение требований — все еще на месте, да и комментарий не редактировался.

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

Зачем вы обманываете?

Вопрос закрыт, пишите тесты. А другие вопросы с вашей манерой общения зазавайте кому-нибудь другому.

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

Я не понимаю, почему так ненавидят литкод.

У меня есть две отдельные точки зрения на этот счет: со стороны соискателя и со стороны собеседующего.

Со стороны собеседующего литкод показывает лишь умение решать литкод, ну и внимательно изучать ТЗ, как вы сами сказали. Но с будущими практическими задачами в 90% он не связан никак, потому что программист будет программировать контроллеры, вылавливать баги в USB-стеке, делать гуй на Qt - и в большинстве случаев использовать готовые библиотеки. Литкодовые задачи никак не помогут мне проверить практические навыки программиста: может ли он писать хороший сопровождаемый код, например. И литкод не избавляет от собеседования, на котором мне по прежнему нужно выяснить, не преувеличивает ли кандидат свои знания об архитектуре ядра линукса, опыт администрирования и прочее. Кандидат может хронически генерировать говнокод, и это не поймешь по быстрой литкодовой задаче. Литкод хорошо подходит для компаний, которые могут себе позволить нанять литкодеров, а потом уволить их по итогам говнокода, либо оставить, если чел оказался всесторонним супером. Для средних и малых компаний это не подходит никак, но они тоже его дрочат, потому что карго-культ.

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

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

Со стороны собеседующего литкод показывает лишь умение решать литкод

Нет. Тут была статья с объяснениями, что на самом деле проверяет тот же гугол.

Но с будущими практическими задачами в 90% он не связан никак

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

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

Это не пойсешь на собеседовании в принципе зачастую. Не будем их проводить?

Для средних и малых компаний это не подходит никак, но они тоже его дрочат, потому что карго-культ.

Почему не подходит? Испытательны срок на это есть. А что подходит?

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

Индивидуальную непереносимость я могу понять. Мне например, настолько противно вместо программирования заниматься всяким маркетингом, бухгалтерией и т.д., что никаких своих стартапов. Но сколько вас таких и причем тут, собственно, литкод, когда дело не в нём, а в вас? По моему опыту программировать программистам обычно не противно )

Нет. Тут была статья с объяснениями, что на самом деле проверяет тот же гугол.

Поправка: что гугл хочет проверять. В случае гугла лучшего подхода просто не нашлось.

Кто он?

Литкод. А вот следование ТЗ и умение разобраться в задаче - лишь малая часть непосредственно литкода. Большая же часть - алгоритмическое задротство.

Это не пойсешь на собеседовании в принципе зачастую. Не будем их проводить?

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

Почему не подходит? Испытательны срок на это есть.

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

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

Но сколько вас таких и причем тут, собственно, литкод, когда дело не в нём, а в вас?

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

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

По моему опыту программировать программистам обычно не противно )

Смотря что и на чем ;) Я, например, ни за что не буду писать на PHP. Или решать бесполезные сферические задачки в вакууме, потому что не вижу в них смысла. Моя работа должна что-то значить, а не тешить карго-культистов и напросто увеличивать энтропию вселенной.

А вот следование ТЗ и умение разобраться в задаче - лишь малая часть непосредственно литкода. Большая же часть - алгоритмическое задротство.

Только всё ровно наоборот.

Даже демонстрация коммитов в опенсорс и/или своего гитхаба будет более адекватным требованием

Вы людей собеседуете? Я собеседую, у 99% кандидатов нет коммитов в опенсорс и своего гитхаба. У большинства людей есть интересы помимо программирования.

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

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

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

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

Если я прихожу на собеседование

То я, как интенрвьювер, хочу убедиться, что вы хотя бы умеете писать код. ~30% заявляющих, что они синьоры, не умеют, хотя врут, что могут и красиво об этом рассказывают. Поучаствуйте в найме и иллюзии испарятся. Возможно, в вашей специфической области где вы пишите драйвера для USB на QT это не так, но, например, в вебе на собеседование приходит огромное количество самозванцев, надрочившихся отвечать на вопросы.

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

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

Только всё ровно наоборот.

Мне видится, что вы несколько предвзяты, учитывая вашу любовь к каждодневному литкоду ;)

e 99% кандидатов нет коммитов в опенсорс и своего гитхаба.

Сколько процентов из них проходит собеседование и реально являются отличными специалистами?

Я работаю в компании, в которой штат меньше 100 человек.

Вы ж вот недавно вроде в гугле были, или я что-то путаю? Откуда тогда у вас большая выборка собеседований для статистики? Или в вашей маленькой компании большая текучка?

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

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

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

в вебе

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

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

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

Проблема в том, что вы воюете с тараканами в своей голове...

пишите драйвера для USB на QT...

нужно взрослеть...

способ отсеять инфантильных людей...

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

Можете не отвечать на мои вопросы. К концу комментария они стали риторическими.

Вы ж вот недавно вроде в гугле были, или я что-то путаю?

Путаете.

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

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

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

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

Откуда у вас вот этот вот снобизм? Я, вроде бы, нормально с вами говорил

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

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

То есть текучка. Это было очевидно.

Вы мне сейчас напоминаете жителя условного Норильска

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

алгоритмическое задротство

Не несет негативной коннотации, особенно если вы гордитесь онным задротством. Себя я тоже задротом считаю. Только не в литкоде, разумеется :)

"тешить карго-культистов", "проблема в фанбоях"

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

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

Желающий оскорбиться всегда найдет, где оскорбиться.

То есть текучка. Это было очевидно.

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

Желающий оскорбиться всегда найдет, где оскорбиться.

Ага, оскорбится и напишет: "Откуда у вас вот этот вот снобизм? Я, вроде бы, нормально с вами говорил".

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

Нет, не сказали. Это первое ваше заявление в этом духе. Всё это время я спорил с вами, а вы решили чучелко под конец изобрести.

Ага, оскорбится и напишет

Вам не стоило скатываться в обсуждение инфантильности и ЧСВ, это было некрасиво. Я ожидал какой-то более цивильной дискуссии, но литкод для вас, видимо, не методика, а священная корова.

Собственно, вы хотели получить ответ на свой вопрос:

Я не понимаю, почему так ненавидят литкод.

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

Нет, не сказали. Это первое ваше заявление в этом духе.

Конечно же, это неправда:

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

А что касается вот этого:

Вам не стоило скатываться в обсуждение инфантильности и ЧСВ, это было некрасиво.

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

Вот он, ваш ответ: из-за таких снобов, как вы, которые суют его всюду по поводу и без

Это еще раз доказывает, что вы просто не способны слушать собеседника и не пытаетесь его понять. Вся ваша речь, это набор штампов и лозунгов на ровном месте. И опять "культурный" человек закончил своё сообщение оскорблениями, чтобы доказать, какой он культурный. Браво.

Давайте на этом закончим, мне уже всё понятно.

Конечно же, это неправда

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

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

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

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

Собственно, пойманы на лжи.

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

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

Никакая цивильная дискуссия после такого невозможна в принципе.

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

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

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

Давайте на этом закончим, мне уже всё понятно.

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

>Ни один не спросил, какой у файла размер и поместится ли он в память.

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

В работе ты сразу знаешь с какими файлами надо работать и поместятся ли они в оперативку

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

Или человек просто в курсе, какие у него объемы где гуляют. Иногда сигара - это всего лишь сигара.

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

Нарвётесь Вы так когда-нибудь на синьора 80 lvl...

А синьор откуда знает это?

Предвидит именно этот конкретный случай...

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

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

Беда еще в том, что закон Мура на стороне писателей говнокода! не нужно, по бессмертному выражению Филиппа Кана, выпиливать лобзиком на языке Ассемблер критические куски...

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

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

И некому рядом подсказать, что давно изобрели шифрование, что определённые технологии считаются устаревшими 

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

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

Нет денег - нет хороших разработчиков, нет нормального тестирования, нет устранения известных уязвимостей, ОС загружается - "чего тебе еще надо, собака?"

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

Пользователь при этом всем ничего этого не видит, и разницы особой не видит тоже, и потому не может воздействовать на разработчиков экономически, т.е. у производителя должна быть или определенная репутация (чтобы дырявые глючные прошивки вели к репутационным же потерям, как у Apple и Microsoft), или твердое убеждение (как у Oxide, Dasharo, Purism, Framework, Raptor Engineering), или требования законодательства (как у Dell и HP, которые поставляют железо по контрактам американскому правительству и американским военным). Если ничего этого нет, то производителю абсолютно похер уровень качества их прошивок, лишь бы было дешево и фичи нужные поддерживало.

Он сказал, что больше не будет «показывать пальцем на какую-то компанию. Я усвоил урок».

Сломали мужика...

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

Недавно обновлял убунту с кедами 18.04 -> 20.04 -> 22.04 на компе с нвидией. Все прекрасно работало и работает с блобом из репозиториев. А вот на ноутах где была nvidia optimus там да, были танцы с бубном, но хз, актуально ли оно сейчас. На нормальном железе полет отличный :)

Так у них в том и фишка - с одними карточками норм, с другими - бубны. Причем угадать "чтоб без бубунов" - не так то просто.

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

Ну а сейчас, с 1080ti полёт нормальный со свежим блобом.

С тех пор он стал гораздо мягче. Торвальдс недавно подтвердил свою сдержанность в интервью на саммите Open Source в Японии.

See, you not only have to be a good coder to create a system like Linux, you have to be a sneaky bastard too. — Linus Torvalds

Кстати, заголовок-то кликбейтный. Торвальдс никого не обзывал. У него было только восклицание из серии "какого черта".

Зашел за этим комментарием. Прямо классическое «ученый изнасиловал журналиста»

Оскорбляет чертей по расовому признаку?

Ну скорее всего, "какого х*ра", потому что оно явно матерное.

Ну я не знаю, что там Торвальдс имел в виду. Может для него теперь и "черт" - слово, которое нужно символами зарывать XD

А как некомпилирующийся код вообще попадает к Линусу? Почему перед ревью/мержем не стоит билд ферма, которая автоматически отклонит такие реквесты? Заодно, она же и проверит линтером, что всё сделано по принятому стандарту и никаких вам "почему %^!@$% файл заголовка включает файл C", которые нужно отлавливать вручную.

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

Очень хотелось бы, но вспоминая что патчи принимаются по e-mail...

Не думаю что они будут прикручивать туда такие пайплайны, тем более что у них основная метрика - обработанные патчи/час и "никакие инструменты не обеспечивают такой скорости как e-mail"

У них процессы выстроены так, что все патчи ходят через почту. Это единственная схема, которая масштабируется на сотни тысяч человек.

Возможно что билд ферма у разрабов таки стоит, но что-то «пошло не так» по дороге.

Я даже знаю что пошло не так.

Была ошибка билда, но никто её не заметил, поскольку уведомление про неё затерялось в потоке спама от CI. А поскольку операция "послать патч по email" явно ручная - некому было её автоматически заблокировать при провале прошлой стадии.

Это единственная схема, которая масштабируется на сотни тысяч человек.

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

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

Зачем троллить отдельных людей, если можно троллить целые компании.

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

Когда они (неизбежно ) отойдут от активной деятельности будет хуже.

Что позволено Линусу, не позволено быку.

Если он "the drm header files have this disgusting thing where a header file includes a C file:"

Иллюстрирует этим:

In file included from ./include/drm/drm_mm.h:51,
from drivers/gpu/drm/xe/xe_bo_types.h:11,
from drivers/gpu/drm/xe/xe_bo.h:11,
from
./drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h:11,
from ./drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:15,
from drivers/gpu/drm/i915/display/intel_display_power.c:8:

nasty.

то не прочитал ли он всё задом наперёд?

И это ещё не успели сделать эмоджи для выражения %^!@$%

Линус Торвальдс не подпускает говнокодеров к линуксу на пушечный выстрел, но говнокодеров таки много. Если кто не понял ему предложили больше 100 миллионов долларов за снижение уровня критики .. и это в год карл!!! Не важно куда он тратит эти деньги, но как бы не зря.

Sign up to leave a comment.

Other news