Pull to refresh

Comments 42

Tragedy of the Commons - это не "трагедия общин" здесь.

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

Нет, эта ошибка есть и в оригинале. Просто автор употребил всуе занятый термин. Я тоже прицепился к этому месту, ожидая в этом разделе разъяснение того, как именно возникает феномен трагедии общин. Например так: в основном «пипл хавает», так что каждому производителю в отдельности экономически невыгодно улучшать качество, а та часть пользователей, которая «не хавает», не может существенно повлиять на рынок; в результате возникает петля положительной обратной связи, из-за которой всем становится хуже.

Есть еще забавный пассаж насчет того, что веб находится в собственном классе (и в оригинале так же). Узнаю брата математика! На этот раз термин употреблен более-менее корректно, хотя читатель ничего не потеряет, если не распознает отсылку.

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

Соответственно буквально "трагедия общин".

Но сам по себе термин трагедия общин является плохим переводом ровно в контексте того примера с полем. Речь не о деревне, речь о поле, общем ресурсе.

Конечно, здесь идет речь именно об этом понятии. Забавно, но мы в своих комментариях оба дописываем текст за автора, добавляя пояснение, почему употребление термина «tragedy of the commons» уместно — как обнаруживается это явление в ситуации, описываемой в статье.

Что касается перевода, то я воспринимаю «трагедию общин» как исторический, пусть не совсем точный, термин, описывающий понятие из теории игр. В википедии, кстати, используются оба варианта, просто «трагедия общих ресурсов» выбрана в качестве основного.

Однако Microsoft Teams требуется 3 секунды, чтобы открыть ссылку, и я отказываюсь верить, что для открытия ссылки требуется 9,6 МИЛЛИАРДА тактов.

И не надо. MS Teams послала запрос в сеть, и пока ей доставят ответ - сидит и курит бамбук. А такты тикают...

MS Teams послала запрос в сеть

MS Teams послала запрос системы аналитики о том, что приложение запустили, в сеть и ждёт.

MS Teams послала запрос в сеть, и пока ей доставят ответ - сидит и курит бамбук

^^THIS. Порочность aaS-ов

Да, виноват не конкретный фреймворк или технология, а системное, ради денег, «починяние того, что не сломано». Если строитель пытается через два года сжечь мой дом, чтобы впарить мне новый — я, вероятно, буду пытаться догнать его с дедушкиными вилами в руках, а не смирюсь с ситуацией.

В айти почему-то сложилась противоположная картина, видимо, слишком быстро взлетели от землянок до небоскрёбов и не уловили тот момент, когда естественную смену подменили на искусственную.

И это, опять же, не какие-то маркетологи — поветрие общее. Совсем недавно была статья на тему злых менеджеров, чинящих то, что не сломано — и посреди этой статьи наезд на Си с его страшлыми ужаслыми UB (автор явно не застал Си от слова «совсем», возможно, в силу юности или из-за раннего попадания в дурную среду). Я это даже словами не смог прокомментировать — просто прицепил известный мем, слова тут бессильны. Автору надо сказать большое спасибо, кстати! Хорошо продемонстрировал (на себе), как это бывает.

Спасибо за наводку на Zed. Надо действительно попробовать. Быстрота - это всегда приятно. В свою очередь могу поделиться наводкой на очень удобный и быстрый кросс-платформенный терминал-клиент WindTerm. Мне он понравился гораздо больше, чем остальные, включая iTerm2, Termius, Hyper и прочие.

Пару месяцев назад он ещё был сыроват. Я так понимаю он сейчас в чем-то типа альфы. Сниппеты у меня не взлетели и баговался, когда пытаешься новый файл открыть из проводника, когда Zed уже запущен. Очень жду, когда чуть созреет, производительность реально впечатляет

Шило на мыло. Когда у тебя на компе работают современные игры, но не работает текстовый редактор(???) - это не то, что можно ожидать. ZED требует Вулкан (зачем он текстовому редактору?), с которым есть некоторые сложности на не самых свежих видеокартах.

Вулкан (зачем он текстовому редактору?)

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

Впрочем, Zed можно запустить на OpenGL, хотя пока что глючит

Эммм... Смысл АПИ в универсальности. И с каких пор оно устарело?

Ну так без вуклана оно и работает на програмном, на сколько я понял. Где-то 3фпс.

Текстовый редактор должен работать с текстом, а не заменять собой Adobe After Effects. Есть прекрасные и очень быстрые редакторы не требующие разогнанных 4060 для своей работы, Как-то справляются.

Внезапно, старые виндовые API не очень-то отзывчиво ведут себя при 4K. Может MS в последнее время под капотом что-то да переписывали, но сближения с "большими" графическими API будет не избежать.

И по этому у меня на линуксе на gtx1060 в HD пустой текстовый редактор работает с 3 фпс. Мы точно туда свернули? Напоминает времена DOS, когда каждый таскал с собой дрова под всё железо и полностью реализовывал вообще всё, зачастую включая функции BIOS. Сначала все забили на единый интерфейс ОС, раскрашивая окошки под хохлому, тепер забили и на вообще всю отрисовку. Т.е. у нас теперь есть самодостаточный текстовый редактор и ОС только для телеметрии. Отличный план.

ЗЫ: У меня нет 4к, но сильно сомневаюсь, что там проблема в нём.

1060 вполне поддерживает Vulkan 1.3, что намекает на то, что у вас каким-то образом сломана система (устаревшие драйвера или типа того), скажите спасибо что редактор вообще запустился на сломанной системе 🙃

Устаревшие драйвера - это таки не сломанная система. Но да, немного устарели. Однако это возвращает нас к дятлу, разрушевшему цивилизацию, поскольку не отменяет всего, сказанного выше.

С другой стороны я вспомнил, что именно браузеры пошли по тропе развития своего графического стека. 60FPS, плавная прокрутка, большие площади, энергопотребление, API системы, которые не поспевали за семимильными шагами прогресса.

Говоря про UI, не могу не согласиться с преимуществами HTML+CSS для декларативного описания интерфейса, с подчеркиваниями и стилизациями на любой случай жизни. В то время как условный Win32 API - императивный подход попиксельного выравнивания каждого label и textbox. Даже уже в контексте IDE мне легко представляются случаи, где нелинейные фичи (кроме обычного редактирования) потребуют ручного подхода и написания элементов с нуля. А где одно, там и другое.

Насчет gtx 1060 могу только привести свой пример: вынув и вставив SSD из компьютера в ноут, всё запустилось под Manjaro Linux как будто ничего и не было. Даже анимация загрузки в plymouth. Просто я для себя решил и там, и там себе полностью AMD поставить ради открытых драйверов.

В браузере какие-то фичи можно отменить (например меня бесит плавная прокрутка). Да и браузер - это, всё-таки, весьма специфичный софт. В них это неизбежное зло. Мы же про текстовый редактор. Даже не PDF c его возможностями корежить текст, а про обычный! текстовый! редактор!

Ну давайте так. Возможности расписать под хохлому приятны, но их полезность сильно преувеличена. Это больше мода, чем здравый смысл. Когда-то в 95 вынде на радостях тоже творил дичь, но быстро понял, что получается хрень. Не слишком то удобно, когда ты даже не можешь понять, где у тебя заголовок окна, а где поле ввода, поскольку автор художник и так видит. Реально элементы, необходимые за пределами доступных штатно требуются весьма редко. Максимум цвет и шрифт переопределить, да и то, если хочешь темы добавить. Это делается через сабкласинг и ничего дополнительно городить не надо. Да и механизмы тем, вроде, добавляли много где. И даже полность замена штатного рендера на свой тоже не требует заменять остальные механизмы. Когда же кто-то базовые вещи делает с нуля полностью - это больше наводит на мысли, что кто-то просто игрался, а потом решил их приткнуть хоть куда. Не пропадать же добру.

Да он может и запустится. Вопрос целей. Есть вот SciTE (на том же ядре notepad++). Грузится мгновенно, работает отлично. И последнего поколения игровой машины для работы, что интересно, не требует. Вот умели же как-то...

У меня windterm левый ALT не хочет прокидывать на сервер, хотя wind.keymaps очистил от alt+ комбинаций. А то в MC удобно имя файла в командную строку по alt-enter вставлять, пока пришлось написать хак через отправку esc+enter вместо alt-enter:

  { "keys": "<Alt+Enter>",
    "modes": "remote",
    "script"    : "() => {
      let view = terminal.activeView();
      if (view) {
        let selectionText = '\\x1b\\r';
        view.pasteText(selectionText);
      }
    }"
  },

Если программы не будут замедляться и требовать всё больше памяти - то как мотивировать пользователя сменить свой старый компьютер с 8 ядрами и 16 ГБ ОЗУ на новый 20-ядерный с 64 ГБ? Если в геймдеве хотя бы можно повышать разрешение картинки и добавлять новые эффекты, то обычные приложения уже давно упёрлись в потолок возможностей, поэтому приходится компилировать их вместе с полноценным браузером, чтобы приложение мессенджера раздулось до 300 МБ, отъело гигабайт ОЗУ и подлагивало на вполне мощном компьютере.

Если программы не будут замедляться и требовать всё больше памяти - то как мотивировать пользователя сменить свой старый компьютер с 8 ядрами и 16 ГБ ОЗУ на новый 20-ядерный с 64 ГБ?

Зачем самому разработчику такой программы мотивировать пользователя купить новый комп?

Разработчику незачем, но он для разработки вместо C++ использует фреймворки типа Электрон, потому что так легче, быстрей и кроссплатфоменней. Тем самым невольно подталкивая пользователей к мысли, что пора обновлять компьютер, особенно если они одновременно держат в фоне несколько подобных прожорливых приложений. Я не призываю обратно в пещеры, но некоторые модные фреймворки - зло, особенно если не уметь оптимизировать.

Очень давно, еще смартфонов не было, я завел на каком-то форуме тему о том, что производители железа и софта находятся в сговоре. Софтописатели притормаживают свои программы, создавая таким образом спрос на постоянный апгрейд железа. В качестве примера приводил программы типа Adobe Reader и офисный пакет MS office, которые от версии к версии распухали и тормозили, при почти полном отсутствии новых функций. Удивительное дело - как бы ни шел научно-технический прогресс, вам придется заплатить больше за более быстрый компьютер. Так было и 10, и 15 лет назад, так же оно обстоит и сейчас. Странно, ведь быстродействие компьютеров растет колоссальными темпами, а вам все еще надо ждать, пока вордовский документ откроется.
У компании Mikrotik есть тулза под названием Winbox, для настройки их непростых роутеров. Имея кучу функций и диалоговых окон внутри, программа занимает всего 2,3 Мб. Если вы не верите в сговор - представьте, как бы выглядела подобная программа, если бы ее писал Microsoft ))

В новой версии они похоже решили добавить свой фреймворк для GUI. Спасибо но мне мои глаза - дороги.

Потому что нет смысла в оптимизации софта на конечных устройствах. Сегодня оно тормозит, но пока ты будешь делать красиво, железки ускорятся и твою работу не заметят. Нет смысла оптимизировать в рамках этого бесконечного ускорения. И да, так происходит уже десятки лет. Это устоявшаяся многолетняя парадигма. Эдакая "Черная королева" наоборот: не надо бежать со всех ног, ты все равно не останешься на месте.

Остановится прогресс железа - пройдет время и вот тогда подобная оптимизация будет востребована. Но не сейчас.

Сейчас оптимизация дико востребована в ИИ. Все оптимизаторы там на данный момент. Вот где настоящая гонка оптимизации происходит у нас на глазах. А не это вот, запуск Тимс с секундомером.

 железки ускорятся и твою работу не заметят

Ускорение железок уже давно вышло почти на плоскость: частоты стагнируют, IPC тоже не особо растёт. Память тоже в районе 8-16Гб в среднем устаканилась.

А софт всё жиреет.

Участвовал в разработки одной крупной, но всё ещё развивающейся crm системы на веб-технологиях и в оптимизацию действительно всерьёз ни кто не лез. Просто необходимость было очень сложно обосновать - пользователи жалуются? Да вроде нет. Ну оно и правда ОК работало. Да и кабинет crm - это то, за пользование чем люди деньги получают, вряд ли они будут прям ныть, если всё не катастрофически плохо.

Ну а если есть план по бизнес-фичам (а он есть), то го лучше их делать. Что толку в той оптимизации?)

Сколько тактов занимает 2 + 2 ?

1 такт? - Ответ не верен!

Функция складывания 2 + 2 теперь находится внутри супер крутого фреймворка, который умеет не только складывать, но ещё и делить! Но постойте, ведь вызвать функцию запихнув операнды в регистры - это всего на пару тактов больше. Ха! Супер мега крутой фрейморк, он оказывается написан на супер мега крутом интерпретируемом языке. А интерпретатор... хм... На неком байт-коде, который JIT должен переварить, и будучи сытым и довольным, запустить на выполнение. Ой, а счётчик тактов совсем забыли, но уже по-моему 6-значное число. Подождите, ещё не всё :). Наш супр классный переваренный джитом машинный код, он оказыватеся выполняется на виртуальной машине! (да! яйцо в утке, утка в зайце и дальше по списку), которая мамой клянётся, что не интерпретатор, а всего-лишь гипервизор (но это не точно). Зато как классно деплоится в облако, в виде образа в 100500 мегабайт.

/сарказм=off

Кажется вы Питон описали :) Где каждая чиселка наследуется от Object

кстати, возможно ваш ответ так же объясняет, почему если вычислительная мощность нашего мозга такая гигантская, обычным людям так сложно в уме посчитать 389х4356,5. )

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

С добрым утром значит) мир изменился и уже давно. Пользователям продукта нужны бизнес фичи, ведь они приносят доход, а с дохода платятся деньги, за деньги идут работать программисты. Замкнутый круг. Жаль автор статьи не смог продолжить свою цепочку рассуждений почему так происходит.

Если вы разработчик ПО, то я призываю вас создавать его, стремясь к точности и качеству.

Эх, сама наивность. Но увы, это так (обычно !) не работает. Как не вспомнить Васю и Петю:

Скрытый текст

Вася и Петя одновременно начали писать один и тот же продукт.

Вася был «ориентирован на результат» и начал сразу писать говнокод не продумав толком архитектуру.

А Петя месяц разрабатывал архитектуру, месяц делал удобный интуитивный интерфейс, которому позавидывал бы Джони Айв, потом месяц писал тесты, потом два месяца писал сам код и получил идеальное стабильное приложение.

Но Вася выпустил уже через месяц первую версию программы, пусть и не идеальную, пусть с багами, но рабочую, и начал её продавать. Ещё через месяц выпустил вторую версию исправляющие баги первой и добавляющие новые баги. Ещё через месяц на доходы от продаж нанял двух толковых программеров, которые за два месяца перелопатили весь код, согласно пожеланиям пользователей допилили интерфейс и выпустили третью версию программы.

Итого, через пять месяцев у Васи было два работника, куча клиентов и сносно работающее приложение отвечающее желаниям клиентов.

У Пети было вылизанное никому не известное приложение, минус на банковском счёте и ни одного клиента.

В завершение этого выдуманного примера можно сказать, что через полгода Вася купил все наработки Пети, Петю взял в штат тестировщиком, а сам, быть может, по пьяни разбился на своём новеньком Туареге. А может, живет среди нас и радуется)) Концовку придумайте сами.

Кстати да, почему так?

Два автозавода одновременно начали делать один и тот-же продукт. Один начал выпускать дешманские тарантайки через месяц, другой - хорошие машины через два года. Вторая модель видимо выгоднее при наличии ресурсов, по крайней мере автозаводы обычно строят без подсобных хозяйств по ручному выпуску бюджетных малолитражек до старта основного конвейера.

Две фабрики начали выпускать микроволновки. Одна выпустила глючное воняющее пластиком поделие через месяц, другая через год качественный продукт. Те же соображения.

Вася пустил постояльцев жить в курятнике и к концу сезона был с прибылью, Петя построил микроотель с кондишками к следующему. Если он этот год переживет - в следующем все будет неплохо.

Почему-то везде есть граница качества, ниже которой продукт не нужен, и везде есть кореляция качество-деньги. И только в софте это не работает. Ну или не везде работает, все же в играх есть какая-то связь между ценой и качеством, и в некоторых других сегментах тоже.

Проблема же не в том что Петя выпустил свой продукт позже, и даже не в том что Вася нанял двух прогеров (ему кстати повезло что их через пять месяцев осталось двое а не восемь и они даже что-то там доделали нужное а не переписали всё на свежем фреймворке. У Пети этот риск намного меньше просто в силу его подхода). И далеко не факт что у Пети нет ресурсов на раскрутку. Скорее в том что именно ресурсы на раскрутку и решат какая поделка выживет, а их качество не решает примерно ничего и потому может быть соптимизировано. При "низком" старте Вася просто поделил свои ресурсы на два направления а Петя направил на одно.

Весь секрет в том, что нет никакого секрета. То есть нет какого то одного решения, что "по всегда должно быть качественным", или наоборот, некачественным. Конечно, стоит знать как писать качественно, но не всегда и не везде это нужно.

Тот же Вася мог быстро написать код на коленке, понять что рынка просто нет, и переключиться на другую сферу деятельности, выкинув своё ПО, затратив минимум ресурсов.

Также и Петя мог 10 лет писать свой код ИИ, и оказалось, что именно этот качественный скачок нужен был рынку.

Правильного ответа здесь нет, его (баланс) каждый ищет сам. А где и как его находить - про это и пишутся книги, обучаются на MBA, и про это и пишут истории про предпринимательскую чуйку.

Не могу полностью согласиться что никакого секрета. Есть дилетантское мнение (возможно неправильное но пока не опровергнутое) что если из известной "ОС" убрать виртуальную машину то она перестанет кушать аккумуляторы в конских количествах и станет пошустрее. Т.е. рынок уже протоптан, на нем доминирует некачественный продукт, который даже понятно как улучшить. Но... мегакорпорация, попытавшаяся откусить кусок, сбежала. Конкурент - да, Петя имеется. С предпринимательской чуйкой, качественным продуктом и т.п. Только лидером на собственном рынке он не является. Остальные померли, несмотря на множество лояльных клиентов. Весьма ресурсные конторы вместо попыток подмять под себя рынок платят линенцзионные платежи за даунгрейд своего железа, или делают форк того-же но в профиль. И это в общем нормальный ход дел именно для софта. Возможно действительно дело в том что все заливают железом, но производители железа получается платят два раза (за код который его тормозит и за разработку чтобы все таки не слишком тормозило) и довольны.

Вы просто не видели софт, на 99% состоящий из кривого латаного‑перелатаного копипаста генерации нейросетей, отобранных генетическими алгоритмами, хелоуворлдов весом в 15 Гб и терафлопсов, уходящих на отрисовку иконки приложения, потому что её 30 раз в секунду заново выдумывает и генерирует ИИ на вирутальной машине в разрешении 208 МПикс, после чего от неё отрезается фрагмент 50×50 пикселей, и каждый из пикселей несколько раз сохраняется в наноблокчейн‑облако в 7Zip архив, заверенный вашей биометрией.

Это мем из будущего, вы пока не поймёте.

да нет, все настолько понятно, что аж страшно становится. Как бы вы не преуменьшили. А пока этого не случилось, пойду соберу свои старые железки на 2-х ядрах и поставлю на них чегонить поиграться...

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

На самом деле часто - именно благодаря использованию технологий, которым уже десятки лет!

людям удаётся запускать DOOM на почти любом устройстве с процессором: на калькуляторах, iPod, фотокамерах. Невероятно маломощные, зачастую одноразовые устройства обладают достаточными вычислительными ресурсами, чтобы выполнять сверхсовременную на 1993 год игру

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

Sign up to leave a comment.

Articles