Меня тут с незнакомого email попросили прокомментировать уход одного из
мейнтейнеров Debian, который на прощание написал пост от том, какие
проблемы есть в Debian сегодня.
Дисклеймер: основной язык автора -- Go, поэтому его проблемы мне не
близки. Мои комментарии лучше читать параллельно со статьёй на хабре,
которая является переводом. Перевод я не выверял.
Ну во первых, уход мейнтейнера это ни разу не конец света. Люди
приходят, люди уходят. Везде так, в оффлайне тоже.
Пассаж про флаги C++ я просто не понял. Если все делать по уму, то флаги
компиляции выдаются коммандой `dpkg-buildflags`. Да и пассаж "на моей
основной работе мы обнаружили" тоже непонятен. А если я на своей
обнаружил, что диктатура эффективнее всего, конституцию Debian
переписывать что ли?
Про внесение изменений в кучу отдельных пакетов замечание верное. Каждая
комманда (haskell, ruby, perl) выкручивается по-своему, но если нужно
сделать какие-то изменения в куче пакетов, не связанных одной коммандой,
то да, это называется transition, и это заморочно.
То, что патчи применяются медленно это, простите, жизнь такая. И
у нас, и на GitHub, и на GitLab и где угодно -- есть проекты, у которых
мейнтейнер не спит и не ест, только патчи комментирует; есть проекты, где
это процесс занимает месяцы. Кстати, если мейнтейнер вообще не отвечает,
то патч можно пропихнуть за 30 дней: патч, пинг и загрузка в DELAYED/15
через две недели. Вежливо, но настойчиво.
То, что мейнтейнер может отвечать, но быть упрямым как баран, это факт.
По моему опыту, самая большая головная боль это init-system-helpers...
Предложение о коммунизме, когда все пакеты общие у меня вызывает
смешанные чувства. С одной стороны, это упростило бы некоторые моменты,
с другой -- коллективная ответственность, она же никакая.
Психология, однако. Debian Contributor (тем паче, DM и DD) прошёл через
огонь, воду и медные трубы, чтобы загрузить пакет в Debian, вероятно
этот пакет важен для него. А при общинном подходе что? Pull-request
приняли, ну я пошёл?
Зоопарк различных способов хранения source-пакетов? Да, он есть. Да, во
мне тоже иногда просыпается маленький диктатор, который требует и топает
ножкой, чтобы все хранили пакеты в соответствии с моим представлением о
прекрасном. И?
То, что FTP мог бы как-нибудь более интерактивно сообщать о том, что
загрузка битая, я согласен. А вот насчёт DebBugs я в корне не согласен.
DebBugs это лучшая из систем отслеживания ошибок из всех, о которых я
знаю. Да, DebBugs работает не очень быстро, но это ничего не значит.
DebBugs позволяет работать offline и асинхронно. Руки прочь!
Насчёт web-просмотра email ничего не могу сказать, я работаю локально в
99% случаев, mairix/notmuch наше всё.
Сложный билд-стек? По моему, всё просто -- `debuild -us -uc'. Да, я
собираю на живой системе. Мне хватает.
Ну кто там не нашёл отладочние пакеты? Уже два года как отладочные
пакеты генерируются автоматичести с суффиксом `-dbgsym'.
Разумеется, в Debian куча проблем. Возможно, я даже как нибудь напишу
свою статью "почему Debian это лютый ахтунг, и никто ничего с этим не
делает", но я не нашёл другого проекта, про который мне казалось бы
естественным говорить "мы".
https://habr.com/ru/company/itsumma/blog/443490/
мейнтейнеров Debian, который на прощание написал пост от том, какие
проблемы есть в Debian сегодня.
Дисклеймер: основной язык автора -- Go, поэтому его проблемы мне не
близки. Мои комментарии лучше читать параллельно со статьёй на хабре,
которая является переводом. Перевод я не выверял.
Ну во первых, уход мейнтейнера это ни разу не конец света. Люди
приходят, люди уходят. Везде так, в оффлайне тоже.
Пассаж про флаги C++ я просто не понял. Если все делать по уму, то флаги
компиляции выдаются коммандой `dpkg-buildflags`. Да и пассаж "на моей
основной работе мы обнаружили" тоже непонятен. А если я на своей
обнаружил, что диктатура эффективнее всего, конституцию Debian
переписывать что ли?
Про внесение изменений в кучу отдельных пакетов замечание верное. Каждая
комманда (haskell, ruby, perl) выкручивается по-своему, но если нужно
сделать какие-то изменения в куче пакетов, не связанных одной коммандой,
то да, это называется transition, и это заморочно.
То, что патчи применяются медленно это, простите, жизнь такая. И
у нас, и на GitHub, и на GitLab и где угодно -- есть проекты, у которых
мейнтейнер не спит и не ест, только патчи комментирует; есть проекты, где
это процесс занимает месяцы. Кстати, если мейнтейнер вообще не отвечает,
то патч можно пропихнуть за 30 дней: патч, пинг и загрузка в DELAYED/15
через две недели. Вежливо, но настойчиво.
То, что мейнтейнер может отвечать, но быть упрямым как баран, это факт.
По моему опыту, самая большая головная боль это init-system-helpers...
Предложение о коммунизме, когда все пакеты общие у меня вызывает
смешанные чувства. С одной стороны, это упростило бы некоторые моменты,
с другой -- коллективная ответственность, она же никакая.
Психология, однако. Debian Contributor (тем паче, DM и DD) прошёл через
огонь, воду и медные трубы, чтобы загрузить пакет в Debian, вероятно
этот пакет важен для него. А при общинном подходе что? Pull-request
приняли, ну я пошёл?
Зоопарк различных способов хранения source-пакетов? Да, он есть. Да, во
мне тоже иногда просыпается маленький диктатор, который требует и топает
ножкой, чтобы все хранили пакеты в соответствии с моим представлением о
прекрасном. И?
То, что FTP мог бы как-нибудь более интерактивно сообщать о том, что
загрузка битая, я согласен. А вот насчёт DebBugs я в корне не согласен.
DebBugs это лучшая из систем отслеживания ошибок из всех, о которых я
знаю. Да, DebBugs работает не очень быстро, но это ничего не значит.
DebBugs позволяет работать offline и асинхронно. Руки прочь!
Насчёт web-просмотра email ничего не могу сказать, я работаю локально в
99% случаев, mairix/notmuch наше всё.
Сложный билд-стек? По моему, всё просто -- `debuild -us -uc'. Да, я
собираю на живой системе. Мне хватает.
Ну кто там не нашёл отладочние пакеты? Уже два года как отладочные
пакеты генерируются автоматичести с суффиксом `-dbgsym'.
Разумеется, в Debian куча проблем. Возможно, я даже как нибудь напишу
свою статью "почему Debian это лютый ахтунг, и никто ничего с этим не
делает", но я не нашёл другого проекта, про который мне казалось бы
естественным говорить "мы".
https://habr.com/ru/company/itsumma/blog/443490/
Хабр
Почему я сворачиваю свою работу над Debian
От переводчика: этот текст — перевод записи в личном блоге Михаэля Штапельберга (Michael Stapelberg) видного open source-разработчика ( профиль GitHub ), который внес значительный вклад в развитие...
Каждый, кто заикается о "снижении порога входа", diversity, inclusivity и прочей хрени должен помнить о вечном сентябре.
Они убили NNTP, сволочи!
Они убили NNTP, сволочи!
Wikipedia
Вечный сентябрь
Ве́чный сентя́брь (англ. Eternal September, также англ. September that never ended «сентябрь, который никогда не закончился») — это сленговое выражение, возникшее в сети Usenet, придуманное Дейвом Фишером для периода, начавшегося в сентябре 1993 года. Выражение…
Любопытное изложение, укладывающее в одну систему теорию computer science и практику, связанную с устройством реальных компьютеров, из кремния и меди.
http://www.ilikebigbits.com/2014_04_21_myth_of_ram_1.html
http://www.ilikebigbits.com/2014_04_21_myth_of_ram_1.html
Зачем вы используете tinyurl? Вы осознаёте, что по вашей милости (а) ссылка перестаёт быть информативной -- домена не видно и (б) информация о том, на какие сайты и какие страницы я посещаю сливается рекламной компании? Ну что за вредительство?
https://en.m.wikipedia.org/wiki/TinyURL
https://en.m.wikipedia.org/wiki/TinyURL
Wikipedia
TinyURL
URL shortening service
На https://ctan.org появились кнопочки фейсбука, твиттера и остального... Et tu, Brute?
Как известно, есть родитель процесса в Unix завершается раньше, чем его
дочерний процесс, то дочерний процесс получает нового родителя -- PID1,
которым обычно является /sbin/init. В ядре Linux есть функция,
позволяющая определить, что новым родителем при таких обстоятельствах
будет какой-то процесс, отличных от PID1.
Странное желание, но попробуем выяснить, зачем это сделано. Открываем
историю, читаем мотивировочную часть: "некоторые демоны написаны через
задницу и не умеют работать в foreground. Вместо того, чтобы исправлять
код этих демонов, лучше давайте раздуем Linux ещё больше. Мне пофиг, что
это создаст условия для написания ещё большего количества демонов через
задницу". Число и подпись -- Церетелли от IT.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ebec18a6d3aa1e7d84aab16225e87fd25170ec2b
дочерний процесс, то дочерний процесс получает нового родителя -- PID1,
которым обычно является /sbin/init. В ядре Linux есть функция,
позволяющая определить, что новым родителем при таких обстоятельствах
будет какой-то процесс, отличных от PID1.
Странное желание, но попробуем выяснить, зачем это сделано. Открываем
историю, читаем мотивировочную часть: "некоторые демоны написаны через
задницу и не умеют работать в foreground. Вместо того, чтобы исправлять
код этих демонов, лучше давайте раздуем Linux ещё больше. Мне пофиг, что
это создаст условия для написания ещё большего количества демонов через
задницу". Число и подпись -- Церетелли от IT.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ebec18a6d3aa1e7d84aab16225e87fd25170ec2b
Вы хотите это видеть. http://www.devuan.org/pwned.html
Этичность оставляя за скобками, это выглядит офигенно.
Этичность оставляя за скобками, это выглядит офигенно.
Я уже высказывался, что условная компиляция -- это зло, порожденное
нежеланием или неспособностью подумать, как можно вынести необходимую
функциональность в отдельный процесс. Особо яркие эмоции вызывают у
меня конфигурационные скрипты с логикой "если библиотека <foo>
установлена, то собирать программу мы будем с поддержкой <foo>. Добавить
ключик --without-foo? Не, а зачем?"
Таким образом, конфигурация сборки зависит от установленных программ,
библиотек и фазы луны. Счасливой отладки!
Я прекрасно знаю, зачем создавался Autoconf, но за последние 17 лет
что-то где-то пошло не так.
нежеланием или неспособностью подумать, как можно вынести необходимую
функциональность в отдельный процесс. Особо яркие эмоции вызывают у
меня конфигурационные скрипты с логикой "если библиотека <foo>
установлена, то собирать программу мы будем с поддержкой <foo>. Добавить
ключик --without-foo? Не, а зачем?"
Таким образом, конфигурация сборки зависит от установленных программ,
библиотек и фазы луны. Счасливой отладки!
Я прекрасно знаю, зачем создавался Autoconf, но за последние 17 лет
что-то где-то пошло не так.
Любопытная новость про вроде как цивилизованную Швейцарию, где кому-то
очень одарённому пришла гениальная мысль доверить результаты выборов.
Целиком. Проприетарной программе. Разрабатываемой коммерческой
компанией.
https://boingboing.net/2019/03/13/principal-agent-problems.html
очень одарённому пришла гениальная мысль доверить результаты выборов.
Целиком. Проприетарной программе. Разрабатываемой коммерческой
компанией.
https://boingboing.net/2019/03/13/principal-agent-problems.html
Boing Boing
A critical flaw in Switzerland's e-voting system is a microcosm of everything wrong with e-voting, security practice, and auditing…
A critical flaw in Switzerland's e-voting system is a microcosm of everything wrong with e-voting, security practice, and auditing firms
Как ни прискорбно это признавать, но развитие свободного программного
обеспечения и Debian в частности, подчиняется некоторым эволюционным
законам. К примеру, эволюции интересна глубина корней, но не вопрос, а
не сорняк ли это.
Пару недель назад мне на один из моих пакетов (src:gdbm) прилетел очень
серьёзный баг. Как порядочный мейнтейнер я его пофиксил, но я знаю (и
знал), что я мог положить огромный болт, и никому в голову не пришло бы
удалять из архивов libgdbm, потому что ни у кого нет ресурсов выдирать эту
зависимость из всего архива.
Тоже самое касается libselinux, libsystemd, libaudit, libdbus, libz,
libssl -- они могут быть забагованы до чёртиков, но выпилить их
это слишком большая работа, в то время как два года назад мой
пакет выпилили и не поморщились (#861536).
Простота, модулярность, ортогональность? Как и Ричард Докинз, я лелею
надежду, что человеческий разум способен восстать против слепого
часовщика, но иногда, читая новости, мне кажется, что единственное, что
может помочь -- заставить всех, кто хочет стать программистом, давать
непреложную клятву на томе "Art of Unix programming".
https://en.wikipedia.org/wiki/The_Selfish_Gene
http://catb.org/~esr/writings/taoup/html/
обеспечения и Debian в частности, подчиняется некоторым эволюционным
законам. К примеру, эволюции интересна глубина корней, но не вопрос, а
не сорняк ли это.
Пару недель назад мне на один из моих пакетов (src:gdbm) прилетел очень
серьёзный баг. Как порядочный мейнтейнер я его пофиксил, но я знаю (и
знал), что я мог положить огромный болт, и никому в голову не пришло бы
удалять из архивов libgdbm, потому что ни у кого нет ресурсов выдирать эту
зависимость из всего архива.
Тоже самое касается libselinux, libsystemd, libaudit, libdbus, libz,
libssl -- они могут быть забагованы до чёртиков, но выпилить их
это слишком большая работа, в то время как два года назад мой
пакет выпилили и не поморщились (#861536).
Простота, модулярность, ортогональность? Как и Ричард Докинз, я лелею
надежду, что человеческий разум способен восстать против слепого
часовщика, но иногда, читая новости, мне кажется, что единственное, что
может помочь -- заставить всех, кто хочет стать программистом, давать
непреложную клятву на томе "Art of Unix programming".
https://en.wikipedia.org/wiki/The_Selfish_Gene
http://catb.org/~esr/writings/taoup/html/
Да вы там совсем сдурели? Ну я понимаю JS -- ошибка истории, но пихать отслеживание клиента в стандарт HTML? Время воскрешать ftp и gopher.
https://www.w3schools.com/TAGs/att_a_ping.asp
https://www.w3schools.com/TAGs/att_a_ping.asp
W3Schools
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
Мрак, однако. Первый раз в жизни открыл комментарии в твиттере. Тоже мрак.
Forwarded from Медуза — LIVE (Медуза)
Видео задержания Ассанжа. Его выносят из посольства, он сопротивляется.
https://twitter.com/Ruptly/status/1116277306161618944
https://twitter.com/Ruptly/status/1116277306161618944
Недавно вышел GNU Awk 5.0.0, в котором к уже имеющимся динамическим
(.so) модулям были добавлены пространства имён. Меня удивляет эта
попытка сделать язык общего назначения из чего-то, для этого не
предназначенного.
Впрочем, awk -- виртуальный пакет, и GNU awk лишь одна реализация из
трёх, и подобные нововведения не навязываются тем, кто в них не
заинтерсован.
(.so) модулям были добавлены пространства имён. Меня удивляет эта
попытка сделать язык общего назначения из чего-то, для этого не
предназначенного.
Впрочем, awk -- виртуальный пакет, и GNU awk лишь одна реализация из
трёх, и подобные нововведения не навязываются тем, кто в них не
заинтерсован.
Существует мнение, что культурное разнообразие это хорошо, но...
https://manishearth.github.io/blog/2017/01/15/breaking-our-latin-1-assumptions/
https://manishearth.github.io/blog/2017/01/15/breaking-our-latin-1-assumptions/
manishearth.github.io
Breaking our Latin-1 assumptions
So in my previous post I explored a specific (wrong) assumption that programmers
tend to make about the nature of code points and text. I was asked multiple times about other assumptions we tend to …
tend to make about the nature of code points and text. I was asked multiple times about other assumptions we tend to …
Полагаю, эту драму вокруг `memcpy` видели все. Она старая. Моя позиция
проста -- если что-то сделано неправильно, надо сделать правильно.
Никаких но.
К чему это я вспомнил? Сейчас идёт некая дискуссия вокруг `insserv`,
чтобы он работал с некорректными зависимостями. Да ладно?! Не приглашаю,
но взглянуть может быть любопытно.
https://bugs.debian.org/711853
https://bugzilla.redhat.com/show_bug.cgi?id=638477
проста -- если что-то сделано неправильно, надо сделать правильно.
Никаких но.
К чему это я вспомнил? Сейчас идёт некая дискуссия вокруг `insserv`,
чтобы он работал с некорректными зависимостями. Да ладно?! Не приглашаю,
но взглянуть может быть любопытно.
https://bugs.debian.org/711853
https://bugzilla.redhat.com/show_bug.cgi?id=638477
Forwarded from RUPRESSION
Тем временем на Википедии идут споры о том, удалять ли статью о деле «Сети» или нет.
Инициатор проверки предположил что «Сеть» это преступное сообщество. Полагаем, списки террористических организаций дали о себе знать.
Инициатор проверки предположил что «Сеть» это преступное сообщество. Полагаем, списки террористических организаций дали о себе знать.
Похоже, я в меньшинстве. Понижение порога входа, понимаете-ли. Мне
страшно, друзья. Все эти заигрывания с популизмом кончатся вечным
сентябрём, и Debian, всё ещё отчасти сохраняющий былое величие,
будет окончательно похоронен толпами хипстеров поколения IDE и
страшно, друзья. Все эти заигрывания с популизмом кончатся вечным
сентябрём, и Debian, всё ещё отчасти сохраняющий былое величие,
будет окончательно похоронен толпами хипстеров поколения IDE и
curl|sh, которые даже не знают, что такое diffstat.