Pull to refresh
8
0
Jan Satcitananda @punpcklbw

Полимат

Send message

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

У меня имелось подозрение, что необходимо коренным образом менять как подходы к самому программированию, так и к организации рабочих процессов. Всё же плохо верится, что всему виной именно криворукость программистов или неэффективное управление. Да и куда перспективнее ведь выпускать качественный продукт, чем откровенный хлам? В самом деле, если появится аналог того же Фотошопа или Ворда, но работающий на порядок быстрее, потребляющий меньше памяти и более удобный в работе — это даст ему солидное конкурентное преимущество и он сможет потеснить конкурентов? Значит, тому есть объективные препятствия. Оставив общие наблюдения, что сам рынок вырождается, всем рулит извлечение прибылей и нет общего вектора развития, могу назвать более конкретные причины:

  • Чтобы подвинуть доминирующий на рынке продукт, новый должен быть едва ли не подрывной инновацией — НАМНОГО превосходить его во всех отношениях, иначе в силу инерции и привычки пользователи не слезут с того, чем пользуются они и все вокруг.

  • К мейнстримовому ПО сейчас предъявляется столько разных и противоречащих друг другу требований, что повышение собственно качества и скорости работы отходит куда-то на второй план. Пытаясь угодить всем юзерам, не угодишь никому.

  • Имеет место недобросовестная конкуренция, когда создаются разные закрытые и несовместимые между собой стандарты (форматы) с целью привязать пользователя к своему продукту, что еще более усложняет «миграцию» пользователей и контента. В итоге никто не хочет рисковать и выпускать что-то качественно новое.

  • Безальтернативность подходов, когда в ходу только определённые стили и приёмы программирования, понятные большинству разработчиков. Захочешь поэкспериментировать и что-то улучшить — а не дадут, потому что другие не смогут работать с твоим кодом.

  • Банально прогресс по железу играет на руку раздутому ПО, так как пользователей и разработчиков перестаёт волновать, что где-то есть лишние неиспользуемые байты или неэффективные алгоритмы (пока это не начнёт ощутимо бить по карману).

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

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

С точки зрения художественной ценности такие изображения годятся разве что как эскизы, которые можно показать художнику, чтобы он лучше понял задумку и нарисовал всё в нормальном качестве. Вижу это как своего рода средство облегчения коммуникации. Но скорость, с которой идёт прогресс в данной области, конечно поражает... но не стоит делать заявлений, что какие-то представители творческих профессий скоро останутся без работы — ведь именно их трудом обеспечивается то многообразие данных, на которых и обучается DALL-E и подобные проекты.

Притяжение Земли, естественно. Траектория рассчитана таким образом, чтобы аппарат остановился в окрестности точки L2 и осуществил довыведение при помощи собственных двигателей (они есть только на «горячей» стороне и «задний ход» дать не получится).

Да, нужно изучить, что уже было сделано в этом направлении, и по каким причинам развитие инструментов прекращалось. Чтобы инструмент мог приносить реальную пользу, необходим именно анализ контента с целью создать новые метаданные, с применением распознавания образов, речи, разбора текстов, и предоставлением гарантий конфиденциальности. Просто собрать имеющиеся метаданные — оно тоже надо, но качественных улучшений это не даст. Основное техническое препятствие мне видится в том, что и нейросети тоже постоянно косячат, и неслабо, поэтому без ручных правок будет всё равно не обойтись…
Тоже приметил данный тренд на «онлайнизацию» и «дебилизацию» всего и вся, но рынок видимо требует вот этого «мы всё сделаем за Вас», а о последствиях никто не задумывается. Думаю, тут не последнюю роль играет отсутствие культуры управления данными среди обычных пользователей. По мере того, как вычислительные системы в лице всевозможных гаджетов становятся всё более массовыми, вероятность того, что отдельно взятый юзверь успешно справится с задачей ручного размещения файлов, неуклонно падает.

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

У меня всё чешутся руки написать технологию, которая бы умела в офлайн-режиме автоматически анализировать и каталогизировать весь имеющийся на дисках контент — в том числе, пропускала данные через заранее обученные нейросети с целью выявления характерных особенностей и проставления тегов, по которым можно будет моментально находить то, что нужно. Думаю, что такое в определённых кругах было бы востребовано…
Клиника. Дешёвая реклама облачных сервисов, которой не стоило загаживать Хабр.
Unicode уже давно развивается в неверном направлении. На языке разработчиков feature creep называется. Куча ненужных символов, создающих только путаницу и непоследовательность применения. Отсутствие ряда важных языковых нюансов. Колоссальная избыточность приводит к отсутствию полноценной поддержки со стороны шрифтов и ПО. По-хорошему все эти недоэмодзи нужно заменить полноценным микроязыком разметки со стандартизованными средствами форматирования, вставки изображений и спорадических неконвенциональных знаков…
Методы счёта схожи с вашими, выбираю опорные числа, с которыми удобно работать, либо считаю по разрядам. Разбить на элементарные операции: сдвиг порядка, умножение/деление на 2, прибавление или вычитание совсем маленького числа. Считаю довольно быстро благодаря развитой рабочей памяти (могу представить в голове решение столбиком), но на некоторых задачах бывает что начинаю тупить. Было бы здорово людям научиться считать принципиально иным образом, не забивая память разными таблицами, а чтобы результат вычиления был доступен моментально.

Считаю, что основная проблема традиционного устного счёта в необходимости оперировать не самими числами, а их десятичными записями, содержащими большое (для мозга) количество сложно взаимодействующих объектов. Если бы существовал универсальный способ научить человека именно чувствовать числа, а не оперировать десятичными разрядами, все бы давно стали супервычислителями. Но пока что это рассматривается как некий дар свыше. Возможно, практика медитации позволит абстрагироваться от графических представлений чисел, увидеть их пустотную природу и выстроить нейроны в подобие АЛУ в процессоре, но это потребует очень высокой степени концентрации, как мне кажется.

К счастью, быстрый счёт в уме в наше время уже не так актуален, когда под рукой всегда имеется калькулятор, но всё же окажется полезен при повседневных расчётах. Программисту это вообще ни к чему — любое выражение в коде и так будет вычислено автоматически ещё на этапе компиляции. Там важны другие навыки — внимательность, аккуратность, последовательность.
Судя по всему, автор статьи не имеет представления о работе нейросетей и машинном обучении вообще. У компьютера может и не быть явной причины для действия, если применяемые алгоритмы стохастические и описывают только математическую базу самообучающейся системы. Тем не менее, приведённая ошибка указывает на явные пробелы в логике Watson (Торонто расположен вообще не в США, а в Канаде). Впрочем, продуктивность ИИ напрямую зависит от обучающей выборки, где-то может быть недообучение либо переобучение (overfitting), что приводит к ошибочным результатам.
Типичный пример кодерского мышления — «давайте ещё 3D прикрутим и фончик в пару мегабайт, раз можно». Ничего, что эти вычислительные затраты ничего не дают для юзабилити и только мешают работе? В учебнике от Ableton всё сделано удобно и аккуратно. Имхо, в любую страницу можно встроить небольшой Java-апплет или объект Flash со схожим функционалом и без ненужных свистоперделок.
На практике вообще оказывается всё не так, как в теории. Тот же стандартный источник D65 на самом деле имеет температуру 6504 К. Поправка в 4 К появилась после того, как были более точно определены физические постоянные, ответственные за тепловое излучение.

По поводу гаммы 2,4 в BT.1886 говорится: this value has been shown to be a satisfactory match to the legacy CRT display. То есть, ею хорошо аппроксимируются ЭЛТ-мониторы. Но в той формуле ещё присутствует переменная b (black level lift, крутилка яркости по сути), так что реальная γ окажется меньшей.
Не знал, что IFS-фракталы можно визуализировать таким способом! А слыхали ли о «буддаброте» (buddhabrot)? Его построение зело напоминает множество Мандельброта с той только разницей, что для чисел изображается путь, по которому они устремляются в бесконечность.
Всегда делайте вычитку текста перед публикацией, в нём много косяков. Пользуйтесь заголовками для организации повествования.

В остальном толковая доходчивая статья по существу, посвящённая важной теме. Хотелось бы каких-нибудь иллюстраций.
Да, спецификация HDR10 предполагает 10 бит на канал и гамма-кривую PQ, а Rec. 2100 рекомендует (то есть, это ещё не стандарт как таковой) использовать 10 либо 12 двоичных разрядов и передаточную функцию PQ либо HLG (крайние значения в видеосигнале резервируются для нужд синхронизации). Но это не означает, что HDR-изображение нельзя отобразить с той же гаммой, используя только 8 бит — дизеринг решает.

По поводу гаммы Rec. 709 — читаем действующие рекомендации: http://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf
И ясно видим, что conceptual non-linear pre-correction of primary signals γ = 0.45 (обратная величина 2,22). Где-то действительно пишут про значение 2,4, но речь о том, что функция степени 2,4 в sRGB идёт после линейного участка, и усреднённым значением гаммы снановится 2,2.
Обалденные шахматы =D
С точки зрения спорта, казалось бы, фигня, но как иллюстрация квантовых явлений — то, что нужно!

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity