Комментарии 228
В любом веб-приложении можно менять масштаб. Достаточно нажать Ctrl + и текст станет больше. Всё внутри окна автоматически адаптируется к масштабу. Почему этого не умеют нативные приложения? Почему Я не могу иметь на экране две области разных размером для окон? Или даже масштабировать их автоматически, когда перемещаюсь между окнами? Все эти вещи просты до безобразия с композитным оконным менеджером, которые были банальностью на протяжении десятилетия.Далеко не каждый сайт удачно масштабируется. Некоторых так колбасит, что ты вынужден возвращать 100%. Внезапно, масштабируемость сайта, зависит от его разработчиков. Аналогично дело обстоит с десктопом, приложения должны уметь масштабироваться, чтобы простым Ctrl-+ увеличивать размер задуманных разработчиком элементов. А ещё все картинки видимо придётся в вектор переводить, не скейлить же их быстро, дешево и сердито?
Пока похоже на плач ребёнка, а не на серьезную статью.
По хорошему, приложения должны скейлиться операционной системой автоматом. Да, при этом картинки и некоторые элементы могут выглядеть размыто. Но это нормальное поведение по умолчанию. На современных дисплеях такую размытость можно и не заметить, а вот масштабирование шрифта без размытости вполне под силу сделать оконному менеджеру.
При этом, безусловно, надо дать приложению возможность корректно отмасштабировать картинки.
Проблема, однако, в том, что масштабирование полностью положено на плечи разработчика. А автоматическое масштабирование настолько вырвиглазное, что порой проще оставить маленькие буковки.
Весь вопрос в удобстве написания приложений. А удобства — во дворе.
Ну а если поддержки динамического DPI нет, то просто будет мыло от растровой интерполяции шрифтов. С картинками, кстати, проблем нет — еле заметную размытость глаз воспринимает нормально.
Проблема, однако, в том, что масштабирование полностью положено на плечи разработчика.
Кому, как не разработчику лучше знать о работе его приложения на разных экранах?
Где-то нужно субпиксельное сглаживание, где-то достаточно обычного. На одном экране иконки лучше попроще, т.к. DPI небольшой и элементы сливаются, на другом можно более качественные, т.к. там DPI много больше. И т.п.
а вот масштабирование шрифта без размытости вполне под силу сделать оконному менеджеру
Как это? Для оконного менеджера шрифт это картинка. Соответственно, при масштабировании он будет не такой чёткий. Либо надо ограничивать масштабирование только целыми коэффициентами.
Вообще можно идти двумя путями.
1. Всё делает разработчик приложения, ОС ему только сообщает условия.
2. Компоненты ОС тоже выполняют часть работы.
Во втором случае нужно что-то вроде клиент-серверной архитектуры. Привет, X Window!
Тогда приложение будет рисовать не пиксели, а прямоугольник с шириной 50% от родителя. А оконная система будет его масштабировать, сглаживать и т.п.
Только почему-то от этого отказались. Наверное сложно запихать в оконную систему примитивы на все случаи.
Где-то нужно субпиксельное сглаживание, где-то достаточно обычного. На одном экране иконки лучше попроще, т.к. DPI небольшой и элементы сливаются, на другом можно более качественные, т.к. там DPI много больше. И т.п.
Обратите внимание, что в вебе такой проблемы нет. Вы масштабируете сайт, а он корректно отображается без мыла. Максимум баги с вёрсткой из-за слишком большой иои маленькой виртуальной ширины страницы. Иконки или картинки при этом либо векторные, либо просто хранятся в нескольких разрешениях, а браузер сам выбирает, что показывать.
> Как это? Для оконного менеджера шрифт это картинка. Соответственно, при масштабировании он будет не такой чёткий. Либо надо ограничивать масштабирование только целыми коэффициентами.
Почему это? Чтобы отрисовать текст в GDI+, мы делаем системный вызов Graphics.DrawString. Если мы рисуем прямо в само окно, без буферизации, то текст будет отрендерен корректно. Если же мы используем буферизацию и выводим текст сначала в растровый буфер, а уже потом на экран, то да, будет мыло из-за интерполяции растра при его переносе на экран.
И, кстати, из GDI+ выпилили функцию SetPixel (она доступна теперь только для Bitmap) — это было сделано неспроста.
К сожалению, императивное описание интерфейса вместо декларативного, когда приложение вручную всё перерисовывает, а не формирует набор правил для ОС, оказалось неудачным. При рендеринге без буферизации возникал фликинг при перерисовке, поэтому использование буфера стало нормой.
> Тогда приложение будет рисовать не пиксели, а прямоугольник с шириной 50% от родителя. А оконная система будет его масштабировать, сглаживать и т.п.
Только почему-то от этого отказались. Наверное сложно запихать в оконную систему примитивы на все случаи.
Почему же? WPF — пример такого интерфейса, и как по мне, так получилось вполне удачно.
Это уже следствие неадаптивной вёрстки. Пропорциональное масштабирование всех элементов сайта без изменения размеров окна браузера = изменение размеров окна для сайта. Если сайт не может работать с узкими экранами, он будет отображаться криво.
Новая файловая система и новый видеокодек. И это всё?
Серьезно, "новая файловая система" и этого мало?
Серьезно, «новая файловая система» и этого мало?
И много, и мало одновременно. С одной стороны, со стороны инженера, это очень много. С другой стороны, со стороны людей, которые будут этим пользоваться, это даже изменением не назовешь. «Новая файловая система? А что мне это даст? Ах, будет стабильнее и эффективнее работать? Ну ок, хорошо.»
«Господи, почему все так плохо работает! Оформлю-ка своё нытье как статью и прикреплю фотографию экрана в PNG, так будет намного лучше»
Хотя, сейчас конвертировал вышеуказанную фотографию в jpeg, размер уменьшился в несколько раз с тем же качеством.
и, кстати, является достаточно ироничным фактом что она такая в оригинале, у автора, ноющего про «раздутые системы».
чем плох png
PNG — формат для сжатия без потерь. Все, что в нем сохраняется, можно достать бит-в-бит. Соответственно, для данных с большим количеством энтропии он чрезвычайно не эффективен, потому что вынужден хранить все шероховатости и неровности исходного изображения. Фотографии как раз содержат большое кол-во энтропии.
Форматы с потерями (такие как JPEG), наоборот, хранят лишь приближенное изображение оригинала, изменяя его таким образом, чтобы оно занимало меньший размер. В случае фотографий размер файла может быть меньше в десять раз без заметных глазу отличий в изображении.
4,352px × 2,448px (scaled to 775px × 436px)
Во-первых, контент — не скрин, а мыльное фото. Значит, надо использовать JPEG.
Во-вторых, нет никакой нужды использовать настолько большое разрешение для демострации наличия ускорения 3D графики. С размером 500px картинка будет иметь размер 50 кб (JPEG, 95 quality), 775px — 100 кб.
0. Почему, почему, почему? А вы пробовали сделать то то что просите?
1 «Atom — один из самых популярных текстовых редакторов на сегодня» я первый раз услышал про это редактор от вас. Занимаюсь разработкой более 20 лет.
2 «X Windows добавил менеджеры компоновки окон » вот отсюда по подробный притенезии к какому менеджеру?
3 «как насчёт системного буфера обмена» с чего вы взяли что должен быть системный буфер обмена? И даже если вы нем сделать не один элемент, то какое должно быть правило FIFO, FILO?
4 " Я не могу положить файл одновременно в два места моей файловой системы? Почему она обязана быть иерархичной?" Как раз в два места вы положить можете, но не все ФС могут иметь ссылки на одно место хранения данных из более чем одного места. Хотя современные ФС могут это делать. А если вам не нравится иерархия то милости просим в БД. Но ФС без иерархической составляющей не прижились. Крайне не удобно.
5 " моего компьютера есть мышь, клавиатура, датчики наклона, датчики света, 2 камеры, 3 микрофона и масса bluetooth-аксессуаров, но только первые 2 используются как основные устройства ввода. " Что!?!? Вы не пробовали через xinput подключить по два и более устройств ввода? Значит вы вообще ни чего не пробовали! С мышками удобно (мышь+тачпад), но вот две клавы это не удобно.
По мне ваша «статейка» это просто нытье человека который не пробовал решить ни одну проблему. Да и скажу более что Вы даже не пробовали сформулировать проблемы!
А что считать нативными под десятку? UWP, которые работают через кучу слоёв абстракции?
Есть рекомендация — писать на UWP, который совместим с магазином приложений. Сейчас он на слое костылей, мб далее сие поделие будет оптимизироваться и переписываться на более низкий уровень.
А что там за слой костылей? Я особо не интересовался, но думал, что там простой .NET и что-то WPF-подобное.
Хотя я конечно могу ошибаться.
Там просто вариантов разрешений меньше.Меньше, да не сильно — 4 разных разрешения, (условно) 3 варианта dpi. (и это я только айфоны посчитал).
Скорее iOS выигрывает за счёт сильно упрощённого layout (там constraint-based layout с 6 версии, и удобный редактор с предпросмотром «как на реальном устройстве»)
А есть ли хоть одно отзывчивое UWP-приложение, которое при холодном запуске не грузится дольше 20 секунд и при этом имеет адекватный UX-дизайн?
Читал статью в оригинале, большое спасибо за перевод.
Претензии автора к современным ОС не всегда обоснованы, на мой взгляд, но поднимать вопрос о "голом короле" нужно.
Проблема всех современных ОС с историей — обратная совместимость. И она лежит даже не в плоскости разработчиков ОС, а в клиентской базе. На дворе 2017 год, а людей с боем приходится сгонять с Windows Xp на хотя бы SP3. Только укажи, что минимум Вин7, — тут же слёзы, вой, слюни, пот, кровь и прочие телесные жидкости! И тут же появится гений: «о, у вас нет сборки под экспериментальную генту, убожество!»
Но и нам, разработчикам, совсем не упёрлось каждые 2 года пересаживаться на новый API, — за 2 года только-только начинаешь входить во вкус. Даже хуже, мы банально не успеваем просто уследить за всеми новостями. Но мы-то, разработчики, вдобавок совсем обленились, ради скорости разработки и «кроссплатформенности» пишем всё на пространных языках с непонятным способом перевода в бинарный код, да ещё и линкуя сотни библиотек, наивно полагая, что их-то пишут настоящие разработчики, не чита нам. Ну вот, когда «не чита», новые фичи появляются раз в сто лет, как у SQLite, или цена продукта пробивает твой годовой бюджет, как гиперзвуковая ракета пробивает весящий на стене плакат «У меня всё хорошо!». А когда «как обычно», то в проекте появляются 4 разные версии одного и того же фреймворка, которые с удовольствием поделятся с твоим компилятором-интерпретатором, какой ты лох.
Мы не можем отбросить существующие операционные системы и лежащие в их основе парадигмы. Мы не можем ввести в старые системы новые парадигмы, не извратив идею и не получив ужасающих кадавров на стыке MFC, .Net4.6 и tAms'а. Мы не можем отбросить часть клиентов и оборудования, потому как, банально, та же Пи'шка тоже уйдёт. И мы не можем уйти от 15 слоёв обратно к 3-4, потому как не хватит ни времени на разработку всех требований, ни разработчиков, способных этим заниматься.
Цугцванг. Ни переход на новую парадигму, ни модернизация старой не решают проблем. Переход на новый уровень произойдёт с новой технической архитектурой, как Андроид взошёл с поголовным внедрением АРМов. Крайне сомневаюсь, что это будет наш Эверест, поэтому стоит сделать ставки на квантовые вычисления и связанные с ними изменения во всех без исключения сферах компьютерного знания.
поэтому стоит сделать ставки на квантовые вычисления и связанные с ними измененияЯ бы не был таким оптимистичным. Если квантовые ПК легко потянут винду, она там и будет работать, с эмуляцией x64 и немасштабируемыми окнами.
Однако именно отвал криптографии, помноженный на возможность решать огромный объём задач неприлично быстрее побудит переписать само ядро операционных систем. Станет хуже.
Уж криптографию точно придётся переписывать, а это 50% софта в парашу прям даже не запуская.
Зачем переписывать операционную систему просто для того, чтобы заменить одну реализацию одного алгоритма на другую реализацию другого?
Жалобы в топике исключительно про интерфейсы и про нагромождение слоёв API. Откуда вообще взяться зависимости между интерфейсами и криптографическими библиотеками?
Внезапно, обновление, к примеру, openssl не требует переписывания X Window.
Единственный шанс это всё оборвать — резкий переход на новое оборудование. Это было с iPhone и, позднее, Android. Новый рынок, новый подход к использованию и, конечно, короткий жизненный цикл устройств. Всё это позволяет значительно менять систему, плюя на обратную совместимость. Та же история повторялась двукратно с повышением разрядности. Уход от windows 98 произошёл под свист больших дисков, Линукс поднялся с появлением интернета за пределами пыльных бункеров.
Так вот, внедрение квантовых вычислителей, — это очередной слом парадигмы, который единовременно заставит многих покупать новые железки, как минимум, ускорители. И брать, прежде всего, будет бизнес, самая консервативная и денежная часть. Естественно, это будет болезненный переход, но его, как и переход с 16 на 32 бита, смогут игнорировать только самые особенные.
И этот слом — не причина — всего лишь возможность подготовить и раскрутить новую ОС «с чистого листа». В такой момент ты не выхватываешь по 1-2 любопытных пользователя в сети, упуская столько же из-за «нету игор». Ты сразу снимаешь пласт клиентов, в том числе, очень богатых.
Прямо сейчас нечто подобное наблюдается в IoT. Полноценное ядро никсов слишком тяжелое, так что появляется множество новых ОС «с нуля», из которых парочка, возможно, станет основными в этой сфере через несколько лет.
Естественно, это будет болезненный переход, но его, как и переход с 16 на 32 бита, смогут игнорировать только самые особенные.
Основное обозримое применение для бизнеса — решение задач оптимизации (обучение всяческой машинки). (поправьте меня, если это не так и вы видите какое-то другое применение).
Собственно, последние несколько лет прямо на наших глазах бизнес столкнулся с появлением вычислений на ГПУ, благополучно ровно для тех же самых задач их освоил и много-много (в совокупности) в это денег вложил.
Это привело к изменениям в архитектуре ОС? Нет.
Это привело к изменению в интерфейсах? Нет.
И логично, что не привело. С чего бы?
Я не очень понимаю, почему вы считаете, что в этот раз приведёт, никаких логических предпосылок для этого не видно. В текущем состоянии квантовые вычислители — намного более узкоспециализированные (по сравнению с GPU) ускорители решения некоторых задач.
но его, как и переход с 16 на 32 бита, смогут игнорировать только самые особенные.
Тем временем переход 32->64 с точки зрения, обсуждаемой в статье, ничего нового не привнёс (хотя, естественно, на данный момент все игроки этот переход уже поддержали — и производители железа и разработчики ос)
Собственно, последние несколько лет прямо на наших глазах бизнес столкнулся с появлением вычислений на ГПУ, благополучно ровно для тех же самых задач их освоил и много-много (в совокупности) в это денег вложил.Условно, это новый рынок и новый вид деятельности. Как VR, его появление не уничтожает привычные мониторы. А нужен слом старого рынка и уничтожение предыдущего уклада.
Переход на 32 бита был сломом, на 64 — нет. 32-битные системы не потеряли актуальности даже спустя 12 лет после появления AMD64. А 16-битные уже к 80-м исчерпали возможности экстенсивного роста за счёт разрядности и пошли на страничные хитрости. То же с автомобилями — они сломили существовавший рынок гужевого транспорта, в то время как поезда осваивали новый рынок и не были прямыми конкурентами лошадей.
Квантовые процессоры ломают старую криптографию. А нейросети и бигдата осваивают новые рынки и дополняют старые добрые конечные автоматы и базы данных.
Как-то так.
Квантовые процессоры ломают старую криптографию.
Ага. Ломают конкретные алгоритмы, опирающиеся на сложность решения проблем, лежащих не выше конкретного уровня полиномиальной иерархии.
А вот выше этого конкретного уровня — уже, судя по всему, быстро не ломают.
Когда будет нужно, во всех криптобиблиотеках появится какая-нибудь latice-based криптография, вы как конечный пользователь этого особо и не заметите.
AMD64. А 16-битные уже к 80-м исчерпали возможности экстенсивного роста за счёт разрядности и пошли на страничные хитрости.
От страничной адрессации как раз никуда и не ушли. Напротив, к ней примерно в этот момент перехода и пришли.
И, в общем-то, важным шагом были именно реализация механизмов страничной адресации, защиты памяти и всего прочего в 386 (в 286 что-то вроде Protected mode уже было, но, то ли рынок не успел подготовиться, то ли просто не зашло), а то что в регистре теперь битиков другое число — дело десятое, хотя и упростило жизнь.
А нейросети и бигдата осваивают новые рынки и дополняют старые добрые конечные автоматы и базы данных.
Можете объяснить, какую мысль в контексте нашего разговора вы пытаетесь этой фразой сказать?
Конечные автоматы и базы данных вообще тут причём?
Условно, это новый рынок и новый вид деятельности. Как VR, его появление не уничтожает привычные мониторы. А нужен слом старого рынка и уничтожение предыдущего уклада.
Перессказываю своё предыдущее сообщение:
По-моему мнению для конечного пользователя появление и распространение ускорителя в виде квантового вычислителя эквивалентно появлению и распространению вычислений на GPU.
Я понимаю, что вы, судя по всему, не согласны и видите какую-то разницу — и я прошу вас объяснить, в чём же она, если она, по-вашему, есть?
Вместо этого вы пишете «Ну она есть».
И проводите примеры случаев, когда она была.
Вот у вас есть x случаев когда разница была и y случаев, когда её не было. Вопрос же в том, почему именно этот случай, по-вашему, тот самый, когда разница будет?
Ага. Ломают конкретные алгоритмы, опирающиеся на сложность решения проблем, лежащих не выше конкретного уровня полиномиальной иерархии.А так же все приложения, в которые OpenSSL прилинкован статически или использовались другие библиотеки. И всё оборудование с аппаратной реализацией этих алгоритмов. Банально, ваш роутер с его WiFi и встроенным VPN.
Конечно, до квантовых компьютеров ещё полно времени, можно подготовиться. Как полагается, всё это время будет успешно просрано.
Перессказываю своё предыдущее сообщение:Эквивалентно появлению общего однородного стандарта программирования графики на GPU для геймдева. Своего рода DirectX\OpenGL. Их внедрение — новая веха, как только люди втянулись, наработали кодовую и нарастили аппаратную базу — предыдущий этап исчез.
По-моему мнению для конечного пользователя появление и распространение ускорителя в виде квантового вычислителя эквивалентно появлению и распространению вычислений на GPU.
С вычислением на GPU не так, далеко не всё можно в него запихнуть, а даже если и запихнул, тебе всё равно нужен мощный процессор для обслуживания передачи данных.
А так же все приложения, в которые OpenSSL прилинкован статически или использовались другие библиотеки. И всё оборудование с аппаратной реализацией этих алгоритмов. Банально, ваш роутер с его WiFi и встроенным VPN.Криптография обычным людям нафиг не нужна. Сколько все сидели на http и не парились? Аналогично с VPN — главное, туннель есть, и хорошо. А то, что злой дядька может подсмотреть — да пусть смотрит, будет выпендриваться и троллить, напишем на него заявление за несанкционированный доступ.
вычислением на GPU не так, далеко не всё можно в него запихнутьКак будто с гипотетическими квантовыми вычислениями будет по-другому.
Ведь что такое GPU?
Массив процессоров, у каждого из которых есть приличное кол-во локальной памяти + глобальная память.
Можно в принципе было не лепить его рядом с CPU, а сделать новый процессор, написать совершенно новую ОСь, начиная с загрузчика, на этих принципах?
Можно.
Почему не сделали?
Да лень всё переписывать.
Так почему квантовые ускорители должно пойти по другому пути?
Криптография обычным людям нафиг не нужна.Ты это своей банковской карточке скажи и личному кабинету на госуслугах.
Так почему квантовые ускорители должно пойти по другому пути?Не должны. Могут. Я уже в 4-й раз пишу: этот переход можно использовать для проталкивания своего продукта. Это может быть Windows Quantum, Ubuntu Superpos или qw1's Singularity. А может и не быть, если лень.
Ты это своей банковской карточке скажи и личному кабинету на госуслугах.Ну, ок, будут на эти сайты ходить через новый супербраузер, или с другого устройства. Но повально выбрасывать старые программы не будут.
этот переход можно использоватьНет. Переход возможен, если он удовлетворяет какие-то потребности. Например, за 3 нажатия пальцем в маленький экран написать SMS. Чтобы завоевать десктоп (или перезавоевать уже завоёванный мобайл), нужно принципиально менять пользовательский опыт, и тогда под шумок можно сменить архитектуру. Но это если текущий король не подсуетится и не скопирует ключевые идеи себе.
Переход возможен, если он удовлетворяет какие-то потребности.Технические, в том числе. Например, выход очередного DirectX только на новой версии ОС.
Чтобы завоевать десктоп (или перезавоевать уже завоёванный мобайл), нужно принципиально менять пользовательский опытСогласен. Не спорю ни капли!
Но это если текущий король не подсуетится и не скопирует ключевые идеи себе.Для этого и нужен резкий переход — все оказываются в примерно равном положении. Каждый предполагает что-то своё и ни у кого нет готового решения.
Это может быть Windows Quantum, Ubuntu Superpos или qw1's Singularity.
Меня терзают смутные сомнения, что проблема в том, что ваше представление о квантовых компьютерах на уровне — «Ну это такой компьютер, только лучше».
Как бы, конечно, ваше право, но ваши собеседники (в первую очередь о себе), когда слышат «квантовый компьютер» считают, что вы рассуждаете про конкретную вычислительную модель с конкретными прототипами и приблизительно обозримым будущим.
Возникает недопонимание. Замените в ваших рассуждениях «квантовый компьютер» на «воображаемая новая вычислительная модель, которая вдруг появится» — и всё станет на свои места.
Впрочем, моё wtf остаётся в обоих случаях: речь идёт о банальных проблемах интерфейсов и разработки, а вы как бы говорите «да всё просто, вот решение — всего лишь нужен огромнейший прогресс в одной из наиболее передовых областей науки и техники — тогда сразу (непонятно, с чего) появится повод нарисовать хорошие интерфейсы».
Вы сейчас говорите: «с вычислением GPU не так, потому что они очень СПЕЦИФИЧНЫЕ. И нужен CPU, чтобы делать общие вещи, а когда нужно данные в этот самый ваш GPU отправлять, управлять им, загружать обратно».
Так вот ввантовые компьютеры — немного более специфичная штука, чем GPU.
А так же все приложения, в которые OpenSSL прилинкован статически или использовались другие библиотеки. И всё оборудование с аппаратной реализацией этих алгоритмов. Банально, ваш роутер с его WiFi и встроенным VPN.
Если мы исходим из ситуации, что по какой-то причине бинарник намертво навсегда забит в железку и не обновляется, к тому моменту, когда случится квантовый прорыв, в намертво зашитой версии openssl уже будет найден и хертблид и ещё вагон и маленькая тележка уязвимостей, с эксплоитами в свободном доступе пригодных для запуска любым школьником.
Опять же — допустим роутер стар, убог и по какой-то причине из принципа производитель не будет выпускать новую прошивку.
Ок, выпустит новый роутер с обновлённым openssl с постквантовой криптографией в нём.
С чего вы взяли, что он выпустив новый роутер будет придумывать для него новый интерфейс? Задача решается обновлением одной библиотеки, и пересборкой прошивки.
Задача рисования новых интерфейсов с криптографией не связана вообще. Необходимость пересобрать openssl рисование новых интерфейсов не влечёт (и новые интерфейсы, по-прежнему, могли бы быть нарисованы и без пересборки openssl, но не рисуются)
Интерфейс неразрывно связан с остальной логикой ОС. И связан на самом низком уровне. Либо так, либо у вас вырастают 50 слоёв-обёрток, на которые так же жаловался автор. В Qt, например, собственная отрисовка, которая может выполняться на OpenGL или на GDI+, сделана не из желания добавить новый уровень абстракции, а из необходимости планировать над всеми API.
Даже если вы сделаете какой-нибудь сверхкрасивый и удобный набор формочек аля .Net, многие приложения нельзя будет перевести на ваш API, потому что вот тут вот он работает не так, как у нас. Далеко ходить не надо, переход WinXP->Win7 сломал половину диалогов из-за разницы в возвращаемых размерах окон.
Для всех ОС есть десятки кастомных ланчеров и прочих приблуд для усовершенствования интерфейса. Ряд ланчеров под WinXP делал её куда красивее, элегантнее и мощнее современной Win10 по цене старого запорожца. Но почему-то они не пользовались и не пользуются популярностью у народа. Почему бы это?
Что касается квантовых компьютеров/сопроцессоров/PCI-расширений/USB-карточек, вы почему-то решили, что я пророчествую «смерть windows в 2027 году». Чушь!
Я написал, что с выходом массовых квантовых систем для многих категорий их использование будет шагом вынужденным, а вслед за этим будет вынужденное использование тех ОС, которые поддерживают квантовые устройства на должном уровне.
Если вы хотите написать новую лучшую ОС и захватить рынок, то стоит заранее подготовить место под квантовые вычислители в системе и изучить возможность их использования. Сделать ставку уже сейчас, добавив квантовый язык и эмулятор глубоко в ядро системы. Просто потому, что уже сейчас вы привлечёте гиков-исследователей, а с выходом этих устройств на массовый рынок эффективная утилизация кубитов будет существенным преимуществом, и простое заявление «у нас Vulkan API работает быстрее всего, Wine не лагает, красивые окошки и гребёнки, а ещё мы можем в кубиты, отчего наш ИИ стал очень умным и даже может пофлиртовать с вами» звучит очень сильно на волне хайпа.
Из этого не следует, что новый интерфейс появится с новой версией OpenSSL или с квантовыми процессорами. Из этого следует, что с их выходом можно популяризировать новую ОС, в которой будет новый удобный и красивый подход к UI. Который на этой волне может быть подхвачен другими разработчиками и встроен, в том числе, в роутеры.
сделать ставки на квантовые вычисления и связанные с ними изменения во всех без исключения сферах компьютерного знания.
Квантовые, вроде, совсем не заменяют обычные и пригодны только для некоторого круга задач. Тут же про интерфейс и нагромождение слоёв говорили. При чём тут квантовые компьютеры?
Квантовый текстовый редактор, на квантовом электроне, который пишет одновременно код с багами и код без? =)
Иногда любители обратной совместимости и нелюбители пересаживаться вдруг обнаруживают что к их "Волге" перестали делать карбюраторы.
Надо это иметь в виду.
Почему Я могу присоединять и отсоединять вкладки внутри моего браузера или файлового менеджера, но не могу сделать то же самое между 2мя разными приложениями? Не существует ни одной технической причины, почему это было бы невозможно. Окошки приложений всего лишь изображения, но ребята разработчики не добавляют этой фичи, потому что не в приоритете!
Потому что для этого, о ужас, нужны так ненавистные автору слои абстракций. Которые приложение должно поддерживать.
Все хотелки автора требуют этих самых слоев на уровне ОС.
Я не могу приказать своему пк выполнить что-то голосом
Потому что для этого, о ужас, нужны так ненавистные автору слои абстракций. Которые приложение должно поддерживать.
Особо ничего сложного и страшного. И всё уже придумано. ЕМНИП, для Compiz'а был раньше такой плагин, только протух, т.к. особо никому не надо объединять мультик про поней с vim. Ну и автор не стал его поддерживать. Что же он, если ему так надо? А ещё, помнится, в kwin было такое оформление окон, как в BeOS.
Хотя некоторая польза от статьи есть. Иногда таки надо перетряхивать старое и изобретать новое. Только у него примеры какие-то странные, не очень удачные. Просто не осилил нагуглить то, что ему требовалось.
В целом, я согласен с автором по двум пунктам, а именно в том, что современные ОС жуткое легаси и не сильно развиваются и в том, что у нас слишком, слишком много слоев абстракций.
Про абстракции. Все сложно. С одной стороны, действительно, когда я смотрю, сколько ресурсов потребляет то или иное приложение, становится грустно. Зачастую потребление ресурсов увеличилось в сотни раз, но вырос ли в сотни раз функционал и юзабилити? С другой стороны, все понимают, что абстракции необходимы для сокращения сложности разработки. Мало кто пойдет разрабатывать десктоп-приложение на C и чистом WinAPI с его ручным созданием компонентов при помощи CreateWindowEx
. Мало кто будет писать крупное веб-приложение на C и CGI.
Однажды я писал простое веб-приложение на C и CGI. Это был Atmel AT91SAM, 4 (?) Мб флеша, в которые влезло ядро, busybox и libc. libc++ уже нет. И бд в текстовых файлах. Это было… весело.
А еще я заметил, что иногда, вместо того чтобы решать задачу, мы "боремся" с фреймворками, которые по-идее должны нам помогать. Либо я что-то делаю не так, либо…
Про ОС. Какие-то претензии автора весьма странные. Как я перенесу вкладку из фотошопа в браузер, а из браузера в Visual Studio? Какого поведения он ожидает? В целом это желание странных фич. Ничего глобального.
Мне не нравится другое. Практически все современные ОС имеют архитектуру 40-летней давности. Не то, чтобы это как-нибудь влияло на нашу жизнь. В целом, мне концептуально нравятся различные экспериментальные ОС, вроде того же MS Singularity. Вот только это (не конкретно подходы Singularity, а просто что-то иное) невозможно внедрить ни сейчас, ни, я думаю, в обозримом будущем.
Из браузера в msvs можно было бы запилите. в msvs же есть web-браузер
А вот с абстракциями, imho, действительно перебор адовый по большей части. Поскольку новые абстракции часто растут на перегное из старых. В итоге с годами получаем охренительной высоты матрёшку, в которой верхние слои уже даже не помнят, за чем там (и что они вообще есть) нижние. Тот же вынапи элементарно оборачивается минимальным синтаксическим сахаром и без проблем используется. Для совсем ленивых есть возможность работать с диалогами, загружаемыми из ресурсов, где этот сахар уже частично присутствует. Но все любят абстракции…
В итоге с годами получаем охренительной высоты матрёшку, в которой верхние слои уже даже не помнят, за чем там (и что они вообще есть) нижние. Тот же вынапи элементарно оборачивается минимальным синтаксическим сахаром и без проблем используетсяНе одним же вынапи…
Вот задумали вы сделать для себя небольшое приложение, но обязательно кроссплатформенное, просто потому что у вас на компе генту, у жены макбук, а на планшете пусть будет винда-10.
Как же сделать это без невыносимых страданий и без кучи слоёв абстракций?
Ну и пример моей ежедневной рутины: на макбуке запускаю VMWare Horizon Client, чтобы подключиться к корпоративному серверу, в котором эмулируется машина с Windows 7, в котором я через Vagrant запускаю в headless режиме Virtual Box с Ubuntu, в котором у меня крутится контейнер docker, в котором выполняются в интерпретаторе скрипты на PHP, которые через библиотеку webdriver загружают в PhantomJS сайты, которые что-то там делают на JavaScript.
Вот задумали вы сделать для себя небольшое приложение, но обязательно кроссплатформенное
Фишка в том, что мне на самом деле не нужно кроссплатформенное приложение. Мне будет с головой достаточно переносимости кода. Чтобы я раз написал, и потом пересобрал под все три платформы, возможно, с минимальными изменениями. И я прекрасно знаю, что при минимальном и достаточном подходе для этого не нужно городить гипер-сложные уровни абстракций. И различные API в общем, и GUI в частности во всех трех системах вполне приводятся к общему знаменателю одной прослойкой, а не стеком из десяти. Просто… развитие пошло в другую сторону. Кроссплатформенность сейчас во многих случаях — это написать что-то на JS и всунуть в какой-то аналог WebView на целевой платформе. Ну т.е. вся та навороченная система со всеми её API используется просто для запуска браузера. А тот пусть отдувается за всех, с помощью своей тормознутой DOM и скриптового движка.
Практически все современные ОС имеют архитектуру 40-летней давности. Не то, чтобы это как-нибудь влияло на нашу жизнь.
Вот это как раз и влияет. И часто в плохую сторону. Например, безопасность. До сих пор в десктопных системах приложения по умолчанию получают все права пользователя. Да, есть SELinux, есть AppArmor и песочницы, контейнеры. Но много ли где они используются по умолчанию? И они как раз таки навешиваются сбоку на то, что уже существует. Они добавляют запреты для приложений поверх существующей модели, вместо того, чтобы давать разрешения только на то, что действительно надо.
Или скажем, были бы строки в Си не с нулём в конце, а с длиной в начале. Было бы гораздо лучше, меньше эксплуатируемых дыр. До сих пор же всплывают.
Боюсь что все дороги ведут к этой картинке:
Atom — один из самых популярных текстовых редакторов на сегодня.
Среди кого популярен? Как он смог стать популярным, если не мог открывать файлы размеров в два мегабайта?
И между прочим, Windows может всё ещё запускать приложения из 90ых.
Можно подумать, это плохо. Наоборот, пропадание совместимости вынуждает строить костыли. Я тут напоролся на то, что одна программка 92 года на х64 не запускалась. Пришлось виртуалку с 32хбитной виндой поднимать.
Консоль Windows — CMD.exe, позволяющая запускать программы DOS
Чего-чего?
X Windows
X Window
А всё остальное — глас вопиющего. Будет как в том комиксе xkcd про стандарты.
Среди кого популярен? Как он смог стать популярным, если не мог открывать файлы размеров в два мегабайта?
Просто автор статьи им пользуется и считает, что и все остальные тоже)
Среди кого популярен?
Среди мазохистов, разумеется.
Его и правда эдакой заменой саблайма пытались выставить, даже на хабре несколько статей пробегало, но у меня (Core i5, 8 Гб оперативки, на тот момент LMDE) он за минуту даже окошко с пустым документом не смог отобразить. Пробовал несколько версий, на случай если самую свежую случайно сломали.
Я уж лучше по старинке vim продолжу использовать.
Мне оказалось достаточно слов про то, что он «написан с использованием веб-технологий», чтобы даже не пытаться установить.
А я как-то попытался, и даже использую. Не знаю как насчет «самых популярных», но могу сказать, что фраза про мазохистов — вполне правда. Этой штукой можно пользоваться или от безысходности, или от лени поискать другой редактор, или если получаешь неестественное удовольствие от постоянных лагов на любой машине.
По большому счету требуется формальная (математическая) модель декомпозиции ОС на отдельные компоненты. Но математической подготовки современных разработчиков и пользователей не хватает, что бы эту модель создать, реализовать и использовать.
Лучше не надо подключать учёных к инженерным дисциплинам. К дисциплинам, а не решениям инженерных проблем — тут они короли и боги. Но, сцуко, как только требуется реальное решение, то лучше пригласить инженера-программиста, а ещё лучше — слесаря по компьютерам.
А чтобы теггирование работало на уровне веб ресурсов, можно завязать это на использование непопулярного интернет-эксплорера (майкрософт, алё, тут деньги валяются, подбираем) Письменные аннотации они ведь прикрутили.
Хотя недавно нарыл интересную программку tabbles.net — она вроде закрывает этот пробел. Но интеграция в системе работает через плагины, а не нативно, вот в чем дело.
1) Рынок. Если приложение разрабатывается за деньги, никто не будет тратить х10 денег и х10 времени на разработку приложения в нативе гуру программистами, если можно нанять пару студентов (ну условно), сделающих это на фреймворках. Мы живем в эпоху копроэкономики, и с тех пор, как бизнес плотно зашел в компьютеры — эти подходы распространились и в IT. Это самый эффективный способ получения дохода на сегодняшний день, и пока не придумали чего-то лучше — спекулировать о высокой морали и красивом коде бесполезно.
2) Железо перестало развиваться функционально. Конец эпохи пентиума 4 и выход Core поколения был последним значимым этапом развития десктопного железа. Дальше улучшались только видеокарты для игроманов и 3D дизайнеров. С тех пор для среднего пользователя компьютер не улучшается принципиально, а значит и нет смысла апгрейда ни железа, ни софта, который бы не тормозил/был на порядки функциональнее за счет нового железа.
3) С тех пор как компьютеры зашли в бизнес – операционным системам предъявляются совершенно иные требования к сохранению совместимости. Софт, написанный и 10 лет назад ДОЛЖЕН РАБОТАТЬ. Это не мобила, которую можно выкинуть и купить новую на новой платформе и не заметить разницы, так как базовая функция смс и звонков встроена в саму ОС и как работала, так и работает.
4) И тут мы плавно подходим к вопросу: как отвязать софт от ОС? На данный момент выход только один – абстракции и еще раз абстракции. Кто бы что ни говорил, но в текущем положении у МС нет другого выхода – ей необходимо отвязывать новый софт от легаси WinApi и единственный выход – .net фреймворк везде и для всего. Проект Singularity был прекрасен, но слишком преждевременен. Он обязательно зайдет, но только лет через 10-15, когда и весь софт будет на фреймворке, и МС наконец-то сможет прозрачно подменить ОС на новую, просто обновив слой абстракции фреймворка, а весь софт останется рабочим. В историю с эмулятором по аналогии с МакОсью я не верю, у неё было совсем другое положение, доля рынка и почти полное отсутствие корпоративного костыльного софта, который, каким бы хорошим ни был эмулятор, не факт, что работал бы.
Кто бы что ни говорил, но в текущем положении у МС нет другого выхода – ей необходимо отвязывать новый софт от легаси WinApi и единственный выход – .net фреймворк везде и для всего.
Одна только проблема — .NET Framework уже сам во многом, особенно в части BCL/FCL, разработанной на ранних этапах — уже легаси.
Поэтому появление .NET Core неслучайно.
То же самое в Java, только там легаси еще и JVM, т.к., в отличие от CLR, JVM не менялась в угоду совместимости.
ну, первый блин комом )) Фактически, хоть МС и заявляли мультиплатформенность для изначального фреймворка, по факту нигде кроме винды он не работал, банально из-за отсутствия официальной стратегии развития. С core/standard же всё стало по-человечески )) Так что должно зайти надолго, и может быть таки выполнит своё изначальное предназначение. Я очень воодушевился, когда смог запустить один и тот же mvc сайт на всех трех платформах (вин, лин, мак), а после безболезненного перекомпила даже на arm. За этим будущее и возможность начать отход от легаси и привязки к архитектуре железа.
Поэтому Microsoft постепенно ослабляла гайки. Сначала сделала бесплатную MSVS Community для некоммерческих разработок, но она была настолько ограниченной, что даже для учебных проектов я предпочитал крякнутую студию. Затем Comminity стала полнофункциональной — уже лучше. Ну а сейчас MSVS Comminity официальна разрешена даже для коммерческой разработки.
Только оказалось не нужно никому.
Мы живем в эпоху копроэкономики, и с тех пор, как бизнес плотно зашел в компьютеры — эти подходы распространились и в IT.Ну ладно, злобный Лорд Бизнес производит говно. А лично вы как потребитель готовы потратить х10 денег и подождать х10 времени на новую серию вашей любимой игры или на обновление вашего рабочего софта?
Почему Я могу присоединять и отсоединять вкладки внутри моего браузера или файлового менеджера, но не могу сделать то же самое между 2мя разными приложениями?
Такая фишка была в KDE4 — Tabbed Windows,
но она оказалась не сильно востребована и как следствие пока не портирована в plasma 5 (хотя она есть в листе ожидания)
Почему Я не могу положить файл одновременно в два места моей файловой системы?
в linux вполне можно делать hard links
Почему Я не могу отсортировать файлы по тэгу или метаданным?
в том же kde можно
в linux вполне можно делать hard links
И в macOS можно, и в Windows можно. А где нельзя?
Даже не с висты, а ещё раньше. Когда там NTFS появилась? В Win2K?
Но вот большинство форматов файлов по умолчанию теги не содержит, что печально.
Видимо автор предлагает это делать на уровне ФС. Только тогда не понятно, как файлы потом нормально переносить. Получится что-то вроде macOS с .DS_Store (или как он там называется?).
всем срочно выкидывать другие ноутбуки и покупать «как у Вас»
Весь пост – грусть печаль по поводу развития X Windows :)
Я за последние 20 лет заметил, все не-унифицированные решения не имеют поддержки в дальнейшем. Мигания лампочек отличный тому пример. Если он не стандартизирован, он работать не будет. И на мой взгляд это не плохо. Лапочки и многое другое, что не повторяется в дальнейшем и не стандартизируется и не воспроизводится – ужимки и прыжки маркетологов к сожалению.
В вашем примере часы получают уведомления со всей экосистемы apple, подключение к компьютеру избыточно. Я помню массу примеров – обмен файлов по bluetooth, смартфон как флешкарта, встроенная память/аккумулятор, обязательная синхронизация с ПК и тд. Если технология не воспроизводится, она не нужна, для меня это статистика.
AR рынок только начал развиваться, в post-pc все новые технологии появляются в первую очередь на мобильных устройствах, фреймворки для apple/android только вышли. Ну тут и windows с AR не тормозит :-) Вы можете / могли жестами управлять системой последние лет 5-10, все технологии были, но почему-то не стали. :-) Я думаю потому, что это неудобно на данном этапе.
На мой взгляд вопрос управления окошками делится на 2 направления — 1) что удобно всем (и тут лаборатории UX с трекингом глаз и тд 2) максимально возможная настройка под себя. Сейчас и ранее доступны оба варианта.
В любой современной системе вы можете положить файл в 2 места организовав ссылку в файловой системе. Сортировка по тегам и метаданным скорее всего доступна в любых ОС (хз что там с виндоус, теги исчезли со времен windows vista).
Скорее всего для wayland / osx обозначенные проблемы не являются приоритетными, как вы заметили.
cmd заменила по большей части powershell в 2012 или раньше. Подсистема unix была из коробки еще раньше.
Катастрофа, когда я не могу использовать сенсорный дисплей в osx :) Экран и так грязный, а кнопки в плеере нажить пальцем было бы удобно. И все в таком духе. На мой взгляд проблема сенсоров в windows — отсутствие поддержки от вендоров и общая не развитость рынка, но никак не косяк со стороны MS. Если поддержки сенсоров нет, не важно как работа в ОС организована, в osх например никак от слова вообще.
Просто взаимодействие с десктопной ОС на мой взгляд ни для кого не является приоритетом сейчас, от пользователя до разработчика, я в смартфоне времени больше провожу чем за ноутбуком.
Инновации в десктоп отправили на кладбище вместе с десктопом.
Почему Я не могу положить файл одновременно в два места моей файловой системы?
Можете. Почитайте про мягкие и жёсткие ссылки
Ну а в целом — мне кажется направление мыслей автора верным.
Инновации в десктопных операционных системах в общем и целом отправлены на кладбище.
Ну, эм… как насчет, cgroups? Даже в Windows пришлось запилить что-то подобное из-за популярности docker, как я понимаю.
А еще, например, overlayfs.
Вы сейчас скажите, что "ну, это же не для пользователей, оно им ничего не дает", но:
- Зато теперь появляются дистрибутивы, которые используют эти технологии для того, что бы разделать рабочие пространства с точки зрения безопасности в том числе.
- Такие штуки могут помочь выкинуть legacy шлак, который можно будет просто оборачивать в эти настройки.
Почему Я могу присоединять и отсоединять вкладки внутри моего браузера или файлового менеджера, но не могу сделать то же самое между 2мя разными приложениями?
Существует. И она называется "неоднозначность". По факту, вообще не понятно, как это должно работать кроме пары частных случаев, например, из Photoshop в какую-то программу для печати.
Почему Я не могу положить файл одновременно в два места моей файловой системы? Почему она обязана быть иерархичной? Почему Я не могу отсортировать файлы по тэгу или метаданным? Файловые системы с принципами баз данных существуют десятилетиями.
Можете. Есть куча штук, в том числе и при помощи fuse.
В любом веб-приложении можно менять масштаб. Достаточно нажать Ctrl + и текст станет больше. Всё внутри окна автоматически адаптируется к масштабу. Почему этого не умеют нативные приложения? Почему Я не могу иметь на экране две области разных размером для окон? Или даже масштабировать их автоматически, когда перемещаюсь между окнами? Все эти вещи просты до безобразия с композитным оконным менеджером, которые были банальностью на протяжении десятилетия.
Потому что они будут выглядеть как куски шлака, ведь 90% не умеют даже нормально растягиватся. Зачем эта фича, если ей никто не будет пользоватся?
У моего компьютера есть мышь, клавиатура, датчики наклона, датчики света, 2 камеры, 3 микрофона и масса bluetooth-аксессуаров, но только первые 2 используются как основные устройства ввода. Почему Я не могу приказать своему пк выполнить что-то голосом или жестами?
Можете. Cortana есть, например. Siri и даже под Linux есть куча поделок.
Почему мой компьютер не следит за моими глазами, чтобы увидеть, что Я читаю или просканирует что у меня в руках, чтобы использовать эти крутые AR-технологии, которые пришли в мой телефон. Некоторая функциональность существует в изолированных приложениях, но она не распространяется на всю систему и она не программируема.
Потому что это не понравится куча людей? Для таких технологий вам нужны или мощностя, который на вашем ноуте может и не быть, или что бы это все отправлялось на сервера злых корпораций. Что делать, если большинсту не нравится не один вариант?
Почему компьютер не использует ничего для вывода кроме дисплея? Мой новый Razer-ноутбук имеет RGB-подсветку под каждой клавишей и единственная их функциональность — переливание цветными волнами! Как насчёт использовать эти LED для чего-то реально полезного?
Потому что это есть у 1% рынка? Кто будет под такое разрабатывать?
Как по мне, представленная статья — таки нытьё. Основная проблема современного десктопа — ОС представляет собой не набор компонентов, которые можно изолировать, раздавать им права и управлять связями и зависимостями, а огромный, простите, сельский сортир, в любое место которого может нагадить любой процесс. Утрирую конечно. Я, кстати, не понимаю, почему сэндбоксинг всех приложений, включая создание для каждого CoW виртуального окружения, не вкручен прямо в ОС. Это позволило бы, к примеру, запускать древнючий легаси без толстенной абстракции виртуальной машины — просто подсунув в процесс слой легаси-библиотек.
Тут дело даже не в буфере обмена и не в снятии скриншотов.
Начиная с банального Notepad++, которым кто-то привык редактировать
C:\Windows\System32\drivers\etc\hosts
, до программ, которые хотят влезть в адресное пространство каждого процесса (Punto Switcher, TortoiseGit).А есть ещё софт, написанный студентами на коленке, представленный как набор exe-файлов, которые вместе выполняют общую задачу. Конечно, можно их запихать в одну песочницу, но кто это будет настраивать? Юзер просто скажет: ой, мой привычный софт не работает в Windows 12, не буду её ставить.
Остаётся, правда, вопрос нормального расшаривания между песочницами каталогов с юзерскими файлами. Тут уже немного сложнее будет.
Софтины вроде VC, которые свои куски рассеивают тонким слоем по всему диску
Должны умереть (нет, я люблю VS). Я как-то думал о проблеме песочницы, dependency-hell и софта, который лезет куда не надо.
Если очень кратко, идея такова:
- Любой софт устанавливается в целиком в одну свою папку (по-умолчанию или куда укажет пользователь), не растееаясь по Common Files, AppData или же bin, vsr, etc и пр.
- Каждый софт имеет манифест об экспортииуемых возможностях (напр. библиотека) и зависимостях.
- ОС ведет реестр софта, кто где и кому что надо. При удалении/перемещении и повторном запуске ссылки обновляются
- На основе реестра ОС удовлетворяет зависимости (с точности до версии, не меньше и пр) софта
Разве mac не устанавливает софт как unix по куче каталогов? Хотя мой опыт с маком скромен.
но большой софт как только не ставится… (а потом еще и не всегда вычищается при удалении полностью)
Всегда думал, что этот /Applications некий виртуальный каталог и хранит вроде ярлыков. А если приложение из нескольких ресурсов, библиотек, исполняемых файлов, т.е больше одного?
а потом еще и не всегда вычищается при удалении полностью
Вот это самое главное, что раздражает. От этого и плясал — все ресурсы приложения в одной папке и достаточно удалить ее. Потом ОС просто не при обращении не увидит файлов и удалит соответствующие записи из реестра.
вообще там забавно, «приложение» — это на самом деле папка с кучей всего. реально запускаемый бинарник — это Somename.app/Contents/MacOS/somename
а ресурсы идут в других подкаталогах рядом, там вообще стандартный подход «всё свое ношу с собой»
(кстати, есть даже покусанный таким образом дистрибутив — GoboLinux. )
===
лечение есть — пакетный манагер с зависимостями, но это снижает удобство работы и хороший вопрос что делать с 3rd party/без репозиториев.
В остальном да, тоже думаю об этом каждый раз, как приходится вычищать очередную софтину. По возможности же использую портабл версии программ, которые как раз и не требуют установки. Весьма удобно так же, когда систему переустановил, а софт весь на месте и уже настроен.
Начиная с банального Notepad++, которым кто-то привык редактировать C:\Windows\System32\drivers\etc\hosts
Я гений, пыщ-пыщ-пыщ! Ещё в 11 году придумал как решить проблему.
Надо просто диалог открытия/сохранения вынести из приложения и песочницы:
habrahabr.ru/post/113143
Только я так ничего и не накодил. :-p
Он просто передаёт приложению путь к выбранному файлу, а приложение уже делает с ним, что нужно.
developer.apple.com/library/content/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html (раздел Enabling User-Selected File Access).
Затем open-save-dialog разрешает доступ к файлу. Т.е. файл монтируется внутрь песочницы, если Word запущен в LXCНеплохая идея ))
Другое дело, что это окно запросто может оказаться уродливым, неудобным и не позволит добавлять какие-то нужные фичи вроде хитрых фильтров, дополнительных настроек открытия/сохранения или панельки предпросмотра.
TL;DR: В этой статье Я хочу показать что: ...
Минус переводчику за местоимение "я" с большой буквы. Даже Google Translate переводит с маленькой.
Кроме того. При загрузке с USB была ошибка, которая вешала всю систему. Через отладочный вывод нашел проблемное место, но из-за недостатка знаний протокола USB полностью не исправил. Добился только, чтобы грузилось когда диск вставлен. Лабу сдал, ну и ладно.
(риторический вопрос, пожалуй, пропущу :))
Этим пользуются, например, Internet Explorer, для отметки откуда скачан файл (потом при запуске загруженного exe появляется предупреждение). А также DC++ клиенты хранят там Merkle Tree, чтобы не перехешировать весь файл при переносе в другое место. Антивирусы тоже что-то пишут.
Эту проблему можно считать решенной. Сначала MacOS, потом и Windows в файловой системе позволяют дописывать к файлу любые альтернативные именованные потоки данных.
Только макось когда не может записать эти данные начинает гадить всякими левыми файлами вида ._*
Желание сохранять метаинформацию в самих файлах понятно, и конечно, как было сказано, полно файловых форматов, предполагающих сохранение такой информации. Но вот ведь в чем вопрос, получается, что файлы не предполагающие сохранение такой информации, такую информацию не сохраняют (простите за тавталогию).
К сожалению, смею предположить, что таких файловых форматов сейчас все же наверное большинство.
— Вот формат файла, в котором нет тегов и метаинформации вообще.
— А вот, в котором нет тегов, но есть информация об авторе
— А здесь есть и настраиваемые теги и автор.
— А тут, есть теги и год издания, но нет автора.
— и т.д.
Итого у нас 1001 формат файлов, и у каждого своя уникальная структура хранения метаинформации, и не везде она совместима для удобной фильтрации и сортировки.
Т.е. как не реализуй, но все равно придет такой себе Josh Marinacci и скажет: «Что это за фигня, мне это не удобно, Ideal OS должна быть совсем не такой»
А если мне нужно добавить тег к txt файлу на 10 байт, при этом чтобы я не видел этот тег, открыв его редактором?
Если создатели\мейнтейнеры формата не удосужились добавить такую функцию (BMP отличный тому пример), то можно записать теги либо в alternate file stream (который наверняка куда-нибудь протеряется при перемещении), либо с помощью стороннего софта (с отдельным файлом БД и всеми вытекающими)
ОС здесь ни в чем не виновата и ничего не может сделать, пока существуют разные ФС. ФС ни в чем не виноваты… И так далее.
Что касается txt — винды под рукой нет для проверки, поэтому как именно пишутся теги в него я не уверен.
Точно не знаю, как именно работает сейчас встроенный теггер винды (особенно с учетом того, что принцип его работы несколько раз менялся), но удалить записанные им теги можно без особых трудностей в тех же свойствах файла. Хотя он прекрасно справляется и с выпиливанием XMP\EXIF из тех же JPeGов, так что там все сложно.
sudo updatedb
locate -Ai word1 word2
В windows алог примерно такой: запускаем cmd от админа, создаём индекс в корне
cd \
dir /s /b > files.txt
и потом ищем по ключевым словам
type files.txt | findstr /i word1 | findstr /i word2 | findstr /i word3
Что характерно такой наивный способ на несколько порядков быстрее и эффективнее штатного поиска встроенного в windows.
Cлегка более продвинутый вариант отличается тем что упаковывает 7zip-ом список файлов и поиск записывается короче
create-files
where word1 word2 word3 word4
Ой, только не говорите мне, что я, как пользователь, обязан помнить все теги, что я присваивал файлам 2 года назад.
Они при импорте во-первых создают список тегов, так что будут видны и «фотки» и «фотографии», во-вторых разбивают по датам\годам. И все нужные им данные хранятся в самих файлах изображений, так что никуда не денутся при перемещениях и сжатиях.
А в Lightroom есть еще и alias, то есть к тегу «фотки» можно привязать те же «фотографии» и внутри программы все фотографии будут находиться по нужному запросу.
Что касается встроенных в Windows средств… Хохмы ради, можно записать в JPeG-овский EXIF пару тегов и сгруппировать по тегам в проводнике. Даже не знаю, что получится. Но теоретически все возможные группы тегов должны отобразиться.
— Во первых, не однозначность использования слов для самих тегов. В 2014 году я помечал фотографии словом «фото», потом «фотки», потом «фотографии» потом еще как-то. В свою очередь год можно пометить как «2000», «2000г», «2000 г.» и т.д. Можно сказать, что это пользователь виноват. Да, это так, вот только проблема, пользователь не обязан ни только быть аккуратным, он вообще не обязан даже теги расставлять.
Кстати — это хорошо демонстрируют различные сайты, на которых контент создается пользователями.
— Во вторых, теги имеют свойство плодиться. К примеру Вася, был в Египте 10 раз, 2 раза в 2000 году, два рада с 5-ю друзьями, один — с 10-ю, в остальные разы с 1 — 3-мя друзьями. Друзья в его поездках пересекаются, у некоторых друзей одинаковые имена. И т.д.
В результате в начале он даст фоткам теги Египет, потом начнет добавлять тег года, потом ему может понадобиться указать имена друзей, далее, из-за того, что имена могут пересекаться — еще и фамилии. И так далее. А еще он может не только в Египет ездит. А некоторые теги — дублируются, как в п.1 и т.д. Как думаешь, сколько пользователей начнут этим заморачиваться? По мне, так хорошо, если 10-15%. А большинство и одного тега не дадут.
Во первых, не однозначность использования слов для самих тегов
Ну это как раз решается их списком справа. Там будут и «фотки» (234), и «фотографии» (23), и «фото» (888). Там же при желании можно двумя кликами убрать «фотки» и «фотографии», а вместо них проставить на все эти файлы тег «фото». Ну это в случае с Lightroom. А после этого одинаковые теги можно пользовать хоть в Проводнике.
Во вторых, теги имеют свойство плодиться.
Отчасти решается программами с распознаванием лиц. Хотя лично я бы просто тегал только родственников и лучших друзей, а то и вовсе никого — и так по первым 5 фото поймешь, кто был, а кого не было. Тег года в 90% уже забит в фотографию устройством, которое ее делало, но в целом сразу при импорте поставить год не сложно.
Теги действительно нужны не всем, но у меня вот есть 20000+ файлов и у каждого по 15+ тегов. Опуская ответ на вопрос «как такое вообще произошло?» — это просто невозможно каталогизировать по папкам или симлинками. Теги спасли, можно сказать.
Проблема в том, что теговая файловая система, когда теги будет лепить пользователь — не удобна.
Она удобна, когда теги собираются автоматически, когда они берутся откуда-то. Но когда пользователь должен их сам расставлять — вот тут становится это все бесполезно.
Ведь именно пользователи прописывают теги для мп3 файлов.
Нет. Я как пользователь — скачиваю все на готово. Кто прописывает — да хоть господь, но самому мне будет лень.
Зачем мне эти три тега? Они ничем не лучше папки вида 2017/Египет, потому что я вряд ли 2 раза буду в 2017 году ехать в Египет.
Если буду, то можно поставить Египет-август и Египет-апрель, например.
Я ничего не вырывал, я вот честно спросил вас про фотографии. В моем представлении, реально тащит только автоматическое теггирование как у Google Photos. Очень мало людей будут лепить к каждой фоточке по 40+ тегов, потому что вдруг это им будет нужно.
А вот эти три тега "год", "место", "что именно" ничем не лучше иерархической структуры, по факту.
Это я все к тому, что по факту, очень малому количеству людей на самом деле нужно теггирование всего. А для теггирования музыки или книг есть уже нормальные приложения.
Зачем такой функционал в OS?
Вопрос ведь как раз в том, что поддерживать иерархическую структуру пользователям часто лень. И интерфейс, который бы в пару кликов мышки мог бы структурировать за пользователя — очень бы им помог. И по факту окажется, что как файлы храниться будут реально — и системе, и пользователю вообще пофигу.
Им будет так же лень писать теги к папке, а потом они будут ее терять. Я откровенно не понимаю, в чем проблема положить фоточки в папку год/событие, у многих моих знакомых получается.
Вопрос лишь в удобстве взаимодействия с пользователем. Вы давно в мобильных девайсах всякими галереями пользовались? Там, где фотки по датам раскиданы да из разных папок собраны? Пользователь их не ищет сам — ему все на блюдечке преподнесли.
И что мешает вам так же сделать на десктопе? Есть приложения для этого.
Вот, например, моя двоюродная бабушка бекапит свои фотки в облако и не знает об этом. Ибо у нее стоит яндекс.диск, который делает это для нее самостоятельно с минимум вмешательства. А благодаря тому, что они встроились в интерфейс ОС — ей даже не пришлось привыкать особо.
Она это делает только потому, что это делается автоматически. Я не совсем понимаю, как автоматичность можно назвать "встраиванием в интерфейс OC"? Это просто программа, которая бекапит папку время от времени, пользователь о ней может даже не знать. Где тут встраивание то?
Дайте угадаю, вы ей не пользовались?
Вроде пользовался, но мог что-то упустить. Из всего, что там было, это зеленые значки. Я что-то еще пропустил?
Что бы понять зачем ответьте на комментарий habrahabr.ru/post/337010/?reply_to=10397180#comment_10396692 как это реализовать в иерархической структуре.
Я вроде ответил. И это при том, что теговая структура вам тут тоже не поможет, так как вы не будете 100500 тегов к каждому файлу проставлять, скорее всего.
То есть тот, кто грабит свои аудиодиски, чтоб потом их слушать или выложить — не пользователи, а Боги?
По моим наблюдениям — да, некоторые пользователи считают таких чуть-ли не богами. Самим сделать — лень. По этому по выходу тунца многие мои друзья обрадовались — он навел порядок за них.
Или если скачаете единственную версию с корявыми тегами — вы не поправите, зная как это легко сделать в пару щелчков?
Мне — нет, но я слишком часто чиню ноутбуки и компы. У вас много знакомых правит теги?
Или, кто сохраняет свои фотки по папочкам типа «август 2017, египет, отпуск» — тоже Боги, раз поставили по сути аж три тега в наименовании папки?
А вы не видели никогда у людей папки "DCIM", "копия DCIM", "новая папка(1) копия (5)"? Люди вообще ленивы на уборку, даже к своим личным вещам.
Главная проблема — в том, что нет простых инструментов в любой ОС и люди не знают, как это делать (и что это вообще возможно). Что решаемо.
Надмозг подарил людям иерархическую систему хранения, в которую можно утрамбовать все что угодно, люди сказали "лень".
Проблема в том, что я тоже пробовал перейти на теговую файловую систему и в целом это круто.
Пока не понимаешь, что за этим нужно куда более жестко следить, чем за иерархической, ведь автоматически теги не проставляются.
Если бы кто-то придумал способ проставлять автоматические теги, то я бы вот сразу взял бы и перешел. Но пока приходится страдать, так как переход на теговую файловую структуру требует гораздо большего самоконтроля.
Например, есть вот эта штука, как сама идея она выглядит отлично. Но проблема в том, что у меня слишком много файлов, что бы ее использовать.
Я даже calibre немного забросил, у меня там сотни книг просто заброшенные пачкой которые там лежат под общими тегами.
Более того, у меня есть папки для "книг, которые нужно посортировать", потому что просто так в calibre книги не запихнешь, потеряешь потом.
У меня есть папка
D:\Programming_Projects
D:\Programming_Projects_ARCHIVE
D:\Programming_Projects_ARCHIVE_STUDY
D:\Programming_Projects_ARCHIVE_WEB
Куда класть семестровую на Ruby?
А еще есть папки
D:\GoogleDrive_STUDY\x_semestr
И там лабы, и они тоже программирование.
Желание все упорядочить и невозможность сделать как я хочу сильно раздражает. Да, я очень люблю чертов порядок (но не у себя дома, лол).
Хотел написать свой велосипед на каналах ntfs, но невозможность нормально переносить обламывает.
Хотел написать свой велосипед на каналах ntfs, но невозможность нормально переносить обламывает.
С таким велосипедом можно написать службу или еще какой костыль, который будет следить за деятельностью велосипеда и резервировать что-то вроде
md5_файла:теги
, а потом записывать теги обратно по запросу, благо md5 должен сохраниться. Либо, если не смущает куча файлов, можно заставить велосипед читать\писать данные в sidecar-файлы плэйнтекстом и хранить пары файл.txt:файл:txt.tag
Можно просто разделить свои проекты и лабы и сделать как-то так для них:
Обучение/Технические предметы/<Название предмета>/Практические задания/<Название лабы в духе "Лаба номер 666>
Я для таких целей используются музыкальные плееры, которые еще умеют и проигрывать музыку, и из интернета инфу про нее скачивать.
Я понимаю зачем такое для книг, для музыки или для фильмов. Но для всей файловой системы никто не будет сидеть и теггировать.
Может квантовые компьютеры дозреют, может ИИ пойдет «в люди».
Но без такой внутренне обусловленной мотивации рынок не почешется на кардинальные изменения. Это просто невыгодно, а, значит, экономически невозможно.
Ого…
Это целых два Javascript-движка входящие в состав одной программы
Два? Вы уверены? Если да, это было бы очень интересно. Можно какие-нибудь подтверждения? Выходит, что из кода на js, который отвечает за интерфейс, нельзя напрямую вызвать функцию node.js, потому что эти два кода работают на двух разных движках, так что ли?
На другом разделе ArchLinux там на загрузку и проверку личной почты трачу минуты 2.
Многие из перечисленных минусов относятся не к ОС, а к разработчикам конкретного ПО. Ниже про Windows.
Почему Я могу присоединять и отсоединять вкладки внутри моего браузера или файлового менеджера, но не могу сделать то же самое между 2мя разными приложениями?
Есть механизм Drag and Drop. Если разработчики конкретного приложения не добавили поддержку, то при чем здесь ОС? Я могу запустить два процесса Firefox и перетащить вкладку из одного в другой.
Почему Я не могу положить файл одновременно в два места моей файловой системы? Почему она обязана быть иерархичной? Почему Я не могу отсортировать файлы по тэгу или метаданным?
В NTFS есть жесткие ссылки. Explorer из коробки поддерживает сортировку по многим внутренним файловым атрибутам (теги mp3, exif и пр.). Более того, разработчики могут добавлять свои атрибуты (Windows Property System).
Или другой пример. Atom — один из самых популярных текстовых редакторов на сегодня. Разработчики обожают его потому что к нему есть огромное количество плагинов, но давайте разберёмся каким образом он работает. Atom использует Electron
Так всем итак понятно, что это кусок говна, есть прекрасный Qt, который не тормозит и вообще великолепен.
И всё же написание нового email-клиента является весьма сложной задачей. А если вы хотите модифицировать ваш email-клиент или уже существующий (например, Mail.app стандартный клиент для компьютеров Apple) — не существует простого способа сделать это. Отсутствует система плагинов. Отсутствует API для расширения функциональности
Во первых плагины не всегда нужны, а во вторых это частный случай, есть куча расширяемых программ
На дворе 2017 год. Давайте рассмотрим вещи, которые должны существовать, но которые отсутствуют по некоторым причинам.
Почему Я могу присоединять и отсоединять вкладки внутри моего браузера или файлового менеджера, но не могу сделать то же самое между 2мя разными приложениями? Не существует ни одной технической причины, почему это было бы невозможно. Окошки приложений всего лишь изображения, но ребята разработчики не добавляют этой фичи, потому что не в приоритете!
Может потому что это не такая уж и полезная фича? А если она нужна лично вам, найдите подходящий DE для linux'а.
Почему Я не могу положить файл одновременно в два места моей файловой системы?
Ну вообще есть симлинки и ярлыки.
Почему Я не могу отсортировать файлы по тэгу или метаданным?
О каком файловом менеджере речь? Их тыщи и наверняка есть такой, какой понравится именно вам.
Почему Я не могу приказать своему пк выполнить что-то голосом или жестами?
Потому что это оказалось неудобно, было много попыток это сделать(и в той же винде), но большинству это не очень то и надо. Но, опять же, есть специфический софт, который вы можете поставить и использовать, если вам это так нужно.
Ожидал чего-то интересного, идею принципиально новой ОС(нет, не bolgenos), а получил кучу субъективщины про GUI.
Чтобы получить 3д ускорение для Doom, что было тривиальным делом для Microsoft Windows в середине 90ых, требуются невероятные усилия для X windows в наше время.
Простите, что? Какое 3D ускорение в Doom в середине 90х (я правильно же понимаю, что речь про аппаратное ускорение)??? Более того, какие проблемы с 3D сейчас в иксах? Даже на всяких дистрибутивах, типа Crux, Gentoo или ArchLinux, главное просто поставить драйвера. Или автор пытался побороть бинарный блоб nVidia на AlpineLinux?
но как насчёт системного буфера обмена, в котором нельзя хранить более одного элемента за раз?
А давайте не будем говорить за всех? Лично мне это никогда не мешало: меньше сложность — меньше вероятность запутаться или оставить в буффере что-то, что не хотелось бы там долго хранить. Я бы лучше добавил возможность настройки сброса содержимого буфера, по истечению какого-то промежутка времени. Но в текущей реализации это можно сделать при помощи примитивной внешней утилиты или скрипта (привет xclip
!).
Почему Я не могу положить файл одновременно в два места моей файловой системы?
Hardlink? Даже на NTFS. Хотя да, не все средства визуального представления из коробки предоставляют интерфейсы к подобной функциональности. Но это скорее эволюционная проблема, чем революционная.
А вообще, автор начал:
"Современные" десктопные операционные системы раздуты
а потом набрасывает тонну свистоперделок, которые, как ему кажется, нужны ВСЕМ, а не только ему или его кругу общения.
soft и hard-link'и
>Почему Я не могу отсортировать файлы по тэгу или метаданным?
А я — могу. Как минимум по тегу. macOS Finder такое умеет именно тегам а не метаданным файла (но можно использовать Spotlight, он учитывает и метаданные тоже и кстати вполне расширяем — можно написать например расширение для epub. Так что скорее тут вопрос удобного интерфейса )
>Почему Я не могу приказать своему пк выполнить что-то голосом или жестами?
голос: Siri или очень очень старый Dragon Dictate для Windows
Системный буфер обмена в котором более одного объекта? А ЗАЧЕМ? Вот разные представления одного и того же объекта (текст-rtf, html-документ, картинка) это полезно. Но в macOS такая возможность есть и используется.
Кстати а что такое X Windows? Оконная систему *nix-систем это X Window System
Насчет того что Apple занимается только vendor lock-in… да, занимается. Благодаря этому имеем например реально работающие приложения с Handoff (можно 'перенести' открытое приложение с iOS на macOS или между девайсами), если авторы приложения подумали немного. Continnum у MS вроде как тоже самое делать должен только вот реально хоть кто-то — поддерживает? Или имеем iCloud и iCloud Drive — интегрированный 'в ОС' сетевой диск, с поддержкой синхронизации (в том числе выборочной, когда файл может быть в сети а не локально) + разрешение конфликтов (да, приложения опять должны нормально это все поддерживать, особенно разрешение конфликтов). У MS — OneDrive вроде как OneDrive опять научили что не надо все локально синхронизировать но что с API для разрешения конфликтов?
А вот эта фраза сразила наповал: «Долгое время Atom был не способен открывать файлы больше 2 мегабайт». Причем тут процессор и недописанное ПО? Если все запускать тупо рассчитывая на какую-то мифическую оптимизацию, которая реализована до вас, то ничего работать и не будет.
Очень много оперативки жрут современные браузеры. Простенький сайт с минимумом JS, но кучей графики (jpg/png/gif) в Chrome отжирает под гиг оперативки, но в томже IE6 — Только 80мб (Opera 12 — 100mb). Сайт и там и там отображается почти одинаково и работает одинаково шустро… Хотя в Opera он даже поживее (субъективно). Что это? Кеш? Или лень разработчиков?
Тоже касается новомодных Metro-приложений, работающих на NetFramework (Кстати, глючат такие прогрммы просто дико. У меня уже 2 компа, где по непонятным причинам перестал работать пуск, параметры и прочее, что использует .net и xaml. Хотя старые параметры открываются без проблем (control), как и прочий «Старый» (Нативный?) софт.
А сносить — ой, как не хочется (Много чего надо копировать/восстанавливать/перенастраивать).
Зато есть софт почти на любой случай «Изкаробки».
Ничего не путаете, это в windows-то софт из коробки? Посмотрите что ставится/можно выбрать при установке популярных дистрибутивов линукса.
И адекватно пользоваться компьютером, чтобы он действительно решал мои задачи. А не я придумывал раз за разом очередные костыли, чтобы компьютер работал хоть как-то не слишком плохо. И это серьёзная проблема, потому что на постоянный секс с операционной системой уходит слишком много полезного времени, которое хотелось бы использовать с пользой.
Тренд на мобильные ОС ужасен. Работать на андроиде или айфоне чрезвычайно неудобно. А интерфейсы становятся чрезмерно юзер-френдли. Без полноценных API с доступом из CLI, где можно легко и быстро достать что-нибудь нужное. Упрощение в очень плохую сторону. И лично мне наиболее удобны тайловые менеджеры, которые так же остановили своё развитие и недоработаны много в чём. Но это интерфейс, с ним ещё как-то можно смириться.
На мой взгляд сейчас основная проблема операционных систем в том, что они перестали быть в первую очередь моей операционной системой. А стали операционной системой Apple, Microsoft, Google. Или игрушкой тех же майнтейнеров в Gentoo. Т.е она теперь выполняет не мои задачи, а задачи того же Microsoft или Google. Сбор информации. Отслеживание действий. Реклама.
Операционные системы перестали быть безопасны. Начиная от сбора информации. Заканчивая не всегда понятной системой прав доступа по нужным приложениям. В частности вирусы. Или шифрование вирусами. Когда приходится придумывать очередные костыли. Например нельзя делать бэкап с машины на сервер бэкапа. А бэкап должен забираться сервером бэкапа с целевой машины. Иначе он может оказаться зашифрованным.
Тоже самое относится к прочим правам доступа. А всё ли я действительно запретил на моей машине, чтобы её не взломали. И где всё это «всё» вообще находится в моей ОС. И ничего ли я не забыл. Это катастрофа.
Стоит поставить тот же скайп, и он уже находится и мешает работе моей операционной системы. Поэтому дошло до полного абсурда. Каждое приложение стоит в отдельной виртуальной машине и жрёт немерянно ресурсов. И уследить за всем невозможно. Но я не имею права ставить приложения напрямую в ОС. Потому что это угроза безопасности. И может обернуться тем же крахом бизнеса.
Обновить многое так же слишком сложно. Может выйти новая версия того же perl или python и приложение уже перестаёт работать. В то время как другому приложению нужна другая, более старая версия. И полноценной системы слотов так до сих пор и не сделано. Из-за всех этих проблем компьютеры уже и так слишком мощные. Мне было бы гораздо проще иметь абсолютно все версии того же python распределённые по слотам, и чтобы программа обращалась напрямую в нужный слот. Это будет требовать гораздо меньше ресурсов, чем ставить очередную виртуальную машину.
Есть конечно альтернативные решения, вроде того же Docker или контейнеров. Но к ним есть доступ изнутри, что так же может быть угрозой безопасности. Да и каждая новая подобная технология требует времени на своё изучение. Где-то меньше. Где-то больше. Но меня за долгое время в IT уже конкретно задолбало изучать раз за разом новые инструменты, которые станут бесполезными в ближайшее время, в периоде несколько лет.
У меня теперь дома полноценная серверная, чтобы распределить всю существующую ересь по виртуальным машинам из очень многих компов. Потому что по безопасности я не имею права ставить приложения в свою операционную систему, которая выполняет всё что угодно, кроме решения моих задач.
Поэтому поднимать эту тему надо. Чтобы хотя бы иногда об этом задумываться. Поддержка всего это старого legacy превратилась в очень сложную задачу. Это всё равно что есть комната малых размеров, которая битком завалена мусором и места в ней жить человеку уже не осталось. А больше негде. Всё это давно необходимо вычищать под корень и строить с полного нуля, проработав ошибки архитектуры.
К сожалению. Это невозможно по причине существования Google, Microsoft, Apple и мейнтейнеров Linux, которые выполняют свои бизнес-задачи.
21 век — информационный. Тот кто обрабатывает грамотно информацией. Владеет миром. На текущий момент я понимаю, что почти полностью потерял контроль над компьютерами, и в отдалённом будущем потеряю контроль вовсе и к моим данным будут иметь доступ все кому не лень.
А то что интерфейсами стало пользоваться намного сложнее и зачастую доступ в действительно важные места либо отключён, либо его попросту не продумано — это конечно большая проблема. Но ещё не критическая. Это всего лишь неудобства.
Ideal OS: перезагрузка десктопных операционных систем (часть 1)