https://www.altlinux.org/api.php?action=feedcontributions&user=37.115.216.151&feedformat=atomALT Linux Wiki - Вклад [ru]2024-03-28T22:27:49ZВкладMediaWiki 1.38.2https://www.altlinux.org/index.php?title=%D0%A0%D0%BE%D0%B1%D0%BE%D1%82%D1%8B&diff=31008Роботы2014-10-11T03:18:08Z<p>37.115.216.151: История социологии</p>
<hr />
<div>==Введение==<br />
<br />
Необходимость развертывания автоматизированных песочниц вызвана<br />
человеческим фактором -- я не масштабируюсь и просто не в состоянии<br />
буду протестировать пакеты, если их будет слишком много.<br />
Вместо этого над тестированием пусть работает repocop и пользователи.<br />
<br />
Концепция такой песочницы -- "Quality on demand".<br />
Начать с базового сервиса, т.е. предоставлять репозиторий пакетов,<br />
а далее обеспечить пользователям возможность делиться с другими<br />
пользователями своим опытом с пакетами, т.е. по сути, отмечать<br />
результаты тестирования.<br />
А майнтайнер песочницы будет чинить пакеты по факту обращений<br />
пользователей. Т.е. сделать так, чтобы пользователи участвовали в<br />
работе таких песочниц как тестеры.<br />
<br />
Зачем все это нужно?<br />
<br />
==Кризис дистрибутивостроения==<br />
<br />
Пользователи, начиная с Линуса Торвальдса, не довольны состоянием<br />
имеющихся дистрибутивов, а дистрибутивосторители, как черная королева,<br />
и так уже бегут изо всех сил, чтобы только стоять на месте,<br />
прибежать куда-то в другое место сил им не хватает.<br />
<br />
Вот как обрисовывает ситуацию Ingo Molnar в "What ails the Linux desktop?"<br />
:[en] https://plus.google.com/109922199462633401279/posts/HgdeFDfRzNe<br />
:[ru] http://www.linux.org.ru/news/opensource/7536825<br />
<br />
"... many OSS developers don't realize what a deep hole we are in.<br />
<br />
The desktop Linux suckage we are seeing today - on basically all the<br />
major Linux distributions - are the final symptoms of mistakes made<br />
10-20 years ago - the death cries of a platform.<br />
<br />
Дистрибутивы Linux создали собственные замкнутые (и даже закрытые)<br />
экосистемы и пытаются контролировать по 20 тысяч программных пакетов,<br />
которые суммарно содержат миллиарды строк кода. Обычные задержки при<br />
обновлении приложений составляют недели (вплоть до месяца) для<br />
исправлений безопасности и месяцы (вплоть до года) для серьёзных<br />
нововведений. Все Linux-дистрибутивы - централизованные организации с<br />
иерархической структурой, а не распределённые в пространстве свободные<br />
демократические сообщества. ..."<br />
<br />
IMHO, проблема скорее не в том, что дистрибутивы Linux хотят<br />
контролировать по 20 тысяч программных пакетов, а в том, что<br />
они вынуждены это делать.<br />
<br />
Как я писал, этот кризис скорее вызван тем, что сообщество<br />
майнтайнеров не растет пропорционально числу пакетов -<br />
не происходит масштабирования.<br />
<br />
Выход, который предлагает Ingo Molnar - брать пример с Android -<br />
на техническом уровне, IMHO, это не выход, а очередной<br />
не жизнеспособный cargo cult.<br />
Сравнение с Android выглядит как сравнение теплого с мягким.<br />
То, что там работает, работает только из-за определенной специфики,<br />
которой у нас нет и без которой оно не приживется.<br />
Но на идейном уровне там есть много здравого, в той части, что связана<br />
с ожиданиями пользователей. Хотя это надо еще уметь правильно реализовать.<br />
Это IMHO, не хотел бы уклоняться в сторону.<br />
<br />
Я для решения проблемы предлагаю привлечение роботов к задачам<br />
упаковки и пользователей к задачам обзора и тестирования пакетов.<br />
<br />
==Апология роботостроения==<br />
Слово в защиту роботов-упаковщиков.<br />
<br />
Было когда-то время, когда люди негодовали на расплодившиеся вокруг<br />
разоряющие народ паровые машины да ткацкие станки, и вспоминали<br />
добрую старую Англию, когда добрые англичане ткали шерсть по домам.<br />
<br />
История повторяется - до сих пор у нас в рассылке при виде<br />
роботов-сборщиков пакетов иногда слышны призывы в духе<br />
"робот, поскорее убейся, как Томми". (последний был в марте).<br />
<br />
Конечно, никто не спорит, что роботы могут натворить бед -<br />
так боевой паровоз гораздо опаснее, чем боевая телега с лошадью,<br />
а ядерная электростанция может быть гораздо, гораздо разрушительнее<br />
топки на дровах (хотя последняя в свое время тоже не раз дотла<br />
сжигала древнюю Москву).<br />
<br />
Однако это не повод возвращаться в пещеры и идти бить мамонта,<br />
тем более что их уже выбили до нас.<br />
<br />
Также часто всплывает аргумент, что пакеты, сопровождаемые роботом,<br />
менее качественные. Здесь логическая ошибка - качественно<br />
сопровождаемые пакеты потому и качественные, что на их сопровождение<br />
тратится много времени. Когда много времени, то основное время уходит на<br />
code review, просмотр тематических рассылок, bug tracking systems,<br />
просмотр изменений в других дистрибутивах, пробные сборки,<br />
тестирование и т.д.<br />
Доля механической работы в сопроводжении такого пакета ничтожна,<br />
поэтому при его сопровождении робот вряд ли будет применяться.<br />
А если робот применяется, то скорее всего, по другому не получилось<br />
бы - просто бы времени не хватило.<br />
<br />
Чтобы хорошо понять последний пункт, надо приложить количественное<br />
мышление. Напомню, в чем там соль.<br />
<br />
==Разница между количественным и качественным мышлением==<br />
<br />
Говорят, что когда вожди греков пришли за хитроумным Одиссеем, то их<br />
встретили новостью, что три дня назад, еще ДО того, как прибыл вчера<br />
от Менелая глашатай с новостями, Одиссей обезумел:<br />
запряг осла и вола в плуг, и три дня и три ночи не ест, не пьет,<br />
но распахивает поле плугом, и засевает пашню солью.<br />
Засевает пашню солью? Явное безумие! Когда вожди греков пришли<br />
проверить новость, то картина, которую они увидели, была вполне<br />
убедительной с точки зрения качественного мышления.<br />
Одиссей не обращая ни на что внимания, мерно шел за плугом и засевал<br />
пашню солью. Но был среди греков многомудрый Паламед, хорошо<br />
владевший, кроме качественного, еще и количественным мышлением.<br />
Он сказал грекам: Смотрите! Пока мы удивлялись Одиссею, он провел<br />
плугом уже две борозды. С такой скоростью он за три дня и три ночи<br />
давно бы распахал это поле. Тем не менее, он всего лишь успел<br />
распахать этот клин, как будто пашет только с раннего утра --<br />
уже ПОСЛЕ того, как пришли ему новости.<br />
<br />
Засомневались греки в безумии Одиссея, и чтобы проверить это,<br />
Паламед выхватил из рук Пенелопы младенца Телемаха и<br />
посадил его на землю перед приближающейся упряжкой. Одиссей поспешил<br />
остановить животных, чтобы не погубить своего единственного сына.<br />
Так было доказано, что Одиссей в здравом уме, и ему пришлось,<br />
присоединившись к походу, идти под стены Трои.<br />
<br />
Что подвело хитроумного Одиссея?<br />
Качественно картинка сошлась. А вот количественно - нет.<br />
<br />
Вернемся к пакетам.<br />
С качественной точки зрения особо не чуствуется разница, сопровождать<br />
ли 10, 100 или 1000 пакетов.<br />
Допустим, сопровождение 100 пакетов занимает 10 дней в месяц.<br />
тогда сопровождение 1000 пакетов должно было бы занимать 100 дней в<br />
месяц. Но в месяце 30 дней и это потолок, даже работая на износ с этим<br />
ничего поделать нельзя - качественно масштабировать картинку не<br />
получится, количественно она не сойдется.<br />
Упираемся в физиологический предел. Как если еще пробежать стометровку<br />
за 7+ секунд еще теоретически можно, а вот уже за 6 и меньше секунд - никак.<br />
<br />
Но можно разумно распорядиться временем. Из Петербурга в Москву можно<br />
пропутешествовать пешком за месяц. Или же пролететь за час на самолете<br />
в гораздо более комфортных условиях.<br />
То же самое и с пакетами. Я свой потолок при работе с пакетами без<br />
использования средств автоматизации, вручную, "на зло роботам",<br />
оцениваю в пределах 150-900 пакетов, в зависимости от сложности<br />
конкретного набора пакетов.<br />
<br />
В частности, при ручном сопровождении на протяжении достаточно долгого<br />
времени я бы потянул java репозиторий не более чем в 250-300 пакетов.<br />
Это достаточно точная оценка, так как последние три месяца я в<br />
основном занимался обновлением java репозитория и переездом на<br />
maven3. При этом последний месяц это было спасение репозитория<br />
бросанием с шашкой на танк - ручной починкой множества<br />
сломавшихся обновлением пакетов.<br />
Хотя это не было "честным" примитивизмом - я рылся grep'ом в логах<br />
beehive, генерировал полуфабрикат своей утилитой srpmnmu<br />
и скармливал его hasher'у, и только потом уже правил руками -<br />
эти 3 инструмента автоматизации здорово помогли -<br />
но эта работа позволила заново прочуствовать и дать достаточно точную<br />
оценку затратности ручного труда для пакетов java.<br />
<br />
Там нет особых идейных сложностей, не так много гимнастики для ума,<br />
но много достаточно надоедливой монотонной кропотливой работы.<br />
Отсюда и оценка в 250-300 пакетов.<br />
<br />
Конечно, разовую пиковую нагрузку я потянул бы и большую, но<br />
сопровождать большее множество пакетов на протяжении длительного<br />
времени не получилось бы, от такой работы человек быстро выгорает.<br />
<br />
Java - язык достаточно тяжеловесный, многословный, с многоуровневой<br />
защитой от дурака, китайского, индусского и русского программиста;<br />
изобильным использованием XML где ни попадя; плохой привычкой<br />
апстримов, к тому же поощряемой инструментальными средвтвами,<br />
собираться с протухшими версиями библиотек - что постоянно приводит к<br />
разломам при обновлении.<br />
<br />
А что такое разломы?<br />
<br />
Тривиальный 10% разлом, требующий в среднем по 10 мин. ручной работы<br />
на пакет, при оптимистическом подсчете обошелся бы в 2 полных дня<br />
напряженной работы по починке. Но на практике с учетом регрессий и<br />
других неприятностей, это 4-6 дней.<br />
<br />
Серьезный 10% разлом, требующий по часу ручной работы на пакет,<br />
обойдется при оптимистических подсчетах в 12 полных дней напряженной<br />
работы по починке. На практике с учетом других факторов это месяц.<br />
<br />
А серьезный 50% разлом, требующий по часу ручной работы на пакет,<br />
обошелся бы теоретически в пол года напряженной работы по починке,<br />
но на практике дешевле сразу сдаться и выбросить<br />
1) не пересобирающиеся пакеты (50%)<br />
и 2) сильно зависящие от них пакеты (20%-30%).<br />
При этом после выбрасывания сборка оставшихся пакетов тоже будет<br />
нарушена, но проще и дешевле будет потратить силы уже на починку<br />
сухого остатка.<br />
<br />
Итог один - в java репозитории катастрофа и массовое вымирание<br />
пакетов :(. При таком разломе от репозитория остаются руины в виде<br />
20-30% того, что было раньше.<br />
<br />
Получается, что для java репозитория ручная работа - это Дамоклов меч,<br />
что-то вроде мифической звезды Немезиды, которая раз в 60 млн.лет<br />
подходит к Земле и вызывает катастрофу. Приятных чувств не вызывает.<br />
<br />
Впрочем, это не специфика роботостроения, а именно специфика<br />
нашего java репозитория, заключающаяся в том, что по жадности я брал<br />
за основу пакеты из наиболее богатого репозитория, JPackage,<br />
но эти пакеты относительно низкого качества, и их приходится постоянно<br />
в полуручном режиме допиливать.<br />
Как говорит турецкая пословица, "Если ты пьешь воду из грязного<br />
источника, не удивляйся, если у тебя будет болеть живот".<br />
Если бы я брал пакеты только из меньшего, но более консистентного<br />
репозитория, например, из Fedora, то в основном пакеты допиливать не<br />
нужно было бы, отложенная ручная работа не накапливалась бы,<br />
Дамоклов меч над java репозиторием не висел бы.<br />
(Есть надежда, что так в будущем и будет: Fedora сейчас стала активно<br />
развивать свой java репозиторий без оглядки на JPackage).<br />
<br />
Чтобы проиллюстрировать тезис о консистентном репозитории,<br />
обратимся к Fraus Magnum, к статистике.<br />
Согласно подсчетам, за период 1 Jan 2012 - 31 Mar 2012<br />
<br />
$ rpmlsmonthchangelog --user viy --min '1 Jan 2012' --max '31 Mar 2012' \<br />
/ALT/Sisyphus/files/SRPMS | egrep '(jpp|java|jpackage)' | wc -l<br />
872<br />
<br />
За этот период я все бросив, занимаясь только java, и, как Одиссей,<br />
ни на что не отвлекаясь, с титаническими усилиями отправил в incoming<br />
872 java пакета.<br />
В то же время, сам удивился, общее число залитых за это время<br />
пакетов составляет 2093.<br />
<br />
$ rpmlsmonthchangelog --user viy --min '1 Jan 2012' --max '31 Mar 2012' \<br />
/ALT/Sisyphus/files/SRPMS | wc -l<br />
2093<br />
<br />
Т.е. 872 пакета с титаническими усилиями, и около 1200 пакетов<br />
незаметно для себя, почти без усилий. Что это за странные пакеты?<br />
<br />
Это другой робот, fedoraimport. В отличие от jppimport, который<br />
занимается обработкой полуфабрикатов, fedoraimport использовался<br />
только для конверсии пакетов между различными соглашениями о сборке<br />
в чистом виде на подготовленном множестве.<br />
<br />
При таком применении он демонстрирует потрясающую пиковую производительность:<br />
тестовое множество недостаточно большое, чтобы точно ее измерить,<br />
но можно говорить, что речь идет, как минимум, о повышении производительности<br />
в 50-100 раз.<br />
<br />
При работе с роботом время расходуется на<br />
* разработку робота<br />
* сопровождение робота<br />
* сопровождение пакетов (тонкая ручная подстройка).<br />
<br />
Для fedoraimport сопровождение пакетов (тонкая ручная подстройка)<br />
занимает достаточно мало времени. С другой стороны, все свободное<br />
время я вкладываю в его разработку. Уже удалось научить его достаточно<br />
уверенно работать с кодом на С/С++. Далее планируется подружить его<br />
с переупаковкой подпакетов модулей и обвязок для большой тройки<br />
Perl,Python,Ruby.<br />
<br />
Для jppimport затрат на разработку робота практически нет,<br />
затраты на сопровождение робота не значительные и не заметны<br />
на фоне затрат на сопровождение пакетов, о которых я уже писал выше.<br />
Но и стреноженный, jppimport в зависимости от сезона повышает<br />
производительность работы в 5-10 раз.<br />
<br />
Даже для такого не самого хорошего случая это означает,<br />
что одним jppimport'ом выполняется работа филиала из 5-6 человек.<br />
Да, эти виртуальные люди гораздо тупее реальных,<br />
но зато и гораздо более выносливы, упорны, исполнительны.<br />
<br />
Как пример, wrar@ давно уже ушел из Team,<br />
а cronbuild, как верный пес Хатико, уже полтора года<br />
все собирает и собирает его пакет fortunes-ALT-irc.<br />
<br />
Академик Глушков говорил, что у человеческих возможностей<br />
свои пределы: так же, как невозможно руками поднять 10-тонный<br />
булыжник, так же нельзя прочитать все книги в библиотеке<br />
им. Вернадского (ЦНБ, аналог Ленинки в Москве).<br />
Надо знать свои пределы и не надо их стыдиться.<br />
<br />
Также и с нами. Пользователи хотят, чтобы "все работало",<br />
т.е. если уже ALT предоставляет свой ABI, то должен и опакечивать<br />
все используемые ими приложения под этот ABI.<br />
А имеющихся сил не хватает и на сопровождение того. что уже<br />
сопровождается.<br />
Роботы могут залатать этот разрыв, добавив к Team сотню-другую<br />
виртуальных майнтайнеров.<br />
<br />
Сто дуболомов - это же армия! С такой армией Урфин Джюс брал<br />
Изумрудный город :)<br />
<br />
Хотелось бы назвать данное письмо "Похвала роботам".<br />
Увы, пока это "Апология", слово в защиту.<br />
<br />
Откуда берутся роботофобии? Впрочем, нет ничего нового под солнцем.<br />
<br />
Процитирую Торстейна Веблена, его "Теорию праздного класса":<br />
<br />
"Каноны денежной почтенности оказали аналогичное, однако более далеко<br />
идущее и поддающееся более точному определению влияние на<br />
распространенное в народе чувство красоты или полезности в пригодных<br />
для потребления вещах. Необходимое условие денежной благопристойности<br />
в весьма ощутимой мере повлияло на представление о красоте и<br />
полезности и предметов обихода, и произведений искусства. Вещи<br />
пользуются предпочтением в употреблении до некоторой степени за счет<br />
того, что они демонстративно расточительны; их пригодность, как<br />
представляется, где-то соразмерна тому, насколько они расточительны и<br />
насколько неприспособлены для употребления по их очевидному<br />
назначению. ...<br />
<br />
То, какое место отводится в структуре потребления продуктам машинного<br />
производства, удачным образом подкрепляет занятую нами позицию. Вопрос<br />
физического различия между товарами, изготовленными машинами, и<br />
товарами ручной работы, отвечающими тому же назначению, заключается<br />
обыкновенно в том, что первые больше соответствуют выполнению своего<br />
первостепенного назначения. Эти продукты более совершенны в них<br />
видно более целесообразное использование средств. От неуважения и<br />
осуждения это их не избавляет, ибо при проверке на почетную<br />
расточительность они терпят неудачу. Ручной труд более<br />
расточительный способ производства; следовательно, получаемые этим<br />
способом товары надежнее служат цели приобретения денежной репутации;<br />
следовательно, следы ручного труда оказываются престижными, и товары,<br />
в которых такие следы налицо, становятся сортом выше, чем<br />
соответственный продукт машинного производства. Доставляющие почет<br />
следы ручной работы это обычно, если не неизменно, известные<br />
несовершенства и неправильности в линиях сделанного вручную предмета,<br />
обнаруживающие те моменты, где мастер не достиг цели в осуществлении<br />
своего замысла. Почвой для преимущественного положения товаров ручной<br />
работы является, следовательно, известная грань несовершенства. Эта<br />
грань всегда должна быть достаточно невелика, чтобы не обнаружить<br />
низкую квалификацию мастера, так как тогда она свидетельствовала бы о<br />
низкой стоимости, но и не настолько мала, чтобы наводить на мысль об<br />
идеальной точности исполнения, достигаемой лишь машиной, ибо она опять<br />
же свидетельствовала бы о низкой стоимости.<br />
<br />
В современном промышленном обществе дешевые, а потому не<br />
соответствующие внешним приличиям предметы повседневного употребления<br />
обычно являются продуктами машинного производства; и общей характерной<br />
чертой товаров, изготовленных машинами, по сравнению с предметом,<br />
сделанным вручную, является их значительно более совершенная обработка<br />
и большая точность в детальном исполнении замысла. Следовательно,<br />
будучи престижными, явные несовершенства сработанных вручную товаров<br />
оказываются признаками большей красоты или полезности этих товаров или<br />
того и другого. Отсюда и возникло то возвеличивание несовершенного, с<br />
которым в свое время так горячо выступали Джон Раскин и Уильям<br />
Моррис. И на том же основании их пропаганда всякой незавершенности и<br />
расточения сил была подхвачена и донесена до наших дней. А отсюда и<br />
пропаганда возврата к ремесленному труду и домашнему промыслу. Как же<br />
много из того, над чем работали и размышляли эти люди и что вполне<br />
подходит под характеристику, которую мы даем описываемым явлениям,<br />
было бы невозможным в те времена, когда еще не было такого положения,<br />
чтобы явно более совершенные товары стоили дешевле."<br />
<a href=http://sociology2015.ru/index/0-85>развитие семьи как социального института</a><br />
<br />
Социология – такое понятное сейчас и в то же время неизвестное для многих направление деятельности человека. Под предметом исследования этой науки может оказаться немало понятий: и человек, и какой-нибудь предмет в жилище, и отношения между людьми и разными слоями общества. <br />
<br />
<a href=http://sociology2015.ru/index/0-8>школа как социальная организация</a><br />
<br />
Наиболее большое поле исследования профессионалов этой науки – наше общество, его деятельность, история, периоды упадка и развития. Лишь социология сможет точно ответить в цифрах на разнообразные вопросы из жизни человека: когда и как достойно жил человек, сколько рождается детей в какой-либо стране, сколько национальностей проживает в определённой стране. <br />
<br />
<a href=http://sociology2015.ru/news/2013-09-01-48>социология учебник 2013</a><br />
<br />
Данная наука поможет во многом разобраться, прежде всего, в деятельности человека. Вебсайт http://sociology2015.ru рассчитан на большую аудиторию людей, которые и специально занимаются социологией, и интересуются ею для разных целей. Увлекательные публикации, позволяющие узнать о разных направлениях социологии, близко ознакомиться с данной наукой, отыскать для себя немало увлекательного и полезного.</div>37.115.216.151