Первой мыслью было выбрать одну технологию и использовать ее, но оценив трудозатраты по переписыванию pipleline взаимодействия в любой из систем решено было искать альтернативные варианты.
А по какому принципу технологии выбирались изначально? Почему-то часто приходится слышать мнение, что Kafka - это вроде как более модный молодежный заменитель RabbitMQ. Но это же совершенно не так. Это разные технологии, созданные для решения разных задач. Если замене одной технологии на другую препятствуют только трудозатраты, то тут явный просчет на этапе проектирования.
Очень недальновидный капитал. Капитал поумнее, как мы видим, шарахается как черт от ладана.
Как-то вы рано выводы делаете, вам не кажется? Многие "очень недальновидные" компании существуют и по сей день (и весьма успешно). А вот как долго просуществует капитал "поумнее" будет видно лет через 50.
Репутационные потери от подобных действий гораздо серьезнее, чем от попытки остаться вне политики. По сути они продемонстрировали, что не являются надежными партнерами, т.к. могут в любой момент по велению своей пятки не только расторгнуть договор, но и украсть ваши деньги. Даже если вы никак не причастны к известным событиям.
Не совсем так. Многие ошибочно приравнивают наличие диплома к гарантированному трудоустройству. Мол, если есть диплом, то работодатели сами будут бегать за вами и упрашивать пойти работать в их компанию. Это не так для подавляющего большинства университетов в мире, а не только в России. Диплом не означает гарантированного трудоустройства, он всего лишь накинет вам N-ое количество баллов на собеседовании. Какое именно - зависит от специализации. В некоторых областях эти баллы можно легко компенсировать имеющимися навыками, опытом, умением заболтать собеседника в конце концов. В других это будет сделать практически невозможно.
Дачи есть, но жить/отдыхать они все равно предпочитают в странах Западной Европы и США. И потеря такой возможности (а также немалых денег из-за арестов активов) вызовет у них серьезное недовольство и руководство страны к ним должно прислушаться. П крайней мере, я на это надеюсь. Но толку в любом случае будет больше, чем от протеста рядовых разработчиков.
Могли бы помочь санкции против ключевых персонажей, которые являются опорой режима. Только вот Запад их вводит очень неохотно - например, наиболее одиозные личности почему-то в очередной раз избежали попадания в санкционные списки UK (где большая часть их активов).
P.S. Не срача ради, просто гипотетически рассуждаю о возможных способах урегулирования конфликта.
Кмк, никому. С режимом пробовали договорится, ну или найти какие-то рамки взаимного существования очень долго. Стерпели всякое, даже аннексию части другого государства.
Хотите сказать, что за 7 дней военных действий уже перепробованы все до единоговозможныеспособы? Ведь до этого с режимом вполне себе договаривались - тому доказательство куча совместных международных проектов и договоров. Естественно, не все шло гладко, где-то уступали, на что-то закрывали глаза, но это же политика, а в политике это нормально. И сейчас вполне можно договориться. Нужно только использовать правильные рычаги воздействия - возможно, оказывать давление через лиц, которые имеют влияние в правящих кругах и т.д. Но явно ведь не на разработчиков, которых, во-первых, слишком мало. Во-вторых, многие среди них и так имеют оппозиционные взгляды.
ИЧСХ, помогло, - Иран не создал атомную бомбу, а КНДР не захватила ЮК. Санкции - это не попытка "вылечить" страну, чтобы всем и внутри и снаружи было хорошо.
Так это же не мои слова, а перевод обсуждения петиции с гитхаба. Именно так они и обосновывают необходимость блокировок - чтобы разработчики начали протестовать против режима. Возможно, каких-то целей и можно добиться подобными методами, но только не тех, которые заявлены авторами.
Увы, но это попытка изолировать страну от остального мира, если режим недоговороспособен в принципе.
Таким образом можно получить Северную Корею 2.0, только намного больше и намного опаснее, с огромным количеством природных ресурсов и ядерного оружия. Кому это надо? Есть и более цивилизованные выходы из сложившейся ситуации.
Другие настаивали, что ограничения и блокировки нужны и немедленно, так как только они заставят российских разработчиков начать протестовать, поменять свои узкие суждения и предпринять хоть что-то.
Не помогло в Иране, не помогло в КНДР, не понятно почему должно помочь в России.
Чтобы заставить людей протестовать нужно наоборот способствовать появлению независимых СМИ и социальных сетей, а не уничтожать последние островки свободы.
Если пациент недееспособен, то нужно согласие его законных представителей. А если врач нападает со скальпелем на (потенциально) здоровых людей, чтобы сделать им операцию, от которой им гипотетически должно стать лучше, то не сильно-то от грабителя отличается.
Это вопрос к мейнтейнеру приложения. Или вы не встречали варианты когда библиотеки не поддерживают другие версии ядра?
Какому мейнтейнеру какого приложения? Вы мне в прошлом посте пытались доказать следующее:
Петя ДОЛЖЕН смотреть что творится в тех библиотеках, на которых построено его приложение. Если он пишет чистоганом - он должен смотреть на библиотеки ядра.
Вот вышла новая версия, скажем, ядра Linux с новым API. Что по-вашему теперь должен сделать Петя? Исправить всепредыдущие релизы своей библиотеки, начиная с самого первого, чтобы они стали работать на новом ядре?
Ну перестаньте докапываться к словам. Школьник который написал программу - перестал быть школьником?
Он стал разработчиком. Разработчик может спокойно пересобрать свое приложение с новой версией библиотеки или собрать локально нужную версию и линковать с ней.
Если он выкладывает свое поделие на гитхаб - значит он хочет чтоб его поделием пользовались, значит он хочет поделится решением проблемы, чтобы кто-то был более счастлив.
Да, но он не обязан решать за вас ваши проблемы.
Если вы хотите закрывать глаза на эту проблему - ваше право, но я здраво смотрю на один из главных недостатков данной системы.
Вы свои просчеты как разработчика пытаетесь свалить на систему. Если вы хотите распространять свое приложение в бинарном виде, то вы должны вместе с самим приложением распространять необходимые библиотеки, либо линковать статически, обходясь минимумом внешних зависимостей. Почему в случае Windows вы это принимаете, а для Linux это у вас вызывает отторжение?
Я вам про нисходящие зависимости говорю, а не вышестоящие. Петя ДОЛЖЕН смотреть что творится в тех библиотеках, на которых построено его приложение. Если он пишет чистоганом - он должен смотреть на библиотеки ядра. Все точно так-же как и в корпорациях крупных - все смотрят только ниже. Тут никакой нет разницы СПО это или внутряк корпоративный.
В Debian одна версия ядра, в Fedora вторая, в Gentoo - третья, в NetBSD вообще другое ядро и т.д. Какое из них поддерживать?
Тут никакой нет разницы СПО это или внутряк корпоративный.
Разница колоссальная: в первом случае ваша библиотека распространяется as-is по свободной лицензии, во втором случае ее поддержка является вашей служебной обязанностью, т.к. библиотека является частью продукта, в разработке которого вы участвуете.
Тут я конечно мои полномочия все... Под пользователем я имею ввиду потребителя. Это может быть девопс, погромист и даже школьник.
Каким образом школьник или девопс могут использовать библиотеку? Библиотека не может использоваться сама по себе. Если вы ее используете как часть какого-то приложения, то все вопросы к разработчику этого приложения, т.к. поддержка - это его зона отвественности.
А я изначально писал просто про перекомпиляцию старого куска кода под современную ОС. Конкретно в моем случае надо было запустить программу родом из 2007.
И каким образом это является проблемой ОС? Пинайте разработчика, обеспечить работоспособность кода - это его работа.
А условный Петр пишущий библиотеку, ну скажем ffmpeg, не должен смотреть на то что делается в ядре? Ну типа "вылетит - да и хрен с ним!"?
При чем тут "вылетит"? Не надо, пожалуйста, понятия подменять.
Библиотеку Петр пишет для других разработчиков. И те разработчики, которые хотят использовать новую версию его библиотеки в своем приложении, просто адаптируют свой код под новый API, а те, которые не хотят - будут использовать старую версию. Вот и все.
Для библиотеки это вполне оправданный и разумный подход.
Петр даже если захочет не сможет учитывать изменения во всех дистрибутивах, которых даже более-менее популярных с пару десятков наберется. А есть еще и *BSD, например.
Вы бедного Петра хотите заставить кроме библиотеки поддерживать и все ПО, которое использует его библиотеку?
Если приложение перестало работать, то решать этот вопрос должен разработчик приложения - либо обновлять свой код, либо распространять нужные версии библиотек вместе с приложением.
А довольный пользователь свободной библиотеки/приложения - не цель его создания? Любая программа пишется для кого-то. В вакууме она не нужна.
Библиотека пишется не для конечных пользователей, а для других разработчиков. Вассал моего вассала - не мой вассал.
Не собрать старую версию, затолкав ее в какой-нибудь толстый контейнер, а портировать старую на актуальную платформу. Эта задача сравнимая с написанием с нуля, да. Особенно если мы затрагиваем x86->x64, gtk2->gtk3 или еще веселей gtk->kde и переход со 2й до 4й версии ядра.
Для вас такое портирование было нормальным? Лично я снес целиком все что было связано с GUI, драйвера и интерфейсы, звуковую подсистему, и оставил только логику, а это меньшая часть кода. Все остальное было переписано с нуля.
А каким образом мы перескочили от изменений версий библиотек к переходу на другую архитектуру или портированию на другой фреймворк?
Все решаемое, вопрос цены времени. Я могу и ВМ сделать для старого ПО и собрать некрософт, решая конфликты. Но вот потраченные силы - жалко.
Это что за приложение такое, которое напрямую зависит от ядра и драйверов? Если вы попробуете запустить какое-нибудь приложение для Win9x, которое использовало VxD для того, что выполнять код в Ring0, то оно тоже не будет работать на современных Windows
Не совсем так. Слишком много изменений в системе было, лично в моем билде. Собрав бинарь в 36 мегабайт - он не запускается вовсе на актуальной системе, какие-бы танцы с бубном я не танцевал.
О каких изменениях речь, если у вас зависимость только от X?
Значит ответственность за мажорные изменения в библиотеке, которую пишет условный Иван, но она включена в стандартную поставку ОС - целиком на нем?
Иван отвечает только за своюбиблиотеку, он принимает решения, которые отпимальны для его библиотеки. Он не может отвечать за то, что какой-то условный Петр включил библиотеку в свой дистрибутив и зафиксировал определенную версию, как и за то, что у условного Василия сломалось его приложение 20летней давности, которое было собрано с прошлой версией библиотеки.
А вот если Иван и Петр работают в компании Microsoft, то они могут согласовать между собой, какие изменения вносить Ивану, чтобы у пользователя их ОС ничего не сломалось, т.к. довольный пользователь - это один из главных приоритетов.
Про это я и пишу - разницы с виндой нет т.к. открытые исходники, которые являются единственным плюсом для восстановления легаси софта в актуальное состояние - проще переписать с нуля под нужные алгоритмы, чем портировать софт на актуальную версию платформы через 10 лет.
Вы утверждаете, что переписать с нуля php проще, чем собрать старую версию?
Я честно говоря не знаю как вы соберете старые библиотеки, это тоже квест тот еще, т.к. депенденси хелл при сборке старой версии софта лично меня заставил оставшиеся три волосины рвать на голове. И да, glibc тоже был в этом замесе.
Задача вполне решаема, если вам действительно очень нужно запустить этот софт.
Не значит. Но я же не один из всего сообщества их проверяю. И наверняка там найдется немало специалистов, которые квалифицированнее меня, внимательнее или просто удачливее.
А по какому принципу технологии выбирались изначально? Почему-то часто приходится слышать мнение, что Kafka - это вроде как более модный молодежный заменитель RabbitMQ. Но это же совершенно не так. Это разные технологии, созданные для решения разных задач. Если замене одной технологии на другую препятствуют только трудозатраты, то тут явный просчет на этапе проектирования.
Это Яндекс. У них вообще очень странный подход к найму не только железячников, но и разработчиков.
Это как-то влияет на качество или вкус?
Как-то вы рано выводы делаете, вам не кажется? Многие "очень недальновидные" компании существуют и по сей день (и весьма успешно). А вот как долго просуществует капитал "поумнее" будет видно лет через 50.
Репутационные потери от подобных действий гораздо серьезнее, чем от попытки остаться вне политики. По сути они продемонстрировали, что не являются надежными партнерами, т.к. могут в любой момент по велению своей пятки не только расторгнуть договор, но и украсть ваши деньги. Даже если вы никак не причастны к известным событиям.
Не совсем так. Многие ошибочно приравнивают наличие диплома к гарантированному трудоустройству. Мол, если есть диплом, то работодатели сами будут бегать за вами и упрашивать пойти работать в их компанию. Это не так для подавляющего большинства университетов в мире, а не только в России. Диплом не означает гарантированного трудоустройства, он всего лишь накинет вам N-ое количество баллов на собеседовании. Какое именно - зависит от специализации. В некоторых областях эти баллы можно легко компенсировать имеющимися навыками, опытом, умением заболтать собеседника в конце концов. В других это будет сделать практически невозможно.
Дачи есть, но жить/отдыхать они все равно предпочитают в странах Западной Европы и США. И потеря такой возможности (а также немалых денег из-за арестов активов) вызовет у них серьезное недовольство и руководство страны к ним должно прислушаться. П крайней мере, я на это надеюсь. Но толку в любом случае будет больше, чем от протеста рядовых разработчиков.
Могли бы помочь санкции против ключевых персонажей, которые являются опорой режима. Только вот Запад их вводит очень неохотно - например, наиболее одиозные личности почему-то в очередной раз избежали попадания в санкционные списки UK (где большая часть их активов).
P.S. Не срача ради, просто гипотетически рассуждаю о возможных способах урегулирования конфликта.
Хотите сказать, что за 7 дней военных действий уже перепробованы все до единого возможные способы? Ведь до этого с режимом вполне себе договаривались - тому доказательство куча совместных международных проектов и договоров. Естественно, не все шло гладко, где-то уступали, на что-то закрывали глаза, но это же политика, а в политике это нормально. И сейчас вполне можно договориться. Нужно только использовать правильные рычаги воздействия - возможно, оказывать давление через лиц, которые имеют влияние в правящих кругах и т.д. Но явно ведь не на разработчиков, которых, во-первых, слишком мало. Во-вторых, многие среди них и так имеют оппозиционные взгляды.
Так это же не мои слова, а перевод обсуждения петиции с гитхаба. Именно так они и обосновывают необходимость блокировок - чтобы разработчики начали протестовать против режима. Возможно, каких-то целей и можно добиться подобными методами, но только не тех, которые заявлены авторами.
Таким образом можно получить Северную Корею 2.0, только намного больше и намного опаснее, с огромным количеством природных ресурсов и ядерного оружия. Кому это надо? Есть и более цивилизованные выходы из сложившейся ситуации.
Не помогло в Иране, не помогло в КНДР, не понятно почему должно помочь в России.
Чтобы заставить людей протестовать нужно наоборот способствовать появлению независимых СМИ и социальных сетей, а не уничтожать последние островки свободы.
Если пациент недееспособен, то нужно согласие его законных представителей. А если врач нападает со скальпелем на (потенциально) здоровых людей, чтобы сделать им операцию, от которой им гипотетически должно стать лучше, то не сильно-то от грабителя отличается.
Врач перед операцией обычно получает согласие пациента.
А что людям, на которых падают бомбы, становится легче от того, что их бомбят не для того, чтобы присоединить к себе?
Какому мейнтейнеру какого приложения? Вы мне в прошлом посте пытались доказать следующее:
Вот вышла новая версия, скажем, ядра Linux с новым API. Что по-вашему теперь должен сделать Петя? Исправить все предыдущие релизы своей библиотеки, начиная с самого первого, чтобы они стали работать на новом ядре?
Он стал разработчиком. Разработчик может спокойно пересобрать свое приложение с новой версией библиотеки или собрать локально нужную версию и линковать с ней.
Да, но он не обязан решать за вас ваши проблемы.
Вы свои просчеты как разработчика пытаетесь свалить на систему. Если вы хотите распространять свое приложение в бинарном виде, то вы должны вместе с самим приложением распространять необходимые библиотеки, либо линковать статически, обходясь минимумом внешних зависимостей. Почему в случае Windows вы это принимаете, а для Linux это у вас вызывает отторжение?
В Debian одна версия ядра, в Fedora вторая, в Gentoo - третья, в NetBSD вообще другое ядро и т.д. Какое из них поддерживать?
Разница колоссальная: в первом случае ваша библиотека распространяется as-is по свободной лицензии, во втором случае ее поддержка является вашей служебной обязанностью, т.к. библиотека является частью продукта, в разработке которого вы участвуете.
Каким образом школьник или девопс могут использовать библиотеку? Библиотека не может использоваться сама по себе. Если вы ее используете как часть какого-то приложения, то все вопросы к разработчику этого приложения, т.к. поддержка - это его зона отвественности.
И каким образом это является проблемой ОС? Пинайте разработчика, обеспечить работоспособность кода - это его работа.
При чем тут "вылетит"? Не надо, пожалуйста, понятия подменять.
Библиотеку Петр пишет для других разработчиков. И те разработчики, которые хотят использовать новую версию его библиотеки в своем приложении, просто адаптируют свой код под новый API, а те, которые не хотят - будут использовать старую версию. Вот и все.
Для библиотеки это вполне оправданный и разумный подход.
Петр даже если захочет не сможет учитывать изменения во всех дистрибутивах, которых даже более-менее популярных с пару десятков наберется. А есть еще и *BSD, например.
Вы бедного Петра хотите заставить кроме библиотеки поддерживать и все ПО, которое использует его библиотеку?
Если приложение перестало работать, то решать этот вопрос должен разработчик приложения - либо обновлять свой код, либо распространять нужные версии библиотек вместе с приложением.
Библиотека пишется не для конечных пользователей, а для других разработчиков. Вассал моего вассала - не мой вассал.
А каким образом мы перескочили от изменений версий библиотек к переходу на другую архитектуру или портированию на другой фреймворк?
Так нужно все-таки или жалко сил?
Это что за приложение такое, которое напрямую зависит от ядра и драйверов? Если вы попробуете запустить какое-нибудь приложение для Win9x, которое использовало VxD для того, что выполнять код в Ring0, то оно тоже не будет работать на современных Windows
О каких изменениях речь, если у вас зависимость только от X?
Иван отвечает только за свою библиотеку, он принимает решения, которые отпимальны для его библиотеки. Он не может отвечать за то, что какой-то условный Петр включил библиотеку в свой дистрибутив и зафиксировал определенную версию, как и за то, что у условного Василия сломалось его приложение 20летней давности, которое было собрано с прошлой версией библиотеки.
А вот если Иван и Петр работают в компании Microsoft, то они могут согласовать между собой, какие изменения вносить Ивану, чтобы у пользователя их ОС ничего не сломалось, т.к. довольный пользователь - это один из главных приоритетов.
Вы утверждаете, что переписать с нуля php проще, чем собрать старую версию?
Задача вполне решаема, если вам действительно очень нужно запустить этот софт.
Не значит. Но я же не один из всего сообщества их проверяю. И наверняка там найдется немало специалистов, которые квалифицированнее меня, внимательнее или просто удачливее.