Comments 2491
Покiрне телятко двi матки ссе.
Это древняя украинская поговорка, на русском звучит «Ласковый телёнок двух мамок сосёт».
(«сосёт» == «кормится» в данном контексте, для особо злостных прогульщиков школы).
Но на украинском звучит ближе к теме (вынужденное переобувание в прыжке).
А вы вообще хотя бы первое предложение статьи прочитали, прежде чем оставлять свой «очень умный» комментарий c 20 грамматическими ошибками о том, что у кого-то «нулевое знание» о вашей любимой платформе? Хорошо, что по крайней мере одно слово написано с большой буквы. Ох, подождите…
Зато в Линуксе да, были грабли в своё время.
Сколько разнообразных версий C++ redistributable у вас стоит?
Как пользователю мне абсолютно всё равно сколько их там стоит.
Может такое и случалось как-то раз или два за последние 15 лет, но это точно не какая-то насущная проблема. И скорее винить тут надо не проклятую винду, а тех кто инсталлер делал, который не проверят или не предлагает поставить нужную версию библиотек, от которой софт, собственно, зависит.
И скорее винить тут надо не проклятую винду, а тех кто инсталлер делал, который не проверят или не предлагает поставить нужную версию библиотек, от которой софт, собственно, зависит.
тут скорее проблема в том, что инсталляторы раздутые — так как им приходится таскать с собой эти раздутые компоненты с собой, а штатного способа установить их в винде через тот же windows update нет — все "прелести" отсутствия пакетного менеджера (chocolatey это все-таки не штатное решение)
Вспомните ранние поделки Близзард, например. Работало как в 98, так и в Win7 почти без проблем, инсталлятор — минимален.
А сколько есть того, что работало в 98, а в NT даже не запускалось?
А сколько есть того, что работало в 98, а в NT даже не запускалось?
Вы бы еще ДОС-приложения вспомнили. Ну, с 98 vs NT все более-менее понятно — НТ всегда была более защищенной системой и не прощала определенные вольности, к которым привыкли разрабы под w95-98.
Вы бы еще ДОС-приложения вспомнили. Ну, с 98 vs NT все более-менее понятно — НТ всегда была более защищенной системой
Давайте вспомним не такую древность.
Приложения, которые следовали рекомендациям, без проблем завелись на Windows Vista и старше. А остальные ругались и требовали админских привилегий.
тут скорее проблема в том, что инсталляторы раздутые — так как им приходится таскать с собой эти раздутые компоненты с собой, а штатного способа установить их в винде через тот же windows update нет
подзабыли вы уже времена когда линукс шел на нескольких DVD на которых был клон репозитория чтобы «вот в линуксе маленькие программы! 5мб всего! не то что в вашей винде!.. и зависимостей на 350… вставьте диск номер 3»
Но это одни и те же зависимости для тысяч программ, а в винде нормально иметь сразу 7 установленных дотнетов ради десятка установленных программ.
я помню однажды упражнялся в suse и мудреным софтом для мониторинга и управления… приходилось из других дистрибов либы выковыривать… самому некоторые собирать вручную из исходников и символьные ссылки подсовывать на правильные либы… и молится что оно заработает
Это же проблема разрабов и мейтенеров, чего это они сразу нормально не опакетили?
Знаете как бывает работает поддержка у огромных корпораций? я вот давно, лет 10 назад… общался с Ораклом…
У нас была куплена лицензия самая простая на DB чёто там минимальная комплектация..1 проц всё урезано… и чёто не ставится ну типа уплочено звоним в поддержку…
Рассказываю как что… уточняют какая у меня лицензия… и… и короткие гудки… повторный звонок — «пишите на почту, мы ответим вам в течении 30 дней»…
у них, если ты не платишь 100500 лямов — то твои запросы будут делать в самую последнюю очередь.
я помимо оракла, очень много костылил в одном очень известном софте для банковского процессинга… тупо потому что они рассматривают заявки только от крупняков типа сбера… а мелкие конторы — сами страдайте… мы даже помогать вам не будем если у вас прод не упал по нашей (докажите ещё) вине
Проблема в том, что то, что Вы описали — в принципе характерная история для крупняка и абсолютно независимая от того какая платформа целевая — будь то виндовс или линукс.
Дополню ответ gecube, в винде у вас вообще может оказаться 16-бит приложение и современная 64-хбитная система, или что-то под DOS, перехватывающее прерывания.
И эти проблемы будут нерешаемы в принципе иначе чем как виртуалкой или старым компом со старой ОС.
так в линуксе вы вообще не сможете запустить софт написанный в 98 году например, в отличии от винды…
тут хотябы 16 битное приложение 93 года с довольно большой долей вероятности запустится в 32битной десятке
в линуксе с поддержкой легаси всё гораздо печальнее
Именно поэтому для запуска всякого легаси каджит использовал Wine for Windows, да.
Вы слишком много верите рекламе, и слишком мало работаете с софтом.
А у микрософта, тем временем, с совместимостью беда даже с самим собой
в линуксе с поддержкой легаси всё гораздо печальнее
А зачем вам замусоривать хост систему? Есть много других способов поднять легаси не проглатывая ежа.
Вы слишком много верите рекламе, и слишком мало работаете с софтом.
я вот как раз довольно много работал с офисными компами на винде и серверами на линуксе, чтобы мочь сравнивать
А у микрософта, тем временем, с совместимостью беда даже с
аа, ну всё, значит линуксу она совсем не нужна, так?
я вот как раз довольно много работал с офисными компами на винде и серверами на линуксе, чтобы мочь сравнивать
Тогда вы и сами сможете назвать пяток способов изоляции приложений без порчи хост-системы.
аа, ну всё, значит линуксу она совсем не нужна, так?
С чего вы взяли?
С чего вы взяли?
из стиля ведения дискуссии
1) в линухе фиговая совместимость с легаси, в винде софт работает даже 93 года выпуска
2) --на-те-минус-гад--
3) за что?
4) У винды проблемы с совместимостью даже между со своими продуктами!
5) но линукс то?? там не нужно?
6) а с чего вы взяли что у линукса её нет??
не? какой я должен вывод сделать?
Во-первых, вы расставляете эмоциональные акценты там, где их нет.
Во-вторых, корреляция не значит причинность.
Каджит сейчас поставил вам плюсик на тот коммент, но заигрывать с соломенным чучелом он таки рекомендует завязать.
тут каждый участник — предвзят и эмоционален, плюс вообще все имеют профессиональное искажение точки зрения в восприятии обоих ОС
Поэтому очень важно сохранять холодную голову при горячем сердце, как разведчику.
Ну, были б еще какие-то реальные случаи.
Например, справочная софтина на Visual FoxPro, работающая только с дремучей версией ODBC и парой не менее дремучих ActiveX, занимающихся кастомизацией оформления.
Но такой пример подойдет только как контрпример =)
Смысл может быть простой экономический: новая версия софта стоит новых денег.
Я про
Не вижу смысла запускать старые версии программ на современных версиях обеих ОС.
Вот купил я, например, лет 10 назад Офис 2007, работал он все эти годы под XP, например, устраивал и устраивает. А вчера купил новый ноутбук с десяткой.
Есть ли мне смысл платить за Офис 2020 или какая там сейчас версия актуальная? В целом не вижу, если 2007 устанавливается на десятку и работает. А если нет, то есть второй вариант — даунгрейдить ОС, до какого-то предела, пока она ещё ставится на новое железо, и пока офис не установится. Вот когда пересечения не будет, тогда уже думать то ли новый офис купить, то ли отказаться от него вообще.
Ну, все просто — производители ПО переходят с коробочной модели на модель подписок — потому что первая это единоразовый доход, не интересно. А вот вторая позволяет доить потребителя постоянно. Как бонус — потребитель всегда работает на последней, крайней версии ПО
Вопрос этот лежит в нескольких плоскостях. Дабы не скатиться в философию…
Особого выбора у Вас, как у меня и всех остальных нет. Мы живем в парадигме созданной большими деньгами. Вам предлагают вариант А и вариант Б, а пункта «свой вариант» отсутствует. Вам либо придется все же перейти на более свежий софт либо использовать виртуальную машину. Попробуйте поставить window xp на современный компьютер.
Я еще опенсусе седьмой версии помню, на семи СД дисках, кажется ))))
инсталляторы раздутые
Стоимость гигабайта на жёстком диске сопоставима с $0.05. Стоимость пересланного гигибайта по сети — значительно меньше.
Пакетный менеджер — это избыточная сложность для пользователя, которую можно с лёгкостью заменить «магазином», содержащем приложения, упакованные со всеми зависимостями. Дублирование библиотек? Одновременное хранение тысяч разных версий? Последние лет пятнадцать, это не имеет вообще никакого значения: плюхнули либы рядом с исполняемым файлом и вперёд.
Посыл верный, а вывод не очень. Просто если так рассуждать можно договориться до того, что вообще не нужно забивать диск приложениями, а качать их on-demand из сети. Но Вы забываете несколько вещей. Первая, что стоимость суммируется (данные ведь на диске все равно как в кэше придется хранить). Второе — скорость загрузки. И стабильность. Мне, скажем, приложение нужно здесь и сейчас в оффлайне или на нестабильном канале в Интернет и я не готов ждать полчаса, чтобы оно скачалось и запустилось.
Я уж не говорю о том, что сейчас у многих SSD. Причем не самые дешевые. И на них действительно ограниченный размер по цене выше HDD (последнее — дискуссионно).
Пакетный менеджер — это избыточная сложность для пользователя, которую можно с лёгкостью заменить «магазином», содержащем приложения, упакованные со всеми зависимостями.
да, скорее да. Но "магазин" под капотом все равно может быть по сути пакетным менеджером.
Последние лет пятнадцать, это не имеет вообще никакого значения: плюхнули либы рядом с исполняемым файлом и вперёд.
ну, да. Но вот насколько это правильный подход — неясно. У всего есть свои плюсы и минусы. Тем не менее — как минимум для системных компонентов — пакетный менеджер — благо.
Стоимость гигабайта на жёстком диске сопоставима с $0.05.
Понятие "стоимость гигабайта" вообще неадекватно в случае, например, с ноутбуком, в который произвольное количество гигабайт не впихнёшь. Иначе говоря, в этом случае зависимость стоимости хранения от объёма данных существенно нелинейная, а потому делить одно на другое нельзя.
Почти никогда не испытывал такой проблемы
Та не, вы уже привыкли и когда с таким сталкиваетесь — просто молча ставите её. А менее опытные пользователи просто говорят: "дурацкая программа".
В линуксе они, конечно, скажут: "дурацкий линукс".
В чём проблема подключить merge module к инсталлятору?
Ну вот и выходит, что народ пытается обойти стандартные механизмы инсталляции, придумывает велосипеды, а потом жалуется, что у них что-то пошло не так, и винит в этом MS.
Этот "стандартный механизм" хранит кучу давно неиспользуемого мусора, не имеет механизма штатной очистки и время от времени требует для удаления десяток ГБ свободного места, которое он занимает не пойми чем.
Между тем, за 20 лет сменилось несколько мажорных релизов, но вот и ныне там.
Переехали с чего? InstallShield? Advanced Installer? MSI Factory? WiX/Wix#?
Разные плюгины к вижуалстудиям использовал, в 2003-2005 годах так точно. Были ли среди них поделия Розы Индиго? Не уверен, но возможно.
Видите ли, для задачи «быстренько дропнуть мышкой пару файлов, и заполнить поля в визарде» — они все прекрасны. Даже Apple PackageMaker.
Но когда надо сделать кастомную форму, автодетект компонентов и программ третьих сторон, генерацию конфигов по их результатам (+ выбор пользователя), показав и дав отредактировать в кастомном интерфейсе — вот тут самая мякотка и начинается. :-)
Причем вот реально, «накидать С++ DLL» получалось в итоге значительно предсказуемее и быстрее.
Не, я знаю почему так.
Потому что мне не надо миллион формочек чтобы я «удобно заполнил», визуальных дизайнеров чтобы я «быстренько нарисовал», построителей блок-схем чтобы я «быстренько все это оживил» и прочих попыток мне сделать красиво.
Дайте мануал и окошко где писать код, нафига мне эти ваши формочки со стрелочками :-)
Впрочем я не настаиваю, это ведь вкусовщина…
вот тут самая мякотка и начинается.
Мой/наш опыт распространения наших продуктов показывает, что инсталлер должен быть как можно булее тупой: спросить юзера путь инсталляции, список компонент/фич, после чего накидать нужных файлов в директорию, зарегистрировать компоненты — и всё. Все пляски с конфигами, визардами, кастомными интерфейсами, созданием биндингов, добавлением сертификатов и прочими делами, которые мы пихали в инсталлятор, на деле должны быть вынесены в отдельное приложение: конфигуратор, которое можно запустить после инсталляции, или в любой другой момент времени. Мы тоже в своё время сражались с кастомизацией инсталляторов, но в конце концов поняли, что занимаемся хернёй, и что инсталляция и конфигурация — это две разные задачи, слабо пересекающиеся, с разным "жизненым циклом", требующие разных подходов — а значит разных приложений.
инсталлер должен быть как можно более тупой
Тупой-то тупой, но как минимум про лицензию он же должен спросить (особенно если требуется какой-нибудь сервер лицензий).
А также показать — с чем он может интегрироваться и чего не хватает.
Еще если там есть веб часть — то настроить виртуалхост на местном IIS надо бы автоматом, а не прилагать инструкцию (как нигерийский вирус список файлов к удалению, хехе).
В итоге — получается вроде и максимально простой, и хотелось бы еще тонну всего (начиная от web install недостающего), а по итогу — очередной ад…
Понятно, можно просто после установки запускать конфигуратор, или в основное приложение встроить код для первого запуска и настройки, вариантов масса.
Но тогда зачем все эти монстрики, с места на место файлы скопировать?
Файлики и InnoSetup копировать умеет, и ничуть не хуже чем «большие коммерческие братья».
Ну вот как-то так незаметно и…
На самом деле конфигуратор при первом запуске программы, а не при установке — норм тема. Хороший тон. Инсталлятор должен быть максимально тупым — ну, максимум разложить файлики по системе, установить драйвера-системные компоненты и МОЖЕТ БЫТЬ — произвести ассоциацию файлов по расширению. Но от программы зависит
Просто конфигурацию после установки поменять может быть нужно во многих кейсах:
- изменение аппаратной конфы (выбор COM, LPT или прочих портов, одной единицы оборудования из нескольких и пр)
- игры — смена разрешения, типа движка (directx, opengl), настройка звука и пр
- ассоциация файлов (практически любые редакторы)
- ввод лицензии (а то! она может протухнуть и нужен способ ее ввести без переустановки)
и много других
Нюанс в другом — если от инсталлятора нужен сугубо тупой копирователь файлов, то зачем платить больше?
Я ведь когда на NSIS/InnoSetup перешел, вдруг выяснил — что «конфигуратор» очень лихо лепится на встроенных скриптах.
То есть выглядит это так — инсталлятор показывает первых три скрина с «добро пожаловать», «выберите папку» и «согласитесь с лицензией» (сейчас бывает и четвертый, про GDPR), а дальше у него с конфигуратором — код одинаковый.
То есть конфигуратор — это такой инсталлятор без первых четырех шагов :-)
Оно конечно несколько эклетично, но то что я ТАК могу без С++ — это очень хорошо и пару раз меня выручало.
А еще у меня есть встроенный кодогенератор, то есть для тех же копирований по условию — мне не надо все комбинации выписывать (накликивать мышой), определил макрос — он развернул.
Например, это удобно для поддержки 32бит софта — для 32бит копируем файлы туда-то, для windows-on-windows — сюда-то, для 64бит — эвон как. Определил макрос — он размножил, лепота…
Как-то так получается, что опенсорц — проще, удобнее, предоставляет средства быстрого создания форм и логики (и это один язык, а не три построителя), и даже имеет встроенный отладчик (!) своих скриптов.
Вот я на них и перешел…
То есть конфигуратор — это такой инсталлятор без первых четырех шагов :-)
допустимый сценарий )
но чтобы все было по феншую — надо паковать в нативные для конкретной версии операционки пакеты (msi?) и снабжать программу возможностью конфигурацию через GPO (да хоть через ключи реестра или любой понятный механизм)
паковать в нативные
А чем EXE — не нативные? :-)
Микрософт конечно любит msi — но сама его использует далеко не всегда.
конфигурацию через GPO
… а также написанием мешка powershell-скриптов для тех случаев, которые не сводятся к «поменял пару битов в реестре» :-)
Возвращаясь к самому началу — так а где выигрыш от msi? Для меня как для автора нетленки — все снова руками, хех. Ничего не меняется.
Не, если бы я мог скажем
- более-менее декларативно описывать конфигурирование своего мегасофта в виде наборов опций,
- а оно мне строило офигенский гуй автоматом (примерно как в ядре линукса есть make [разное]config),
- автоматом бы предлагало по результатам конфига — автосплиттинг модулей для веб-инсталла,
- давало бы подключать зависимости от системных компонент в этом же конфигураторе (requires: asp.netcore >= 2.2)
то я бы уже побег в лабаз покупать такую крутотень.
Но пока что по факту — закат солнца вручную, при этом рантайм оных msi-аев чудовищно тормознутый. И это при том что постоянно крутится куча служб «для улучшения», начиная от BITS и заканчивая Windows Update.
Ну и зачем оно мне, как разработчику?
Я конечно смотрел на это безобразие много лет назад последний раз, но я чего-то не слышал ни о каких революциях в этом деле…
про лицензию он же должен спросить (особенно если требуется какой-нибудь сервер лицензий).
Если лицензии раздаются с сервера, то у вас, кроме акитвации лицензии, как правило появляются дополнительные варианты: обновление лицензии, отзыв лицензии, миграция на другое рабочее место, активация лицензии в среде, изолированной от интернета и т.п. Впихивать всё это в инсталлер, который должен запускаться два раза в жизни? Зачем?
показать — с чем он может интегрироваться и чего не хватает.
Если зависимость жёсткая, статическая, как с vcredist, то решается мердж-модулями. Если зависимость мягкая (скажем, микросервис, интегрирующийся с другим микросервисом), то там нужно возиться с конфигами, и это задача конфигуратора.
если там есть веб часть — то настроить виртуалхост на местном IIS надо бы автоматом, а не прилагать инструкцию
Вот как раз это у нас было самым больным и хрупким местом, где мы натерпелись. И вынесли это в конфигуратор, который может создать сайт/апп в IIS, настроить ему конфиги, безопасность, коннекты к базе данных или к другим сервисам, прикрутить сертификаты, обновить сертификаты и т.п. Инсталлер максимум проверяет/включает роль "WebServer" и необходимые фичи OS.
Но тогда зачем все эти монстрики, с места на место файлы скопировать?
Конечно, если программа — это просто набор файлов, то инсталлер вырождается в деархиватор, и, возможно, он вообще не нужен, у вас по сути портабельная программа, можно в ZIP положить. Но чаще нужно регистрировать всякие COM/ActiveX компоненты и проч, причём транзакционно, откатывая неудачную инсталляцию и удаляя следы программы из системы. Это то, что инсталлер умеет делать хорошо.
Если лицензии раздаются с сервера, то у вас, кроме акитвации
Там кроме активации еще и проверки разные — а не отправить ли в кассу вместо инсталляции например.
Случаи они разные бывают :-)
Если зависимость жёсткая, статическая, как с vcredist, то решается мердж-модулями
Ну вот реальный пример — у меня в продукте есть модуль интеграции с разными версиями одного издательского пакета. Поддерживаются десяток версий за последние лет семь. Каждый плагин — требует свой отдельный vcredist.
То есть — задача инсталлятора найти все из десяти возможных, показать пользователю, он уберет галочки там где ему не надо, в зависимости от этого выбора — мне надо будет ставить оных редистов от трех до десяти штук (ибо редист под 32бита и редист под 64 это почему-то разное).
Помогает ли мне хоть как-то тот факт, что я напрягся и сделал пакеты-в-пакетах для каждого такого плагина, или я просто впустую время потратил?
Вот именно, тот факт, что оно красиво упаковано в msi, унутре которого
Ну и зачем мне эти пакеты-в-пакетах :-)
Ну или есть вариант — плюнуть на редисты-как-пакеты, и сложить горкой нужные DLL. Oh wait — но зачем мне тогда msi?
Так это ведь элементарная пока задача — просто файлы копируем по условию, а уже какие-то магические трюки нужны.
К слову, ненавистный Apple PackageMaker (давно уже забытый) — эту задачу умеет куда лучше. Скриптинг на Javascript (!), условия копирования — выбор функции на JS/AppleScript, пре-постпроцессинг на группу файлов при копировании… просто, относительно логично, все группы файлов — в XML, CLI tool для сборки, гуя можно только для отладки запускать. И при старте не тупит.
регистрировать всякие COM/ActiveX компоненты
Самое веселье — это когда в процессе установки надо их дергать, регистрировать — дело нехитрое. Я помню лет 20 назад в инсталшилде плюнул, зарегал на чистой машине все что надо, слил ветки реестра, и в итоге их просто импортировал. Вот тут с транзакциями стало просто отлично все :-)
настроить виртуалхост на местном IIS
… это как раз задача «позвать готовые com».
Но вместо «джун за день накидал пяток кнопок к готовому апи», вам как и мне — пришлось закатывать солнце вручную (я в итоге написал длиннющий скриптище, вы вообще напряглись и написали еще одно гуевое приложение, потратив на это явно не два вечера).
Осталось только понять — а нормального способа, без «полноценно в гамаке на лыжах» — нету разве? Задача-то типовая.
а не отправить ли в кассу вместо инсталляции например.
Не дав попробовать продукт? В кассу можно и после инсталляции отправить :)
задача инсталлятора найти все из десяти возможных
А после инсталляции 3-х из 10, что будет в "Apps and Features"? Три пакета или один? А если позже нужно удалить один из трёх — и все его зависимости, если они не используются любой другой программой (в т.ч. сторонней), — то как вы будете разруливать?
я в итоге написал длиннющий скриптище, вы вообще напряглись и написали еще одно гуевое приложение, потратив на это явно не два вечера
Пару форм накидать в любом фреймворке и сгенерить набор конфигурационных скриптов на основе собранных данных — это элементарно. Типовая задача.
В кассу можно и после инсталляции отправить :)
Чего тут пробовать — если это попытка 51й инсталляции для корпоративной лицензии на 50 мест :-)
А после инсталляции 3-х из 10, что будет в «Apps and Features»?
Кстати отдельно бесит эта манера — захламлять список установленных программ. Продукт — одна штука, нафига там занимать двадцать позиций? Вот офис же может нормально указать себя в одном экземпляре :-)
и все его зависимости — как вы будете разруливать?
А вот это то самое, чего хотелось бы увидеть от msi. И нет, вариант «не могу снести потому что оно нннада» — это плохой вариант. А можно сразу весь граф зависимостей увидеть и его удалить?
Пару форм накидать и сгенерить набор конфигурационных скриптов — это типовая задача.
И-мен-но.
Тем смешнее, что специально для этого предназначенный инструмент — так почему-то не умеет, приходится брать в зубы какой-нибудь WPF и колхозить «конфигуратор» :-)
Я вот после надцатой попытки плюнул, и перешел на тот инструмент, где такое не вызывает трудностей. Заодно отказался от msi, в котором только старт занимает больше времени, чем вся установка InnoSetup-ом, хех…
Но опять же, я никоим образом не призываю делать как я. Просто вот такие у меня странные вкусы, и не более того…
А вот это то самое, чего хотелось бы увидеть от msi.
MSI умеет считать ссылки на разделяемые компоненты.
приходится брать в зубы какой-нибудь WPF и колхозить «конфигуратор» :-)
Если нужен продвинутый гуй и продвинутые сценарии, то разумно взять более гибкий иструмент. Но разделение на инсталлер и конфигуратор — это не от бедности инсталлера, а, как я уже сказал, из-за разных жизненных циклов. Конфигуратор можно запускать много раз, сохранять конфигурации в файлах, восстанавливать конфигурации из файлов, размножать и переносить на другие машины и т.п. Инсталлеры максимум файл ответов могут скушать, и создавать его придётся руками.
MSI умеет считать ссылки на разделяемые компоненты.
А контролпанель не умеет их показывать :-) Ни компоненты как компоненты, ни зависимости.
И вот «компоненты» внезапно стали двух разных видов, одни управляются как общие компоненты, а вторые почему-то нет :-)
Это точно достоинство msi, что они не могут поместить «компоненты» на вкладку компонентов? :-)
Если нужен продвинутый гуй и продвинутые сценарии, то разумно взять более гибкий инструмент.
И почему же так не делают офис с вижуалстудией, вот вопрос :-) Хочешь «переконфигурить» — запускаешь инсталлятор, хех.
И да, что такого продвинутого в паре десятков строк скрипта и кастомной формочке, что «взять более гибкий инструмент»? Почему-то у опенсорцных конкурентов с подобными задачами все отлично, регулярно пользуюсь, и WPF не нужен.
И да, «разный жизненный цикл» порадовал. Вот бы Windows до сих пор так, как в 1992 году, кое-как поставилось, показало раритетный 640*480 16 цветов, и конфигуряйте себе… а и правда, вдруг потом какая клавиатура поменяется, или там видеокарту сменят, это же разный жизненный цикл :-)
Может все-таки пулемет на крыше консерватории — не для того чтобы «консервы не сперли»? :-)
Сайтов, предлагающих скачать нужную dll в интернете, думаю, столько же, сколько сайтов, предлагающих скачать драйвера. В этих всяких С++ redistributable и куче версий дотнета ещё худо-бедно можно быстро разобраться, что нужно, а когда вдруг случайно не подходит какая-то левая библиотека, валяющаяся где-то в системном каталоге и не ясно, откуда там появившаяся что делать? Как узнать, что её туда поставило? Когда? Нужна ли эта версия или новая обратно совместима? В линуксе это всё хотя бы можно узнать. Для этого есть инструменты. А в винде приходится просто тыкаться наугад пока случайно не получится.
И после этого "Linux это не система, а ворох разнородных поделок, смотанных изолентой". То ли дело windows — сам разберись, какой dll не хватает, сам скачай её с варезника, сам подкинь. Просто, понятно, логично
Если вы будете брать случайные (не из репозиториев) исполняемые файлы под Linux, и пытаться их запустить, у вас точно так же скорее всего ничего не получится. Я бы даже сказал, с гораздо большей вероятностью ничего не получится, так как под Windows всё же многие программы зависят только от стандартных системных библиотек, которые очень хорошо совместимы между разными версиями ОС. В Linux же принято собирать программы под конкретные версии ОС, и просто так переносить бинарники между разными версиями Linux — это почти всегда плохая идея.
Как пример. Вот захотелось нам из любви к искусству потестить самую первую версию Firefox из далёкого 2002 года, когда он ещё назывался Phoenix. Сборки под Windows и Linux от Mozilla всё ещё лежат там же где и 18 лет назад. Вот прямо сейчас я потратил 30 секунд на самой распоследней Windows 10 чтобы скачать и запустить этот браузер. Ровно так же оно когда-то работало и на XP (только скачивание и установка, конечно, занимали больше времени). Сколько времени понадобится, чтобы успешно запустить эту же программу на случайно взятом Linux?
как правило, всё что нужно доустанавливается автоматически
к сожалению, не всегда. И не всегда корректно
Блин вот точно такие же слова я читаю на протяжении 10 лет. :-)
И вообще, имхо гуи в линуксе это зло, по этому я стараюсь работать из терминала а ради окошек можно использовать и винду.
p.s. И для самых умных, в /var/log и ~/ ничего по этой ошибке почему то небыло.
а linux чаще молча падает
что, прямо в Kernel panic?
phpstorm
А-а. Был как-то звонок у знакомого:
— Приезжай срочно, помоги, у меня крыша упала! вслипывания в трубку
Приехал. Оказалось намок и отвалился кусок штукатурки на потолке, с пол-ладони.
Максимум, что делалось — это анализ работы приложения в RegMonEx. Я стопроцентно уверен, что это средство на голову выше по удобству и информативности любого лога в linux.
Я не уверяю. А вывод достаточно простой: при прочих равных условиях если у одного человека всех орошо с виндовс10, то это не значит что будет все хорошо у другого. Ну я не знаю с чем это связано, может с фазой луны :-), или разработчики виндовс встали ни с той ноги в конкретный день или руки кривоваты
BSOD без указания кода ошибки — это жесть, пахнет серьёзным повреждением системных файлов — но восстановление через DISM даже в этом случае, возможно, помогло бы обойтись без переустановки.
На сколько помню нет, не делал. Я сначала грешил на оперативную память. После проверки, проверил систему встроенными методами (как написано на ресурсах microsoft). Ну и после этих мытарств снёс систему. Наверное от старости начала глючит. Я ее использовал с первого выпуска (2015). Сначала как insider preview, потом купил лицензию и отказался от тестирования
просто не понимаю, в какой момент может понадобиться лезть в логи при обычной работе (не анализа разработки) на десктопе.
а я как админ знаю когда. Только вот в Windows с логированием полный бардак. Поглядите как-нибудь на досуге в EventViewer, это помимо того, что половина программ не используют его, а серят логи куда попало в файлы
Винда уже пару лет не может поставить апдейты. Как выяснять, почему, и как это исправить?
7ка? Там есть баг серьезный, что при первоначальной установке — там при обновлении выжирается ВСЯ оперативная память, сколько бы ее не было — хоть 32ГиБ. И система жует апдейты двое суток кряду, вне зависимости от накопителя системного. Как бы точно — это не порядок. А потом прикол — она апдейты насосет, потом ставит. Бежит счетчик. Типа 1...2...10...120 апдейтов из 240. И… Фигак. Ребут. Обновление не может быть установлено. Откат. Потом установка. И так жует долго. Решение? Ставим обновы через simplix update pack — он их устанавливает маленькими пачками по 60-80 обнов за раз и все в порядке. Чертов M$ не мог изначально продумать процедуру. Хотя казалось бы — все по воздуху, все для людей. Ан нет — не работает. С линуксом, кстати, НИКОГДА таких проблем не было
8.1. Чё-то на флеш ругается, я даже загуглил номер ошибки, но ничего адекватного нагуглить не смог.
С линуксом, кстати, НИКОГДА таких проблем не было
уж таки никогда, у меня был случай когда посреди обновления сервак ребутнулся и помер на том что некоторые либы обновились, а некоторые нет и из-за несовместимости версий всё встало раком
И еще случай, в процессе апдейта криво конвертнулся конфиг иксов и все запустилось в консоль… в лучших традициях MS только у линукса
также линукса тут все просто:
1) нет массовости и единообразия систем, чтобы «все заметили косяк» и по этойже причине ничего «у всех сразу после выхода апдейта» не падает
2) линукс — им рулят обычно или профессионалы или гики, который «ой, ща пофиксю» и даже не замечают что чтото сломалось
Ну, тут нюансы. Во-первых, не используйте убунту. Про транзакционные обновления в комментах к настоящей статье уже писали. Второе — если ты покупаешь операционную систему. Будь то за 200 бакински или за 1000 — ты ожидаешь, что она будет работать "всегда и везде". Вероятно, это ложное ожидание — такое же, как странно ожидать, например, всепроходимости от жигуленка, но ТЫ ЖЕ ЗАПЛАТИЛ!!!!1111
Третье — линукс никому и ничего не гарантирует — потому что бесплатен. Ты свободен в выборе пользоваться им или нет (это не относится к коммерческим дистрибам — но там ты платишь за саппорт, т.е. за решение своих проблем чужими руками)
Вероятно, это ложное ожидание — такое же, как странно ожидать, например, всепроходимости от жигуленка, но ТЫ ЖЕ ЗАПЛАТИЛ!!!!1111
Третье — линукс никому и ничего не гарантирует
а какже дискуссия что «линукс лучше винды!, поставил бабушке — она не заметила разницы!»?
тут каждый второй коммент в этом ключе
а как проблемы так «ничего не гарантирует» «поменяйте дистриб»
А в винде как будто кто-то что-то гарантирует )
Ну, "у вас установлен софт от третьих лиц" (либо вообще пиратский), "выключить и включить пробовали?", "попробуйте переустановить заново" (это действие, конечно, бабушке доступно изначально и ей хватит опыта его сделать правильно ) Ну, лулзы же сплошные
А в винде как будто кто-то что-то гарантирует )
никто не гарантирует, но объективно виндой, человеку совершенно не разбирающемуся в IT — пользоваться виндой легче. вероятность того что она загрузится в консоль — сильно ниже, она хотябы попытается самовосстановится, потому что рассчитана на то что ей будут пользоваться не профессионалы
но объективно виндой, человеку совершенно не разбирающемуся в IT — пользоваться виндой легче.
Все верно, только ошибка в одном слове. Замените «объективно» на «субъективно». И все станет идеально.
Точно так же, все оценки линукса, они чисто субъективные.
И вишенка: объективных оценок не бывает. Оценивает всегда субъект для иного субъекта или для себя. То, что
в обиходе называется «объективная оценка» — это набор субъективных оценок, сгруппированных по каким-то важным для субъекта параметрам.
вероятность того что она загрузится в консоль
… равна нулю, ибо винда если умирает, то полностью. А система восстановления в винде выглядит, как насмешка над админом
А система восстановления в винде выглядит, как насмешка над админом
Это вы как админ со стажем говорите по своему опыту, или по отзывам знакомых?
Эта система восстановления, отлично откатывает системные драйвера которые в синий экран выпадают
У меня помнится так заапдейтился (запланировано) на одном серваке драйвер контроллера HP SmartArray с выпаданием в синий экран и автовозвратом через две перезагрузки (HP выпустили фикс через два дня)
в случае с линухом пришлось или корячится с восстановлением бекапа или с разбирательсвами «а чо произошлооо?»
в случае с линухом пришлось или корячится с восстановлением бекапа или с разбирательсвами «а чо произошлооо?»
Btrfs или zfs позволяют в случае неудачи откатиться на предыдущий снепшот. Причем, в случае btrfs на OpenSuSe процедура сводится к выбору нужного снепшота через граб.
Винда так сможет, судя по тому, как быстро они запилили загрузку, снепшоты и ACL в ReFS, практически никогда.
Да и полная раскатка тарболла в случае более традиционных ФС займет сопоставимое, если не меньшее, время по сравнению с задумчивостью TrustedInstaler-related things.
админ со стажем
будет слишком громко сказано относительно моей персоны. Скорее «админ локалхоста»
по своему опыту, или по отзывам знакомых
Мне казалось, что на Хабре принято либо описывать свой опыт, либо «мне знакомый рассказал, что ...»
Эта система восстановления, отлично откатывает системные драйвера которые в синий экран выпадают
А вот в случае неудачного обновления всё становится намного веселее. Вы когда-нибудь пробовали удалить обновление через среду восстановления? Как ощущения? Учтите, не безопасный режим, а среду восстановления.
не используйте убунту
Ну вот, кстати, это единственная на сегодня система, где без танцев с бубном можно поднять свой root-on-zfs, случись чего.
Arch и деривативы требуют собирать ручками iso и следить за его актуальностью. В большинстве других дистров надо собирать модуль прямо на live системе. После смерти antegros только в ubuntu и manjaro остались прекомпилированные модули, и только в ubuntu можно загрузиться и подмонтировать пул, причем если пул жив, то он гарантированно будет поддерживаемого on-disk формата.
Взять всусофлайн и накатить?
Я даже не знаю, что это такое, а я ведь не домохозяйка.
Встречный вопрос: дистриб на дебе не хочет уже год обновки ставить, как выяснить почему и как это исправить, если по тексту с выдачей ошибок гуглиться ли шаманские действия по очистке сетевых и полная перенастройка адаптеров, но при этом это помогает с какой-то вероятностью 50/50 и вообще проявляется даже после нулевой установки новой версии на такой же конфиг?
ХЗ, я не дебианщик. Вот если б у вас с гентой проблемы были...
при гуглинге вариантов скачать и установить все обновления скопом в какой-то момент предлагается
Зачем мне вообще это гуглить? У меня просто винда при каждом выключении пытается поставить какие-то обновления, но у неё это не получается.
Мне пару раз помогало прогнать Windows Update Troubleshooter.
Типичная проблема линукса, что у тебя всё будет хорошо на другом дистрибутиве. Ну или с ним помогут.
Так и зубы рвет не костоправ. Кто в чем разбирается — то в том и консультирует.
Если хотите, каджит может побыть вашим Хаусом. Правда, он тоже не дебианщик, но убунту — достаточно близкая система, с тем же пакетным менеджером.
Требований к вам будет всего два: не врать и честно пытаться разобраться в проблеме.
дистриб на дебе не хочет уже год обновки ставить, как выяснить почему и как это исправить, если по тексту с выдачей ошибок
так вы бы текст привели
надо больше логов богу логов )
наверняка перед падением apt-get
что-то написал.
dpkg --configure -a
пробовали?
Дядюшка Гугл подсказал, что код 100 в apt выкидывается при повреждённом кэше apt
It turns out this means that for some reason the cached software sources lists have been corrupted
Как решение, рекомендуется очистка этих самых файлов
rm -rf /var/lib/apt/lists/*
apt-get update
Довести Линукс до состояния kernel panic — это ещё надо постараться. Я с таким сталкивался только когда x86 сборку Андроида на ноутбуке запустил и попробовал включать автонастройку яркости экрана. В то время как знакомый жалуется на BSODы в процессе отладки OpenCV
Если у Windows что-то идёт не так, то у меня есть только номер ошибки и надежда, что эта ошибка знакома гуглу.
Если винда лицензионная, то есть также саппорт. И вам не обязательно разбираться в чем-либо, чтобы ставить обновления. А в Линукс, даже с гуглом, проблеме не решается в пару кликов.
Если винда лицензионная, то есть также саппорт.
Если линукс корпоративный, (SLED, RHEL, Oracle, name_them) то у него тоже есть саппорт.
не обязательно разбираться в чем-либо, чтобы ставить обновления
Под линуксом, внезапно, тоже
А в Линукс, даже с гуглом, проблеме не решается в пару кликов
Так до проблем надо еще дожить. И еще надо убедить саппорт, что это реально их проблема. Помните массовый отвал вебкамер, например? Или из недавнего — танцы с бубнами вокруг обоев?
Хотя, надо признать, решение двух проблем они таки смогли автоматизировать нормально: сеть и очередь печати.
Коробочная лицензионная семёрка. В один прекрасный день решила обновиться до десятки (почему — тайна, я всегда слал лесом). В процессе обновления что-то пошло не так, откатилась обратно. Теперь система находится в постоянном «перезагрузите для завершения обновления», обновления не ищет, а чтобы поставить их руками — надо выполнить кучу танцев с бубном.
Звоним в саппорт, тратим кучу времени (включая уже всякие удаленные помощники и доступ к системе, чего на базовой техподдержке у мс обычно очень сложно добиться). Спустя кучу времени, уже на н-цатой линии техподдержки получаем решение проблемы: снесите винду, отформатируйте системный диск и поставьте заново.
Спасибо, я понял что лоханулся, когда купил лицензионную коробочную версию, надо было скачать и крякнуть как обычно, идём пробовать первые десять страниц гугла про проблему — ничего не помогает (половина при этом дико напоминает то, что делал саппорт), пара советов вообще сносят список установленных обновлений. Единственный плюс — теперь руками обновления можно поставить без бубна.
И наоборот, RHEL(с лицензией) лет восемь назад, на халтуре какая-то грабля с связкой апач+самба(ад)+лдап+мускль, пинаем техподдержку, два входящих мыла — в первом спросили кучу конфигов, во втором скриптик и бинарь, которые решили проблему.
Спасибо, я понял что лоханулся, когда купил лицензионную коробочную версию
Лицензию покупают не для того, чтобы лучше работало, а чтобы легально работало =)
И наоборот, RHEL(с лицензией) лет восемь назад, на халтуре какая-то грабля с связкой апач+самба(ад)+лдап+мускль, пинаем техподдержку, два входящих мыла — в первом спросили кучу конфигов, во втором скриптик и бинарь, которые решили проблему.
Ну это же юзер-кейс для домашней операционной системы.
Есть домашний коробочный корпоративный линукс, где разбирают пользовательские кейсы? И кто это делает?
Лицензию покупают не для того, чтобы лучше работало, а чтобы легально работало =)
мако… филы смеются в лицо — т.к. им не нужно покупать лучшую в мире (*) операционную систему
(*) по мнению пользователей систем фирмы Apple
1) раньше они покупали как миленькие и ещё нахваливали эппл
2) эппл тупо включила ОС в стоимость своей железки
Red Hat Enterprise Linux for Workstations — думаю тут вам разберут кейсы, возможно надо будет купить какой-нибудь уровень техподдержки, т.к. сейчас не в курсе политики красношляпых.
А точнее, гораздо ниже, так как у МС в этом все-таки есть огромный опыт, и множество детских болезней уже пролечено.
Тут лучше Китайцев в пример приводите… вот общаться с их тех саппортом это ещё то развлечение.
Если нужно много сотрудников, то качество заметно падает вне зависимости от национальности.
Учитывая, что RedHat был продан в IBM, я сомневаюсь в том, насколько «просто вменяемо» они расширят штат поддержки. IBM всегда славился своей громоздкостью и неповоротливостью
Получаю BSOD-ы на Lenovo Yoga C630 WOS при попытке декодирования видео браузером через DXVA2 в несколько потоков. Ответ саппорта Lenovo — у вас видеодрайвер установлен с Windows Update, поэтому обращайтесь в Microsoft. Ответ саппорта Microsoft — мы не пишем драйвера, обращайтесь в Lenovo. Нахера нужна такая поддержка?
Давайте, рассказывайте как это решать.
видеодрайвер установлен с Windows Update
Никогда не устанавливаю драйвера с WU. Только с офф. сайта производителя, ибо в WU вечно какие-то огрызки
неприменимо к моему ноутбуку
К lenovo у меня уже давно особо тёплые чувства из-за их кривых BIOS'ов и невозможности загрузить драйвера с сайта. И да, я уже посмотрел характеристики данного устройства. А кем подписан драйвер, и кто записан в графе «Поставщик драйвера»? Полагаю, этим можно немного надавить на одну из сторон.
Microsoft и вендоры целенаправленно не договариваются о зонах ответственности — цель облегчить жизнь клиенту не поставлена менеджментом этих компаний
Microsoft немного наплевать на домашних пользователей. Что немного радует — к пиратам у них отношение то же.
Это всё, конечно, прекрасно, но у меня плюс-минус то же самое за годы было с Dell, Acer, HP, ASUS, и другими. С ними со всеми бесполезно разговаривать. Со всеми, включая Microsoft.
История выше — она просто самая свежая, и она показывает, что за годы ничего не так и не изменилось — в Linux имеем прямой доступ к инженеру, при наличии навыков можем сделать bisect или даже поправить сами, а с Windows нельзя даже «багрепорт зарегистрировать». Для меня, как пользователя Linux, такая ситуация в голове не укладывается — как люди могут жрать это говно?
> А кем подписан драйвер, и кто записан в графе «Поставщик драйвера»? Полагаю, этим можно немного надавить на одну из сторон.
Не помню честно говоря, и сейчас я даже не загружаю на этом ноутбуке Windows, так как в Windows Update выложено кривое обновление BIOS, ломающее загрузку с флешек объёмом больше 32ГБ, и я не представляю, что мне делать, чтобы гарантированно запретить его установку, потому что откатиться потом не выйдет.
Если драйвер подписан к примеру Qualcomm Inc., то что дальше?
в Windows Update выложено кривое обновление BIOS, ломающее загрузку с флешек объёмом больше 32ГБ, и я не представляю, что мне делать, чтобы гарантированно запретить его установку
Не знаю, работает ли это на мобильных версиях, но я использую такой вариант:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
;Отключить автоустановку драйверов с WU
"ExcludeWUDriversInQualityUpdate"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
;Отключить автоматические обновления
"NoAutoUpdate"=dword:00000001
Qualcomm Inc.
С козырей зашли)
у меня плюс-минус то же самое за годы было с Dell, Acer, HP, ASUS, и другими
Больше всех отличились Lenovo и Acer. У Asus мне не нравится громоздкий UI и невалидные SLIC. С HP и Dell таких проблем и близко пока не имел, разве что «белые списки» оборудования есть, но это проблема многих производителей.
Я вот тоже не уверен, что на ARM-версии сработает, а проверять методом тыка не хочется — попытка-то всего одна.
> С козырей зашли)
Да это не важно. Повторюсь, что суть в том, что пользователи программного продукта намеренно, целенаправленно посланы нахер. Как они после этого ещё могут защищать тех, кто их послал — уму непостижимо.
В этой ситуации Мак находится в выигрышной ситуации… далее по тексту
Это Вы так пытаетесь потроллить насчет клавиатуры-бабочки? И FlexGate? Ну, тут есть два аспекта — проблемы действительно есть, но все не так фатально, как раздувают журналисты. Когда деллы и леново ломаются — нет такого негатива. А между прочим, выходят из строя последние ничуть не меньше — качество упало у всех.
И моя реплика была чисто про софтварную (и драйверную) части.
Так а толку-то, если железа нормального с этим софтом нет?
> Когда деллы и леново ломаются — нет такого негатива.
Вот честно — мне наплевать. От того, что о проблемах с клавиатурами Макбуков все слышали, а о проблемах с клавиатурами Dell 7285 слышали полтора человека (в Интернете даже не упоминается, можете не искать) ни та, ни другая проблема лично для меня не перестают быть менее значимыми. И если конкретно в данный момент клавиатуры Apple — говно, то я не вижу причин не докапываться до этого, потому что они реально по надёжности находятся на уровне китайского ширпотреба.
Извините, но Вы типичный маконенавистник-демагог. Для начала преувеличиваете проблемы, не замечая проблемы у других. И бросаясь необоснованными фразами вроде "если железа нормального с этим софтом нет". Критерий нормальности железа у всех свой. Поэтому, к сожалению, нам не о чем спорить.
Я вот когда-то думал о покупкке чего-нибудь из маковской линейки именно из-за качества железа (в том числе по личным впечатлениям, типа корпус нигде не люфтит и т. п.) и отзывам лично знакомых макофилов, предполагая поставить на неё ещё две оси, используя Ubuntu в качестве основной. Но эти же знакомые меня отговорили нескольк лет назад: "Только ради железа уже давно смысла нет, а для убунты его брать — проблем будет больше чем с каким-нибудь ширпотребом. Бери что-нить брендованное с виндой про и ставь туда убунту"
Все так. Покупать мак, чтобы поставить туда только лишь убунту… Такое себе. С другой стороны — почему нет. Там же в маке фиксированный набор железа и в теории может будет меньше багов. Хотя вряд ли — убунте ведь приходится поддерживать широкий спектр оборудования и маки не являются для нее одной из основных целевых платформ. Главное, чтобы выбор пользователем железа-софта был осознанный, а не пальцем в небо.
Ну вот когда-то, лет 10 назад ещё наверное, мак имело смысл покупать только ради железа, если верить "интернетам" и воспоминаниям: хороший баланс, отличная сборка, лучший экран, хороший дизайн и т. п. Сейчас же, покупать его имеет смысл прежде всего ради МакОси, вроде как.
в первую очередь — да. Но с другой стороны — все мощные современные ноутбуки стоят именно в том же ценовом диапазоне.
Например, ThinkPad X1 Extreme = 250К, DELL G5 5590 = 96K. Можно еще натыкать примеров. И сравнить эксплуатационные и потребильские х-ки.
Средняя цена на мак — ну, где-то в районе 170K. Есть отдельные уникальные экземпляры за полляма, но это точно не для простых смертных ) Т.е. сказать, что сейчас эппл техника сильно переоценена — нельзя. Да, она подороже деллов-леново-хапе, но тут думать надо — что конкретно важнее.
Сейчас же, покупать его имеет смысл прежде всего ради МакОси, вроде как.
и плюшек типа anti theft, который не работает, синхро с айклауд (если нужен), лучшей в мире ОС (с) (*), синхро с ябблофоном (вот это реально сильная сторона, но только если вы не фанат андроида).
(*) это не мое мнение, если что — мне пофиг.
Да уже не сильно переоценена, можно и подороже хорошее железо найти с плюс-минус такими же ТХ. И, возможно, даже более качественное.
Так все эти плюшки — плюшки именно МакОси, а не железа вроде. Поставь какой-нить хакинтош и вроде всё это получишь.
Производить на протяжении пяти лет ноутбуки, у которых через полгода использования накрывается клавиатура — ненормально вообще с любой точки зрения. Разница только в том, что покупатели дешёвого китайского говна не ищут оправданий производителю, а покупатели дорогого китайского говна пишут «Критерий нормальности железа у всех свой». Если бы у всех производителей ноутбуков, кроме Apple, регулярно и массово ломались клавиатуры — то для поклонников продукции данного бренда это был бы очень серьёзные аргумент в пользу Apple. Но если в премиальном сегменте это именно регулярно и массово происходит только и исключительно с Apple — то на это стыдливо закрывают глаза. А схрена ли на это нужно закрывать глаза? Это косяк, причём крайне серьёзный.
Все тулкиты типа Qt есть и в винде.Мало того, Qt используется и в тех проектах, у которых нет Linux-версии.
Стандартная графическая библиотека есть — называется libX11
О_о
Кстати, иксы — одна из огромных проблем десктопного Линукса. Чем быстрее их закопают — тем будет лучше.
А в чем собственно заключается огромность? Ну и после голословной критики хотелось бы услышать конструктивные вещи.
Однако иксы просто работают, а вяленд с плазмой у меня даже не запустился (но я не ковырял, просто интересно было потыкать).
ммм, ссылки на статьи почти десятилетней давности подъехали
А в чем собственно заключается огромность?
Не буду перепечатывать простыни аргументов, лежащие в сети уже хз сколько лет. Из самого актуального: спросите у разработчиков Firefox, почему они сделали аппаратное декодирование видео для Wayland и не смогли для Xorg за столько лет.
у разработчиков Firefox, почему они сделали аппаратное декодирование видео для Wayland и не смогли
Да, они много чего не смогли. Я помню, как они "не смогли" в ALSA и выпилили её. С аргументом — это физически невозможно. Потом, вроде бы, назад вернули, но с тех пор вот эти их заявления стоит пропускать мимо ушей.
Я не против замены X11 на wayland. Но для начала надо решить в нём проблемы. Например, у всех драйверов видеокарт используется один протокол, а у проприетарного драйвера Nvidia — другой. Nvidia — это всё же не «сборище красноглазых задротов», а серьёзная компания. Но именно она устроила такую подлянку.
А чего там падает? У меня — максимум из-за того, что после апгрейда nvidia-drivers я забываю передёрнуть ядрёный модуль.
Всё это лечится руками, но раздражает.
Я, тащем, тоже на ~ живу, но ядро у меня до сих пор… эээ, чо там, 4.12.12, вот. До него 3.8.8 было, обновил, когда сборка то ли глибц, то ли питона ругалась на отсутствие генератора случайных чисел.
У меня всё остальное тоже на свеженьком, просто для обновления ядра надо перезагружаться по-хорошему, а у меня
% uptime
18:59:34 up 269 days, 20:33, 28 users, load average: 1,88, 1,37, 1,09
(269 дней назад выключили свет на полдня, увы), а для обновления видеодров и месы надо передёргивать иксы, так что конкретно их новые версии я замаскал.
Нет стандартной графичесской библиотеки? Если речь про desktop, то есть OpenGL
В чём выражается dependency-hell для программиста? Его он не волнует, он просто пишет в README, что прога зависит, например, от qt5, мейнтейнер собирает прогу в пакет и добавляет qt5 в зависимости
Вот только
- где взять этого самого мейнтейнера для непопулярного продукта?
- что делать ментейнеру при конфликте зависимостей?
2. Класть свою прогу в /opt вместе с зависимостями.
где взять этого самого мейнтейнера для непопулярного продукта?
Да хоть самому стать. Это не так уж сложно. На том же OBS, насколько я знаю, можно вообще под что угодно из распространённого собирать.
что делать ментейнеру при конфликте зависимостей?
У меня в генте для этого версионированные слоты есть (поэтому можно ставить несколько версий искомой зависимости). Во всяких дебианах-убунтах это решается аналогично.
Если программист стал ментейнером — то вы больше не можете сказать, что проблемы ментейнера не являются проблемами программиста.
1) Если продукт коммерческий, то можно и нанять, если нет, то можно на форуме, в irc, просто знакомого попросить, а если и это не удалось то можно вспомнить, что программист не идиот, прекрасно знает от чего зависит его программа и может её собрать
2) Приведите пример. Два пакета обычно конфликтуют, когда они реализуют один и тот-же функционал. Например openssl и libressl реализуют libcrypto и мейнтейнеру достаточно указать, что необходима libcrypto.so или зависимость от виртуального пакета, ну или явно указать что программа требует или openssl, или libressl.
Буду рад, если вы приведёте свой пример
Приведите пример.
Зависимости от разных версий одной и той же библиотеки с разным API.
Подробнее. Да и если в пакетном менеджере нет механизма слотов, то несовместимые версии таких библиотек обычно раскидывают в разные пакеты.
Из близкого мне — любая хаскель-библиотека, несовместимо ломающая API, пусть даже в соответствии с хаскелевской интерпретацией semver (то есть, почти любая). Конкретные имена и ломающие версии я вам сходу не назову, впрочем, но, наверное, это и неважно.
Я уже давно думаю написать какой-нибудь пропозал, чтобы в генте с этим сделать адекватно, но ничего хорошего мне в голову не приходит.
отсутствие стандартной графической библиотеки
Ерунда. Стандартная графических библиотек даже две: GTK+ и Qt.
Я ее выкидываю и беру новую, так как для меня смысл стиралки не в том, что там у ей внутре, а в том, чтобы она стирала.
а меня раздражает, что нельзя поправить прошивку в стиралке, приходится после каждой стирки ставить отдельный цикл полоскания (+3 полоскания умеют далеко не все стиралки).
а ещё в некоторых есть подогрев воды в одном полоскании, по отзывам существенно улучшает выполаскивание. опять же фича чисто софтовая, реализовать можно на любой машинке.
и к варочной поверхности я бы поправил прошивку, есть чисто софтовые мелочи, которые раздражают (например, при ошибочном выключении конфорки таймер на этой конфорке сразу сбрасывается).
я это знаю, только паять — не моя сильная сторона.
и да, весьма вероятно, что там окажется прошивка с защитой от чтения, так что писать придётся с нуля.
но тогда через uart можно заексплойтить
хм, можно детали?
Рекомендую подключить к логическому анализатору во время тыкания и потом эту информацию реверсить. Я просто переделал ардуину (mega 2560) в простенький анализатор и им орудую в бытовухе.
И тут эскплойтить можно по разному, если знаком чип известен то скорее всего есть заводской uart bootloader, на некоторых есть возможность запустить его с внешки, но там может быть BOOT нога которую прижать к +3 или 5 надо.
Если по UART выходит дебаг консоль то 90% можно и память считать (ну или секторами), если на консоле пароль по 99% он уже есть в интернете.
Ну и вообщем только воображением это дело ограничевается
Ты умеешь на ассемблере писать что ли?
разумеется. как и, уверен, большинство обитателей хабра.
А Вы нет, что ли????? =@.@=
Современные телефоны — высокоуровневый медленный код, тонны фреймворков и будильник весом 11МБ. С теми же функциями, что были и в старых телефонах, где всего флеша было в разы меньше.
да ну ладно вам, мы же говорим о простейшем коде.
не писал на ассемблере лет много, пришлось заглянуть в выхлоп gcc -S
для x64 и arm — всё понятно (разве что непривычная at&t нотация немного сбивает с толку).
если ассемблер для нового процессора — просто чаще заглядывать в мануал с описанием системы команд.
К сожалению, это как раз тот навык, который можно успешно забыть
А что не так модулем в целом? Надоело из проекта в проект таскать простую, но часто нужную функцию — запилил свой пакет.
Вообщем один дурак создал проект kik, но оказалось что есть компания с таким именем и те дураки грозили ему судом. npm отдали название пакета компании, в знак протеста чувак вообще удалил все репозитории с npm, ну ивообщем поехало.
Иначе — код будет представлять из себя помойку( еще и с каким-нибудь тайпскриптом, делающим JS столь же уродливым, как говнокод на С++ ), а итоговое приложение — уродливое, жутко медленное и глючное хз_что.
То ли дело воистину кЭповский АСМ, который содержит пару десятков базовых и реально необходимых команд( сложение-вычитание-умножение-итп, сравнение-условные_переходы, сдвиги, работа со стеком и, мб, подобия ввода-вывода в порты ), которые есть в соотв. доках.
Уууу жЭЭЭсть, ну как же это можно изучить то!!11?? :)
Но нечто, реально сложное и многофункциональное, написать на асме практически невозможно( при удобоваримых затратах ), т.к код будет фактически не_переиспользуемым мусором, крайне сложноподдерживаемым и платформозависимым, если речь не о разработке чего-то крайне эффективного под какой-то конкретный «камень»( и то, компиляторы нынче очень неплохо оптимизируют код ).
Как итог, складывается ощущение, что люди, изображающие АСМ, как нечто очень труднопостижимое, скорее всего, вообще не имели с ним никаких дел и знают о нем только по слухам( как и о RN, кстати:) ).
п.с: говорю как человек, имеющий дело в т.ч с RN, ну а начинавший свою проггерскую жизнь — с асма и написания относительно простеньких программ и игр на asm+winapi и простеньких прошивок на асм для avr-ок( кончилось переходом на Си ).
Но нечто, реально сложное и многофункциональное, написать на асме практически невозможно
ты же понимаешь что асм это не язык програмирования, а инструкция процессору. на нем не пишут полезное а дают инструкции процессору.
код будет фактически не_переиспользуемым мусором, крайне сложноподдерживаемым и платформозависимым
Ты точно ничего не употреблял? Платформозависимый? может наоброт это платформа зависит от инструкций а не наоборот?
если речь не о разработке чего-то крайне эффективного под какой-то конкретный «камень»
Ты наркоман. это факт. А теперь факт про конкретный камень, открой исходники линукса, там есть папка с кодом для поддержки разных камней. зачем же это? Объясню, твоя платформа зависит от камня. и эффективность твоей поллезной программы на джавасрипте тоже зависит от того какие инструкции процессор может выполнить а какие нет.
Вот допустим есть процессоры которые не поддерживают набор дополнительных инсрукций SSE4.1. в этом наборе классные инструкции для работы с нецелыми числами которые ты пользуешь в графики например. И вот вместо использования «камня» ты делаешь тоже самое только на уровне ПО, и на тебя все показывают пальцем, ржут.
И твой компилятор может быть вообще не вкурсах что именно ты хочешь делать поэтому оптимизировать должен ты.
Ну кароче, больше не говори что ассемблер это язык программирования. и что он бесполезен.
Базовых немного и это ни для кого не секрет, кто хотя бы немного с асмом имел дело.
Остальные — в основном связаны с теми или иными оптимизациями и в простых случаях они, скорее всего, даже при всем желании не понадобятся.
А теперь посчитайте число «инструкций» в C++ или Java :)
Ну и число вызываемых методов для получения того или иного функционала.
… всм, ВСЕХ инструкций, элементов синтаксиса итп( ведь для асма вы, по сути, именно это и привели )
И, заодно, приведите справочники/доки по C++ / Java.
Интересно, они будут больше тех 6 страниц документации по асму ?)
АсмОвый код будет намертво «прибит» к конкретной архитектуре( а учитывая, что код без взаимодействия с системой нынче не может практически ничего в плане ввода-вывода итп, если это не какая-нить прошивка на МК без ОС и ее подобия, то, да, можно говорить еще и о привязке к конкретной платформе и к конкретному API, что, по случаю чего, не очень то и легко менять в бесконечных простынях асм-кода ).
«Внезапно» нельзя x86-й асм( 32-битный. Привет, EAX ) просто скомпилить в машинный код x86_64( привет, RAX, у которого EAX — это младшая половина ) или армОвый в машинный x86( «внезапно» разные команды, регистры и проч ) итд итп, т.к речь о программировании, по сути, мнемокодами конкретной архитектуры, потому речь о коде, намертво привязанном к конкретной архитектуре, системе команд и проч.
И, да, поскольку «функционал» отдельной команды крайне мал, исходники даже относительно простого приложения будут очень объемными в плане количества кода и прямое следствие этого — сложноподдерживаемыми в плане даже относительно простых доработок кем-то, кто не_писатель_этого_проекта.
Спасибо кэп, а я и не знал, что эффективность выполнения штуковин вроде JS отчасти зависит от того, какие инструкции может выполнять проц…
Но я так и не понял, к чему дальнейшие кэповские изречения о том, что некоторый неподдерживаемый процом функционал «внезапно» может быть реализован на уровне софта.
Я не говорю, что он бесполезен — я говорю, что если писать на нем что-то хотя бы немного универсальное, что должно по возможности работать на разных архитектурах и ОС, чтоб было более-менее поддерживаемым, а код — переиспользуемым… крч., будет целая огромная куча проблем практически на ровном месте.
Хотя иногда он и бывает удобен — на нем [раньше было] очень удобно на скорую руку набросать какой-нибудь простенький распаковщик/сниматель_защиты с конкретной проги( или игрухи типа Reflexive Arcade ), т.к нет присущего высокоуровневым языкам цирка с типами данных, указателями итд итп, сам исполняемый файл получался весьма компактным. Да и учитывая, что в отладчике обычно видишь именно дизассемблированный код… было весьма удобно.
Но это очень специфическое применение.
п.с: из твоего коммента складывается ощущение, что у тебя проблемы с «веществами», ты это понимаешь, но, боясь в этом признаться( и последующего осуждения от окружающих ), обвиняешь в чем-то подобном всех вокруг… кроме самого себя — человека с платформо/архитектурно-независимым асмом :)
На каком ассемблере? Я начинал с 6502, 8080 и закончил 80386. я ещё могу зваться разработчиком или уже нет?
Если разработчик не знает как устроен апарат и что происходит на самом деле то как он может вообще зватся разработчиком?
Только ассемблер в современном x86 очень отдалённо связан с тем, что происходит на самом деле.
Разработчиков не существует.
Для программирования на языке Java или других JVM-совместимых языках знание особенностей байт-кода не обязательно. Однако, как следует из публикации в журнале IBM developerWorks, «понимание байт-кода и понимание механизмов его генерации компилятором Java помогает Java-программисту так же, как и знание языка ассемблера помогает программисту, пишущему на Си или C++».[1][2]
Peter Haggar, Understanding bytecode makes you a better programmer // IBM DeveloperWorks, 01 Jul 2001
A Formal Introduction to the Compilation of Java, Stephan Diehl, «Software — Practice and Experience», Vol. 28(3), pages 297-327, March 1998.
Тут есть один маленький нюанс. Чаще всего потребуются еще знания в электроники и чтение длинного талмуда по процессору и выяснению как и что там в процессоре наконфигурировано.
Тут даже можно попробовать сделать опрос, сколько читателей этой статьи регулярно пользуются линукс, а сколько регулярно САМИ (не жена, не мама, не домработница) пользуются стиралкой.
И да, блок управления, как правило, не имеет гальванической развязки с сетью, так что аккуратнее с экспериментами.
Более того, огромное кол-во консольного ПО и библиотек из мира линукса тихо трудится на винде и никто не замечает.
Да даже попытки мелкософта склепать некую эмуляцию линукса в своей вин10, уже говорит о том, на сколько линукс популярен и как все в нем нуждаются.
попытки мелкософта склепать некую эмуляцию линукса в своей вин10, уже говорит о том, на сколько линукс популярен и как все в нем нуждаются.
Зря радуетесь. Лично мне это говорит о намерении майкрософта похоронить линукс. По крайней мере его десктопный сегмент. Попробуйте подумать чуть дальше и с точки зрения чисто коммерческой фирмы. Они не могут линукс просто купить, как делали это с другими конкурирующими программами и фирмами (линукс — свободен), и поэтому нашли способ закопать его по другому, только и всего.
Короче говоря, ничего хорошего для линукса в этом нет.
Это я понимаю, но в данном случае я пишу лишь том, что якобы ненужный и непопулярный линь, а на деле даже конкуренты пытаются себе его встроить. Что говорит просто о громадной популярности линя.
ОС в таком случае решает насколько удобно ему будет пользоваться Хромом, мешать этому будет ОС или помогать. Например, такие мелочи как необходимость что-то нажать, прежде чем вводить пароль разблокировки/входа. Или (не)поддерживаемость GPU или гибернации.
Их есть конечно, но мягко говоря не все.
Все там нормально с любыми мультиязычными тегами, потому что UTF-8.
И в нормальной винде тоже нормально, потому что нормальные плееры понимают UTF-8, хотя в самой оси до недавнего времени на ее поддержку был положен большой болт.
А вот у любителей доса-с-гуём из шести кириллических кодировок отображается только одна, причем если она не расово-верная, то ломается кодировка уже в программах.
Не многовато на себя берёте? Юзер, если что, вам тоже ничего не должен и если «не работает», или «работает не так», то это проблема разработчика, который не предусмотрел.
П.С. Во времена засилия этого ужаса (я давно уже на flac и физические носители перешел) я совершенно спокойно ставил LC_ALL=ru_RU.cp1251 и плеер прекрасно мне показывал русский язык. А во времена Alt Linux Junior 1.0 тамошний xmmp ЕМНИП имел настройку «Кодировка id3v1».
А то из всех моих плееров (на минте) с отображением русских тегов idx3v1 справились только DeaDBeeF, Foobnix. Остальные завалили.
без UTF нормально можно отобразить английский и ещё один язык на выбор
Не совсем так, скорее "языки на базе чистой латиницы и (на практике) какое-то семейстов очень близких буквенных языков". Вот KOI8-U, ближайшая родственница KOI8-R, позволяет использовать одновременно латиницу, русский и украинский за счёт близости русского и украинского алфавитов.
Т.к. Windows проиграла облачную гонку, то для того чтобы оставить разработчиков под Windows нужны инструменты, которые бы позволяли бы работать с Linux-окружением.
Например я работаю под Linux, т.к. пишу приложения, которые работают под Linux.
Не смотря на то что это JVM, но тот же docker и kubernetes проще настраивать под Linux, чем под Windows.
Да и в телефонах делая Андроид линукс именно очеловечили, о чём и говорится в статье
Ракеты падают.
Лада Приора. (и, да, некоторые, знаете ли, получают удовольствие от управления. Процессом ли, автомобилем ли. )
-«Вот скоро мы все на линукс перейдём, она ваще быстрая и вообще всё супер»
-«Так да, документации единой нет, и лампово всё. Будто ты гений что познал программирование)»
-«Кнш, а эта шинда фиговая, со своими подробными гайдами на оф сайте по которым даже эмуляторы рабочие пишут. Зачем упрощать людям жизнь, я не понимаю?»
ЗЫ Я как чисто «пользователь» линукса, бросил эту затею. Вроде «вау как быстро всё, красивенько и кастомизируется». А потом понял что это тот ещё бутерброд, а твой «говнокод» не будет работать у другого ибо разные версии\другой мендж раб стола и ещё до кучи. (мб уже и не так, это было +5 лет назад назад)
А потом понял что это тот ещё бутерброд, а твой «говнокод» не будет работать у другого ибо разные версии\другой мендж раб стола и ещё до кучи. (мб уже и не так, это было +5 лет назад назад)
Говнокод может и на чужих виндах сломаться, потому что там другое разрешение экрана или ярлыки не в том порядке.
Мой любимой пример — попробуйте без гугла добавить принтер по протоколу ipp без всяких bonjour в сети.
Главная причина, почему не Linux