Как стать автором
Обновить

Комментарии 61

Размер патча 5.8-rc1 — 61 МБ.


Так и хочется сказать «берите пример, как надо писать софт». А то нынче обновляется какое-нибудь приложение «Instagram for Android»/Whatsapp из трех экранов и оно 200+ мегабайт занимает. А тут — серьезные обновление ядра системы, «крупнейшие за всю историю» — 60 мегабайт.
бэк пракически всегда весит меньше Фронта. Там картиночки, сердечки, и прочая лабудень
На фронте код увеличивается за счет полифилов и транспиляции для поддержкой старых браузеров

Картиночки и сердечки измеряются в байтах, если писать нормально

А не соблаговолит ли благородный дон показать нам картиночку, которую не стыдно поставить в интерфейс, но которая бы измерялась в байтах?
Гугл вроде не далеко…
codepen.io/robeen/pen/PbvJjy если речь о «сердечках»
www.vecteezy.com/vector-art/225089-awesome-explosion-vectors (около 10кб до gzip) — взрыв делает всё лучше
codepen.io/ste-vg/pen/Gqakbo — если ближе к интерфейсам
И всё это на 4К и даже на 16К экранах хуже не станет смотреться

На всякий случай приложу ещё и игру: ru.wikipedia.org/wiki/.kkrieger (в статье есть видео)
У векторной графики тоже есть свои ограничения (по детализации), и далеко не во всех проектах ей можно обойтись.

Плюс технические моменты, в нативных фреймворках вроде как до сих пор нет поддержки векторной графики, в Qt есть, но только самой простой, без теней и прозрачности.
Оптимизация сегодня хромает, по организационным причинам, тут спору нет.
Вообще-то вектор можно программно растеризовать, если нативный фреймворк не поддерживает вектор. А то опа! — фреймворк не поддерживает вектор — поэтому мы будем пихать иконки под 99% разрешений (и все равно найдется 1% разрешений, в которых это не будет работать). «Как тебе такое, Илон Маск?» (с)
поскольку подразумевается HTML5 — значит вектор есть по определению АКА <svg>… и причём тут qt?
А не соблаговолит ли благородный дон показать нам картиночку, которую не стыдно поставить в интерфейс, но которая бы измерялась в байтах?

Собственно поскольку все платформы перешли на простейшие монохромные схематичные иконки, то Font Awesome
в миллионах байтов — легко
Скорее всего речь идёт о размере измененного текста исходников.
Вы сравниваете размер всего приложения (в Play Market, если память не изменяет, нет патчей, когда вы обновляете приложение, то скачивается свежая версия приложения полностью) с размером патча (изменениями, накладываемыми на предыдущую версию ядра, они без этой самой предыдущей версии бесполезны). Корректно было бы сравнить с размером всего ядра.

Так вот, размер тарболла с ядром 5.8-rc1 — 172 МБ.
НЛО прилетело и опубликовало эту надпись здесь
www.kernel.org → 5.8-rc1 → [tarball]
Даже если так, это же не сильно меняет дело так-то?

Или вы считаете нормальным, что три экрана с сердечками занимают столько же, сколько целиком ядро операционки? Почему ОС выполняет функций на пару порядков больше, чем современные приложения с двумя кнопками, а занимают последние объема не меньше? Да, понятно, что там картинки этих самых сердечек, но все-таки польза несравнима.

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

P.S. Ну и да, отсутствие возможности скачать только патч, а не перекачивать целиком, это тоже такое себе, но оффтоп.
Графика занимает больше, чем текст (исходники это преимущественно текст), это нормально. Да ешё в разных разрешениях.
Почему бы всем тем разработчикам, которые занимаются переименованием *цензура* не заняться возможностью разделить графику и логику? Не заняться возможностью качать патчи, а не перекачивать все целиком? Да не реализовать закачку графики уже после установки в конце концов, чтобы сразу качать в нужном разрешении минимальный объем, а не набивать в одну APK все возможные типы сердечек?
Как будто в мире Software Engineering нет каких-то объективных областей, где можно приложить усилия и сделать мир лучше. Но нет, senior инженеры будут заниматься цензурой и сердечками. Почему у меня на телефоне единственное пользовательское (в смысле, которое можно скачать и установить, а не встроенные штуки) приложение, занимающее меньше мегабайта — это, как ни парадоксально, DiskUsage, которым я пользуюсь примерно каждый раз, когда мне надо установить очередное «важное обновление» для инстаграмчика. И оно работает, черт возьми, выполняет ровно ту функцию, которую должно, и весит 791 кбайт. Честно, когда я в первый раз установил, я был в шоке — «они существуют! Андроид приложения меньше мегабайта!». Почему же это единичные исключения, а в целом мир мобильной и веб-разработки сошел с ума и на полной скорости несется в пропастьнепонятно куда? На десктопе еще хоть как-то можно жить, спасибо обратной совместимости и до сих пор работающему софту из, условно, нулевых, а также достаточно простой возможности написать что-то под себя, если приспичит. Но вот в вебе и мобилках все хуже. И вдвойне хуже от закрытых API (того же инстаграма), что даже нет возможности написать свой клиент.
Хотелось сказать, что хоть разработчики ядра молодцы и не поддаются хайпу, но вовремя вспомнил — и тут SJW добрались.
Ну так эта возможность давно уже есть. По крайней мере, в Android. Вот только не пользуются ей. И патчи компактные, и ресурсы поделенные на пакеты по dpi устройств.
Потому что время разработчика стоит дороже сториджа.
А если вдруг эти две суммы поменяются местами, то вы сами останетесь в минусе.
Не уверен насчет минусов. А то, что современный софт последние лет 10 катится в пропасть — вполне уверен. Десктопный хром, жрущий сотни мегабайт *на вкладку* (сравним с Оперой из нулевых, держащей десятки вкладок при в разы меньшем объеме потребляемой памятью), андроид-приложение Facebook, занимающее 300 Мб (и отдельное Facebook Messenger на 100+ Мб), и таких примеров сотни.
Сторадж дешевый — ну, конечно, за последние 10 лет и SSD появились и подешевели, и объемы HDD выросли заметно… Но вот оперативка чуть ли не подорожала за это время, и существенного роста не было. В прошлом году я с 16 на 48 Гб обновился, потому что 16 в упор не хватало на ПК, Лайтрум открываешь фотки обработать — туши свет. Пока 48 вроде хватает. А еще мы же про телефоны говорим — так вот на телефонах объем дисковой памяти четко коррелирует с позиционированием модели — в дешевых телефонах найти что-то больше 16 Гб *дисковой* памяти (сорри, если неправильный термин, имею в виду обычную память для файлов, не оперативку) достаточно сложно. А еще и физический размер телефона также коррелирует, поэтому если вы хотите небольшой физически телефон — вы в пролете. И у меня уже четвертый телефон за последние 10 лет — и *в каждом* одна и та же проблема — не хватает места. При покупке нормально, через год использования и «важных обновлений» все свободное место телефона забивается в ноль. Выедается причем какой-то ерундой, кэшем инстаграма, кэшем вотсапа, кэшем каких-то приложений, которыми я раз в год пользуюсь. Вот и прихожу уже в очередной раз к тому, что чтобы поставить новое приложение, надо вычистить сначала место, в несколько раз превосходящее необходимое. Так что в реальном мире этот самый «сторадж» хоть и дешевый, по факту так не работает.
Сразу отвечая на вопрос «почему же вы не пользуетесь той старой оперой» — так потому что сайты катятся в ту же пропасть и используют тонны скриптов, которые не поддерживались тогда. Я бы рад, но не выйдет.
Не обновляйте телефоны. Мы с женой почти одновременно купили какие-то Сяоми. Я все обновления устанавливал, а жена отключила их. В итоге у меня через год еле живой кирпич был, а жена без обновлений 3 года со своим проходила. Я сейчас с самсунгом хожу — через полгода стал еле шевелится.
у меня redmi note 4x 4 ГБ ОЗУ. все доступные обновления стоят, и я никак не могу сказать, что он стал ощутимо задумчивым. использую браузер и стадартный софт типа калькуляторы, заметки и т.п.
у жены redmi note 5 4 ГБ ОЗУ и тоже не жалуется.

поэтому вряд ли в обновлениях дело.

а вот старые планшеты типа prestigio с 1 ГБ ОЗУ уже невозможно использовать, это да.
Не обновляйте телефоны.

Гениальный совет. Особенно учитывая, как сильно сейчас жизнь многих завязана на телефон (банки, госуслуги, больницы, школы, брокеры и т.д.). Оставлять телефон без патчей безопасности это надо быть очень базшабашным...

Каждый сам решает, завязывать ли ему жизнь на что-то или нет.
А то, что современный софт последние лет 10 катится в пропасть — вполне уверен
А когда скатимся, наконец, что произойдёт?

Когда скатимся — полетим. Но это не точно.

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

Там где графики и иконок очень много — претензий почти нет, но… Возьмём к примеру Signal — он занимает 84MB. WhatsApp, Telegram, Skype — этого же порядка. Там почти нет графики, разве что эмоджи (причём в Signal их практически нет), но это явно не тянет на такой объем.


Или Amazon Shopping — там ничего нет внутри, он всё онлайн тянет (при плохой сети видно как картинки появляются) — 145MB. Или банковское приложение (Commerzbank) — аж 168MB, и это на десяток иконок и одно лого.


Чёй-то я сомневаюсь что по сложности и количеству кода всё вышеперечисленное тянет хотя бы на четверть ядра — если, конечно, грамотно делать, к примеру GlassWire, намного более богатый по интерфейсу с графикой и посложнее чем банкинг (потому что банкинг это просто фронт с минимальными рюшками) занимает всего около 12MB — умеют ведь, если хотят.


Но в последнее время разработчикам пофиг, ради одной зависимости в виде одной функции (которая реализуется за 15 минут) тянут целые фреймворки.

НЛО прилетело и опубликовало эту надпись здесь
Ну вот не надо про Electron и chromium, пожалуйста, VSCode прекрасно работает, а еще Chromium уже полетел в космос, а вы?
А есть ещё десятки приложений на нём, которые прекрасно тормозят и жрут память. То, что он в космос полетел — не показатель надежности, это показатель смелости Маска, граничащей с авантюрностью. Надёжные интерфейсы сертифицируются примерно так: doc.qt.io/QtSafeRenderer/qtsr-overview.html
А еще есть десятки приложений на QT, которые прекрасно тормозят и жрут память (а еще и забывают очищать ее). Правда их никто не видел, потому что за те 5 лет, что потребовались на их разработку и стоимость, складывающаяся из заоблачных (и вполне справедливых) зарплат программистов C++ никак не оправдала получившийся результат в виде обычного, ничем не примечательного интерфейса, который школьники у конкурентов сделали на HTML и CSS за неделю, добавив туда еще и анимации из CSS3 и котиков из кучи библиотек нахаляву.
Есть десятки приложений, которые очень тормозят, но которых никто не видел? Вы уж определитесь, чтобы без взаимоисключающих параграфов.

Верстать на QML легче, чем на CSS, можно использовать сторонние JS библиотеки (для отрисовки графиков, например). С анимациями там всё прекрасно, что касается «ничем не примечательного интерфейса», то просто посмотрите на Battle.net launcher.

С++98 в Qt не требует заоблачной квалификации, и если школьники могут что-то работающее написать за неделю на веб-технологиях, это наверняка можно написать на Qt максимум за две.

Сравните скорость и потребление ресурсов (с учётом функциональности) VSCode с IntelliJ Idea или Visual Studio. Да, последние два конечно требуют кучу места, но и возможностей там на порядок больше (если не пробовали — сравните).


А так да, когда количество кода плюс собственное потребление ресурсов приложения начинают сильно превышать аналогичные запросы самого фреймворка (если не страдает производительность, конечно) — нет проблем.


Один из моих любимых примеров — это Balena Etcher (86MB в архиве), эдакий фронтенд для dd под Windows на базе электрона. И ведь что характерно — народ с него тащится, хотя в случае нативной реализации там кода в лучшем случае на несколько мегабайт (с учётом MFC/QT/etc), да и при работе с ним не удаётся избавиться от ощущения что работаешь в браузере.


А хромиум в космосе… Его ценность (и доверие к нему) хорошо выражена вот этим (цитата из вашей ссылки):


Да, мы используем тот же Chromium, который лежит в основе браузера Chrome, ещё есть собственные библиотеки. При этом важно понимать, что мы используем Chromium только как движок для отображения интерфейса на экранах. То, что мы выводим на мониторы, никак не влияет на сам полёт и отказоустойчивость системы.

Если бы они на электроне писали систему управления… не думаю чтобы он хотя бы взлетел.

Скайп, Слак и Атом тоже полетели… только в помойку. Дискорд, в общем-то, тоже туда полетел, хотя, благодаря переписыванию всего и вся на C++, он не столь ужасен.
НЛО прилетело и опубликовало эту надпись здесь

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

В Play Market есть патчи.

Круто, не знал. Ну т.е. это круто, что поддержка есть, но, кажется, ни одно из известных мне приложений ими не пользуется :(

Так Google сам считает diff между старой APK и новой и сам этот патч устанавливает без какого-либо участия разработчиков.

В Google Play программы умеют обновляться патчами.
Ну так и квалификация Линуса со товарищи несравнимо выше, чем у разработчиков Instagram for Android.
думаю еще стоит учесть что у них скорее всего нету «эффективных» менеджеров которым все нужно на вчера и ложили они на качество…
Если бы ядро системы писали так же как «Instagram for Android»/Whatsapp, то для запуска одного ядра в текст моде требовался бы компьютер уровня кор ай7, 8 гб памяти.
И к тому же они делают это бесплатно!
Отключение тормозящих патчей на процессорные уязвимости Интел и Амд, по прежнему аналогичное?
Да:
GRUB_CMDLINE_LINUX_DEFAULT="mitigations=off"
Очень хорошие заделы для драйверов и особенно графики. Всякие SteamOs, ChromeOS и др. будут очень рады
А с моей точки зрения, ядру линукс очень не хватает выделения драйверов как-то отдельно от ядра. Ну хотя бы между драйверами каждой подсистемы и ядром сделать унифицированный интерфейс. Это позволит бОльшую часть изменений в драйверах поставлять отдельно от ядра, отдельно же и компилировать. И даже скомпилированные драйверы можно будет подключать сквозь несколько подверсий ядра (если у них версия интерфейса совпадает).
НЛО прилетело и опубликовало эту надпись здесь
Так и есть причины, чтобы это делать. Сколько себя помню — очень остро в линуксе стоит вопрос нехватки драйверов. И я понимаю, почему производителям оборудования не очень хочется в это лезть — из-за того, что тестировать придется под каждую версию ядра. В самом худшем варианте это приводит к поддержке десятка независимых версий драйвера для каждого ядра.
Унифицированный интерфейс бы позволил поддерживать одну или 2 версии. Как результат мы бы получили более полную поддержку устройств.

А какая главная причина этого не делать?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Да и вообще бы все драйвра вынести из ядра.
а еще лучше сделать микроядро
gnu hurd
Зарегистрируйтесь на Хабре , чтобы оставить комментарий