LINUX.ORG.RU

Леннарт Поттеринг высказался о вражде в мире СПО

 ,


4

5

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

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

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

>>> Подробности

anonymous

Проверено: Shaman007 ()

Ответ на: комментарий от lucentcode

Может вы и правы... Тогда всё ещё печальнее. Нужно менять поведение, свойственное людям.

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

anonymous ()
Ответ на: комментарий от alex-w

Использовать /etc/init.d/skeleton и почитать ридмишку из /etc/init.d/README должен ты.

fixed

Не удержался.

Quickern ()
Ответ на: комментарий от AF

получается, что Линукс не нужен

Ну, всё правильно. Большинству (мухам) - никакой линукс не нужен. Только определённым админам, всяким интересующимся, технарям и отдельно фанатикам, типа тебя, которые его с большой буквы пишут.

anonymous ()
Ответ на: комментарий от Stanson

killall watch

Зашибись — посто так вот взять и прибить все watch в системе. Я хозяин вся страна, фигли. Для этого системд действительно не нужен.

Другие варианты такие же кривые, как этот?

anonymous ()
Ответ на: комментарий от anonymous

Там есть ещё всякие забавные штуки, например, deb-пакет с jenkins-мастером при удалении убивает все процессы пользователя jenkins. killall, все дела.

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

alpha ★★★★★ ()
Ответ на: комментарий от anonymous

Зашибись — посто так вот взять и прибить все watch в системе.

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

Другие варианты такие же кривые, как этот?

Сэр идиот? Догадаться, что прибивать процесс можно не только по имени не судьба? Systemd'филы настолько тупы, что им надо расписать все возможные варианты совместного использования линуксячьих утилит, ибо сами до этого они никогда не дойдут?

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

Stanson ★★★★★ ()

интересно, а какое максимальное кол-во страниц может быть в теме?

reprimand ★★★★★ ()
Ответ на: комментарий от alpha

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

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

120 строка - все вопросы исключительно к дерьмодемону. 139 - аналогично. 164-165 - всего лишь уважение к другим шеллам и опять же вопросы к дерьмодемону.

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

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

Ну, да, конечно. Вы д'Артаньян, а все вокруг тупые и команду watch никогда не пользовали.

Что значит откуда возьмутся? Система большая, мало ли кто когда и зачем запустит watch.

Сэр идиот? Догадаться, что прибивать процесс можно не только по имени не судьба?

Я не идиот, а профессиональный программист, который привык писать код, который работает всегда и везде, а не только под присмотром автора.

А вот вы написали козявку, которая работает только тогда, когда её запускает автор. А иногда берёт и гадит, убивая левые процессы. Единственное её мнимое достоинство — она не использует системд.

Я продемонстрировал законченное *решение* задачи при помощи системд, которое *надёжно* работает. Вы в ответ привели пример как без использования системд забивать кривые костыли и плевать в небо — авось пронесёт и не упадёт на свою же голову. О чём тут догадываться? <...self-censored...> Ваш говнокод тому прекрасное доказательство.

anonymous ()
Ответ на: комментарий от alpha

По вечерам...

То есть они генерят PID-файл, но при завершении устраивают геноцид. Круто, чо. И ps | grep, конечно же, лучше, чем pgrep (даром что оба из procps-ng). И, естественно, grep в системе есть, а wc нет. Шикарно.

...Цепочка из /bin/su /bin/daemon /bin/java — да, это тоже.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от anonymous

Ну, да, конечно. Вы д'Артаньян, а все вокруг тупые и команду watch никогда не пользовали.

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

Что значит откуда возьмутся? Система большая, мало ли кто когда и зачем запустит watch.

Откуда на локалхосте «мало ли кто когда и зачем запустит watch» если локалхост принаделжит человеку который не знает о watch?

Я не идиот, а профессиональный программист, который привык писать код, который работает всегда и везде, а не только под присмотром автора.

Оно и заметно, по использованию systemd. Прям прёт профессионализм. Ага.

А вот вы написали козявку, которая работает только тогда, когда её запускает автор. А иногда берёт и гадит, убивая левые процессы. Единственное её мнимое достоинство — она не использует системд.

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

Я продемонстрировал законченное *решение* задачи при помощи системд, которое *надёжно* работает.

Ну-ну, особенно если учесть, что systemd имеет обыкновение грохаться на ровном месте, то флаг в руки и барабан на шею с такой «надёжностью».

Ваш говнокод тому прекрасное доказательство.

Да, у systemd'филов и правда проблемы с воображением и абстрактным мышлением. Как у узбеков, честное слово.

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

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

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

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

alpha ★★★★★ ()
Ответ на: комментарий от intelfx

То есть они генерят PID-файл

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

И, естественно, grep в системе есть, а wc нет.

Не говоря уже о том, что по хорошему надо не количество строк в выводе грепа подсчитывать, а exit code проверять. Кстати об exit code: отдельно порадовал выход с ненулевым кодом с выдачей сообщений в stdout с одной стороны, и с нулевым и руганью в stderr с другой.

dexpl ★★★★★ ()
Ответ на: комментарий от dexpl

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

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

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Stanson

Откуда на локалхосте «мало ли кто когда и зачем запустит watch» если локалхост принаделжит человеку который не знает о watch?

Мало того, что ты в аргументации используешь собственное предположение (выдвинутое со словами «а как же может быть иначе?»), так ещё и вывод неверен: watch может использоваться другим софтом. Дальше гневный пост можно не читать.

Я, например, таких на работу не беру.

Ню-ню. Я, например, к такому на работу не пойду.

intelfx ★★★★★ ()
Ответ на: комментарий от qnikst

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

qnikst ★★★★★ ()
Ответ на: комментарий от alpha

но после этого приведения она потеряет всякую простоту и очевидность

ЩИТО? Как может не быть простым и очевидным необфусцированный скрипт на шелле размером до нескольких кб?

Просто немножечко забудем про документирование, тестирование, обновление и поддержку

Ну вот, собственно, и вся разница между теми, кто в восторге от systemd и теми кто ужасается оным.

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

Часто встречал таких людей, которые сами ни до чего догадаться не могут, им надо всё разжевать и в рот положить, дать инструкцию по каждому самому мелкому шагу, но среди имеющих отношение к IT мне такие попадались крайне редко. Да, бывали персонажи, которые, например, прекрасно умели пропинговать ya.ru, но впадали в ступор, когда нужно было пропинговать ИП данный циферками, но это были единицы и объекты для получения лулзов.

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

Так и тут. Подай документацию на стандартное применение стандартной команды. Надо заниматься поддерживанием строки из пары десятков символов. Что-то изменить в скрипте для собственных нужд - это страшно и непонятно.

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

Stanson ★★★★★ ()
Ответ на: комментарий от intelfx

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

Ну если для человека watch - открытием стало, с какой стати я не могу выдвинуть такое предположение?

watch может использоваться другим софтом.

Кто мешает заменить killall watch на что-то другое?

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

Вот интересно, если бы я написал вместо «killall watch» что-нибудь типа «тут прибить запущенный watch» - претензии выглядели бы как

нет такой команды «тут»

аргумент «запущенный» непонятен

???

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

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

Не, вот честно, мне и в голову не пришло…
я исключительно из-за собственной лени…
Я просто не думал, …

Вот именно. Иди, подумай. Может, чего-нить в голову придёт.

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

Давай, конкретный код в студию. Или только только руками водить умеешь, абстрактный ты наш?

anonymous ()
Ответ на: комментарий от qnikst

Да может, конечно.

Только вот если сделать ещё полшага и отдать в systemd всё то, что не влезло в start-stop-daemon (который внезапно оказался, о боже мой, бинарником, а не скриптом), то может получиться совсем хорошо.

alpha ★★★★★ ()
Ответ на: комментарий от alpha

там только checkconfig, который кстати в таком виде в unit вполне встроиться может, т.к. там есть простые правила на этот счет. Кстати, как настройка PARAMS в юните выглядеть будет мне даже интересно.

тык rc/rc-service тоже бинарь.. лично я проблему в бинарниках не вижу, когда их поведение описано. Касательно юнитов - мне абсолютно не нравится их dsl, декларативное описание нравится, а их dsl нет. За время ненужных споров тут и беглого чтения документации, мне показалось, что dsl это перенос функциональности commandline утилит, плюс ручки в systemd. Что прикольно - то, что ручек много, и формально если прижмет то скрипты все равно пускать можно.

qnikst ★★★★★ ()
Ответ на: комментарий от Stanson

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

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

Так что солидарен с вышевысказавшимся анонимусом (и ещё раньше высказавшейся альфой).

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от qnikst

Скрипты пускать можно, и в данном случае даже нужно ради построения командной строки, т. е. того самого PARAMS. Просто тогда это будет шесть строчек (целиком состоящих из башевских builtin-ов и с exec в конце), а не шестьдесят.

dsl это перенос функциональности commandline утилит, плюс ручки в systemd

Так и есть. Это плохо?

intelfx ★★★★★ ()
Ответ на: комментарий от alpha

самое смешное, что функциональность федоровского скрипта почти не отличается от опенрц-шного, там дополнительно есть, что tcp port свободен (jenkins что сам валиться в этом случае не умеет?), ну и обсуждаемый тут force-stop.

qnikst ★★★★★ ()
Ответ на: комментарий от intelfx

Скрипты пускать можно, и в данном случае даже нужно ради построения командной строки, т. е. того самого PARAMS. Просто тогда это будет шесть строчек (целиком состоящих из башевских builtin-ов и с exec в конце), а не шестьдесят.

Ну 60 строк тут для красивого wrapping-а и лишнего (на мой взгляд) checkconfig

Так и есть. Это плохо?

ручки systemd - относительно нормально, перенос возможнотей command-line утилит - определенно плохо. В общем для всякой банальщины подойдет, а для сложного получается вместо одного скрипта штуки 3-4 юнита и скрипт.

qnikst ★★★★★ ()
Ответ на: комментарий от Stanson

ЩИТО? Как может не быть простым и очевидным необфусцированный скрипт на шелле размером до нескольких кб?

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

echo $2 | awk -v RS=' ' -v IGNORECASE=1 '{if($1!~/^[0-9.]+[smhd]?$/) exit 1;d=$1~/s$|^[0-9.]*$/?1:$1~/m$/?60:$1~/h$/?60*60:$1~/d$/?24*60*60:-1;if(d==-1) exit 1;delay+=d*$1} END {printf("%d",delay+0.5)}'
(это из /etc/init.d/functions шестой centos)?

dexpl ★★★★★ ()
Ответ на: комментарий от Stanson

Кстати, у абстрактного мыслителя сайт есть:

http://www.stanson.ch

Идём, смотрим «проект» — скрипты для проверки баланса. Глянем-ка на исходный код скрипта, ну, например, mf_balance.pl... Чтобы не копировать весь скрипт, приведу всего одну функцию (извините, отступы съехали):

sub get_megafon_bal(@) {
my ($phone, $passwd) = @_;
my $url = 'https://moscowsg.megafon.ru/MEGAFON_BALANCE/MGFSTF_GET_BALANCE';
my $agent = LWP::UserAgent->new;
my $response = $agent->post($url, [ MSISDN => $phone, PASSWORD => $passwd ]);
if( $response->content =~ /<BALANCE>(.+?)<\/BALANCE>/ )
{
return $1;
}
return 0.0;
}

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

Ну, фигли. Зато человек явно творческий.

anonymous ()
Ответ на: комментарий от qnikst

Ты про какой федоровский? Я там выше на убунтовый ссылку приводила.

Федоровский текущий - он не родной, а честно стащен у OpenSuse:

http://paste.fedoraproject.org/142662/13499193/

А федоровский настоящий ещё только появился (это фича будущего релиза http://fedoraproject.org/wiki/Changes/Jenkins) и там по сути майнтейнер пока занимается развязыванием узла зависимостей, поэтому там буквально самый простенький юнит в котором вызывается почти тот же скрипт.

[Unit]
Description=Jenkins continuous build server
After=syslog.target network.target

[Service]
EnvironmentFile=-/etc/sysconfig/jenkins
ExecStart=/usr/libexec/jenkins/jenkins start
ExecStop=/usr/libexec/jenkins/jenkins stop
Type=forking
PIDFile=/var/run/jenkins.pid

[Install]
WantedBy=multi-user.target
alpha ★★★★★ ()
Последнее исправление: alpha (всего исправлений: 1)
Ответ на: комментарий от anonymous

Давай, конкретный код в студию.

Во-во. :) Без точных инструкций ни в жисть не сообразите как чего сделать.

Stanson ★★★★★ ()
Ответ на: комментарий от dexpl

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

ЗЫ: строчку увидел впервые в жизни минуту назад.

Stanson ★★★★★ ()
Ответ на: комментарий от anonymous

В системд любой экзешник или скрипт на баше или перле превращается в приличный демон без лишних заморочек.

брюки превращаются… Брюки превращаются… Превращаются брюки… В элегантные шорты.

Extraterrestrial ★★★★ ()
Ответ на: комментарий от anonymous

Типичный говнокод который работает пока всё работает.

И опять та же самая тупорылость. Тут показано _откуда_ выдирать сумму, а не как. :) :) :) Потому что во время написания оных скриптов никакой документации по web-интерфейсу для виндовых софтин показывающих баланс исключительно на винде не было вообще. Именно поэтому скрипт минимизирован до безобразия.

ЗЫ: А чо по остальному-то не прошвырнулся? Там не только пару убогих перловых скриптов найти можно. Или ничего размером больше нескольких строк в моск не помещается? Может обсудим ethernet без контроллера для PIC? Точно такой же example, как эти скрипты, кстати, ужасным образом надо самому дописывать необходимый функционал - датчики там какие подключать или ещё чего.

Блин, надо же быть настолько без фантазии... Роботы отакуэ!

Stanson ★★★★★ ()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

lucentcode ★★★★★ ()
Ответ на: комментарий от Stanson

Без точных инструкций ни в жисть не сообразите как чего сделать.

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

anonymous ()
Ответ на: комментарий от Stanson

Тут показано _откуда_ выдирать сумму, а не как.

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

Потому что во время написания оных скриптов никакой документации по web-интерфейсу для виндовых софтин показывающих баланс исключительно на винде не было вообще.

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

Ладно, тебе что-то доказывать — себя не уважать.

anonymous ()
Ответ на: комментарий от qnikst

«убивать детей»

Милонов уже нажимает на ссылку.

anonymous ()
Ответ на: комментарий от Dmitry_Sokolowsky

«Поцтеринг такой Поцтеринг, и это его ненужное systemd, никуда нормальным людям не упавшее... So Poettering, f*ck you!»

Это у тебя правда такая длинная шея, и фото на аватаре не твое?

anonymous ()
Ответ на: комментарий от anonymous

Мой код работает.

Вендовый *.INI - это не код :) Сюрприз.

Stanson ★★★★★ ()
Ответ на: комментарий от anonymous

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

Так что насчёт остального? Мозгов не хватает software ethernet обсудить, или там прошивку для Bluetooth модуля? :) Или дистрибутив linux для роутера без MMU? :)

Впрочем, кто бы сомневался. :) Удел systemd'шников - вендовые .INI файлы, которые они считают кодом. :)

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

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

DSL юнитов systemd под это определение подходит. При этом синтаксис их записи не имеет никакого значения. Констатирую double faultслив :)

intelfx ★★★★★ ()
Ответ на: комментарий от Stanson

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

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

DSL юнитов systemd под это определение подходит.

Нет. Потому что ограниченный набор алгоритмов реализован в systemd, а в .ini лишь указывается какой из этих алгоритмов использовать. Указание какой из алгоритмов использовать и реализация алгоритма - это абсолютно разные вещи.

Так же, как секретарша, которая может кликнуть на ворде или на экселе не создаёт код, так и пишущий .ini для systemd не является программистом и не создаёт код.

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

Stanson ★★★★★ ()
Ответ на: комментарий от intelfx

Ну так и напиши - мол, слабо, в программе размером больше нескольких строк разобраться не могу, чего юлить-то. :)

Stanson ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.