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

Дизайн

Сначала показывать
Порог рейтинга
Уровень сложности

Видео — это вам не фото: о чём нужно знать разработчикам видеостриминговых сервисов

Время на прочтение12 мин
Количество просмотров5.7K

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

Привет, меня зовут Антон Кортунов, я техлид Yandex Infrastructure. В 2017 году мы запустили новый для Яндекса проект — платформу потокового видео Яндекс Эфир. Сам проект закрылся, но на основе платформы работают Кинопоиск, видеокарточки товаров в Яндекс Маркете, Реклама и множество других сервисов.

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

Читать далее
Всего голосов 39: ↑38 и ↓1+37
Комментарии12

Насколько реалистичны интерфейсы в фильме «Хакеры» 1995 года?

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров20K

Фильм Хакеры рассказывает о группе хакеров-подростков, ведомых любопытством и не причиняющих вреда (по крайней мере, тем, кто этого не заслуживает). Один из этих хакеров взламывает компьютерную систему «Гибсон», принадлежащую крупной компании, и в доказательство своего успеха частично скачивает файл, который посчитал неважным. Однако на самом деле этот файл — замаскированный «червь», созданный руководителем отдела безопасности компании, чтобы украсть у неё миллионы долларов. Чтобы замести следы, он пытается подставить хакеров, обвинив их во множестве компьютерных преступлений, поэтому им нужно снова взломать систему, чтобы скачать «червя» полностью и указать на истинного виновника.
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии22

Новогодний DIY «Я танцую прямо на столе». Делаем свою настольную дискотеку — зоотроп

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров7.8K

Существует весьма любопытное устройство, изготовление которого может дать много позитивных эмоций и занять свободное время в предстоящие новогодние выходные дни, особенно если у вас есть маленькие дети (но не обязательно, так как даже взрослым будет интересно повозиться с таким устройством). И называется оно зоотроп.
Читать дальше →
Всего голосов 86: ↑85 и ↓1+84
Комментарии13

Когда закончится эра безграмотных мобильных интерфейсов? Воспоминания о курсе эргономики 1985 года

Время на прочтение3 мин
Количество просмотров37K

Друзья, вы уже в курсе, что IOS достигла версии 17, а Android версии 12? Уже более 10 лет как две огромные фирмы мучают людей и совершенно не собираются умнеть.
Начнем с простого действия. Которое на компьютерах называется ESC. Отмена. Или возврат к предыдущему состоянию. Функция та же что и у BACKSPACE, но не в применению к набору текста, а к любому действию, которое захотелось отменить.
Apple упорно лишает пользователей телефонов и планшетов этой функции.

Это явное насилие, ибо понять почему на клавиатуре нет этой кнопки невозможно. Тем более, что на компьютрах Apple она имеется. Но в планшете iPad ее нет.

Андроидные телефоны имеют кнопку назад. Сразу имели. А вот Apple сделала позорную недокнопку в левом верхнем углу. Вроде бы нужная кнопка что бы вернуться в предыдущее приложение, да вот заранее не предусмотрели и пришлось встраивать "костыль".

Вот я из "Почты" нырнул в какое-то приложение. И возврат обратно вот такой мизерной незаметной строчкой. < Mail. Попасть в нее пальцем ну мягко говоря не просто. Равно как и разглядеть.

Читать далее
Всего голосов 185: ↑158 и ↓27+131
Комментарии376

Истории

Как рисовать мозаики типа «эйнштейн»

Уровень сложностиСредний
Время на прочтение39 мин
Количество просмотров2.4K

На немецком «эйнштейн» звучит как «один камень». Один - «ein», камень - «Stain». Всем известно, что под этой фамилией жил один замечательный человек, и звали его ... Но в статье речь не о нём. Речь о математической задаче по поиску одной плитки, такой чтобы составленная из неё мозаика была непериодической. «Один камень» - это про плитку. В мозаике Пенроуза таких плиток две, а хотелось бы возможности использовать только одну. Не вдаваясь в детали можно сказать, что задача одной плитки в этом году (2023) решена. Получены интересные красивые мозаики.

Сначала была найдена «шляпа эйнштейна» - плитка, похожая на шляпу. Или, по моему скромному мнению, на рубашку. Из неё можно сделать отличную непериодическую мозаику. Только, для построения используются как сами шляпы, так и их зеркальные отражения. Считать ли это одной плиткой? Можно и не считать.

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

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

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии1

Графика древности: палитры, часть 2/2

Уровень сложностиПростой
Время на прочтение26 мин
Количество просмотров8.8K

В предыдущей части цикла статей мы рассмотрели историю эволюции палитр в цветной компьютерной графике домашних компьютеров и игровых консолей, а также причины, почему они оказались именно такими и содержали те или иные цвета. Однако тема палитровой графики ещё не исчерпана. Сегодня поговорим про множество других интересных вещей: программируемые палитры и экономию памяти, палитровые анимации и визуальные эффекты, проблемы цветопередачи, обход ограничений на количество цветов, таинственный «артефактинг» и особенности рисования палитровой графики.
Читать дальше →
Всего голосов 105: ↑105 и ↓0+105
Комментарии19

Игровая легенда из 90-х: Как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение с нуля на Glide

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров12K
image


Полагаю, многие мои читатели так или иначе знакомы с такими видеокартами, как 3dfx Voodoo. Эти легендарные графические ускорители из середины\конца 90-х годов был чуть ли не в каждой второй сборке для игр, а о их производительности слагали легенды. До сих пор есть относительно небольшое сообщество фанатов ретро-игр, которые ценят, любят и собирают с цветмета те немногие видеокарты от 3dfx, что остались в СНГ. Однако обзоров на 3dfx Voodoo много, тестов игр — тоже, а вот материала «простыми словами» о его внутренней архитектуре и более того, практической части с написанием 3D-игры практически нет! Недавно я прикупил себе Voodoo 3, и начал зубрить Programmer's Manual с желанием запилить что-нибудь эдакое… Статью я долго и упорно готовил дабы успеть к новому году и сегодня у нас с вами: краткая история компании 3dfx, подробный разбор архитектуры видеочипов 3dfx «под капотом», что должен был уметь программист 3D-графики в 90х и написание 3D-приложения на Glide полностью с нуля. Интересно? Тогда жду вас в статье!
Читать дальше →
Всего голосов 80: ↑79 и ↓1+78
Комментарии49

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 4

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.5K

Хабр, я снова пришёл к вам с практическими советами про доступность вместе с Ильёй. Мы показываем, как HTML и CSS могут улучшить или ухудшить её. Напоминаю, что Илья мой незрячий знакомый, который помогает мне найти наши косяки в вёрстке.


Сегодня мы рассмотрим следующие аспекты:

  • Как сверстать поиск, чтобы им мог воспользоваться пользователь скринридера;
  • Чем полезно свойство outline-offset;
  • Зачем вам нужно использовать медиа-функцию prefers-color-scheme;
  • Где должен находиться заголовок в разметке блока с новостью.

Давайте начнём!

Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии4

Как выбрать шрифт для кодинга

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров10K

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

Читать далее
Всего голосов 34: ↑32 и ↓2+30
Комментарии29

Nota, Typst и Evidence. Языки программирования для генерации документов

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8K


Все настолько привыкли к Markdown, что считают его неким стандартом для оформления документов в вебе. Но это не конечная истина, высеченная на камне, а просто популярный язык разметки, как HTML и TeX.

В то же время появляется всё больше новых языков, которые позиционируют себя как замену, альтернативу или дополнение к Markdown и TeX. В некоторых случаях они включают функции программирования, то есть позволяют добавить в документ исполняемый код. Веб-редакторы нового поколения можно использовать даже вместо Google Docs.
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии4

PyZelda своими руками или как геймдевить без Unreal, Unity и кредитов

Уровень сложностиСредний
Время на прочтение43 мин
Количество просмотров9.1K

Хабры и Хаброчки, я хотел бы перед самой статьёй обсудить вопрос целесообразности писать свой движок, вместо готовых решений. Есть куча статей, которые опишут разные движки от более популярных до менее. Я бы хотел затронуть немного другой вопрос: "Как человеку, который изучал программирование много лет заняться геймдевом?". Обычно, есть два пути в геймдев:

Умышленный путь. Это когда человек, который играет в игры рано или поздно решит их создать. Тогда, он выбирает где ему учиться этому и выучивает игровые движки и C-образные языки к ним (чаще всего, C#).

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

Так зачем выбирать "сложный" путь? Во-первых, не для всех он сложнее. Лично мне сложнее перейти на C# с использованием Unity, чем написать новый проект на Python. Во-вторых, люди не всегда понимают сам движок. Сейчас я преподаю в институте "Бизнеса и Дизайна". Это один из первых профильных учреждений, занимающихся геймдевом. И вот у студентов я спросил зачем им движок. Каково было моё удивление, что далеко не все понимаю, вообще зачем он нужен. Спойлер, не из-за пресетов.

Всех заинтересовавшихся, приглашаю в мир змеиных игр!

Погрузиться в змееленд
Всего голосов 42: ↑42 и ↓0+42
Комментарии19

Ужасный огонь: почему даже в самых дорогих фильмах возникают проблемы со съёмкой простого пламени?

Время на прочтение6 мин
Количество просмотров6.7K

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

И это не единственный пример. Сгенерированный компьютером огонь можно часто увидеть в фильмах, и повсюду он выглядит ужасно. Пожары в домах из прошлогодних «Банши Инишерина» и «Достать ножи: Стеклянная луковица» выглядят так, как будто их вручную нарисовали поверх кадров фильма. То же самое справедливо для сериала «Медведь» и нескольких пожаров в «Стране пожаров». В «Игре престолов» дыхание драконов было реализовано при помощи настоящих огнемётов на подъёмных кранах; в спинофе этого сериала «Дом Дракона» магические существа извергали цифровой огонь. Из всех очевидных спецэффектов в последних фильмах франшиз «Тор» и «Стражи Галактики» сильнее всего выделялось пламя — плоское, пересыщенное и подвергнутое motion smoothing.

Читать далее
Всего голосов 36: ↑35 и ↓1+34
Комментарии27

Ребят, у нас тут робот-хирург операцию делает

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров10K

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

И вот неожиданно для себя самого я организую видеосъемку хирургической операции в прямом эфире. Оперирует робот-хирург. Разрез делает на тканевом уровне, так точно, как не может сделать человек. Управляют им два хирурга с помощью VR-шлема и джойстиков. А мы транслируем изображение с камер в щупальцах робота-осьминога в конференц-зал.

Читать далее
Всего голосов 67: ↑67 и ↓0+67
Комментарии32

Ближайшие события

Собираем объёмный дисплей на Raspberry Pi

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров21K

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

После беседы я подумал, что если двигатель и батарея будут достаточно маленькими, то вращаться может устройство целиком. На следующий день я заказал несколько печатных плат, поэтому я добавил к заказам простую матрицу светодиодов. Маленькие платы из Китая, по сути, бесплатны, единственное, что важно — это скорость доставки.
Читать дальше →
Всего голосов 75: ↑74 и ↓1+73
Комментарии18

Вам не нужен для этого JavaScript

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров27K

Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется…

▍ Правило наименьших полномочий


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

В случае веба это означает, что нужно по возможности выбирать HTML вместо CSS, а затем CSS вместо JS. JS — самый универсальный язык из всех трёх, потому что на нём вы описываете, как должен вести себя браузер; но также он может ломаться, отказываться загружаться, требует дополнительных ресурсов для скачивания, парсинга и исполнения. Кроме того, при его использовании очень легко ограничить доступ пользователей, выполняющих браузинг при помощи клавиатуры или специальных возможностей.

В отличие от JS с его императивностью, HTML и CSS декларативны. Вы говорите браузеру, что делать, а не как это делать. Это значит, что браузер сам выбирает, как это делать, и может сделать это наиболее эффективным образом.

Так как функции HTML и CSS обрабатываются браузером, они могут быть более производительными, более нативными, более адаптируемыми к предпочтениям пользователя и в общем случае иметь бОльшую accessibility. Это не значит, что так будет всегда (особенно когда дело касается accessibility), но когда все сложные задачи берёт на себя браузер, от этого обычно выигрывают конечные пользователи.
Читать дальше →
Всего голосов 97: ↑95 и ↓2+93
Комментарии38

Графические оболочки FFmpeg

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров27K


Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором. Во-вторых, на CPU, память и GPU не ложится лишнее бремя графической оболочки, так что любые процессы быстрее выполняются в консоли.

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

FFmpeg — изначально консольная утилита. Но её популярность крайне высока. Поэтому появляются всё новые варианты графических оболочек для FFmpeg, чтобы доступ к инструменту получили абсолютно все пользователи.
Читать дальше →
Всего голосов 107: ↑107 и ↓0+107
Комментарии76

Что нас бесит в интерфейсах игр

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров10K
image

Интерфейс — это то, по чему встречают игры. И далеко не все игры дружелюбны к игрокам, приветствуя их сложными менюшками и порой крайне нелогичным расположением кнопок. В этом материале я решил вспомнить, какие элементы интерфейсов могут вызывать, мягко говоря, недоумение.
Читать дальше →
Всего голосов 57: ↑48 и ↓9+39
Комментарии74

10 тёмных паттернов в UX-дизайне и как их избежать

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров12K

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

К типичным тёмным паттернам относятся давление на чувства, ложная срочность, заманивание, сбор личных данных, навязывание, подсовывание, маскировка рекламы, намеренное введение в заблуждение, паттерн «Roach Motel», предвыбор нежелательных опций, добавление лишних товаров в корзину, спам-рассылка по друзьям, автоматическое продлевание платной подписки после её окончания и не только.

Такие паттерны построены на ловком использовании особенностей человеческой психологии с целью наживы, но при этом способны подорвать доверие пользователей.

Во избежание использования тёмных паттернов дизайнерам следует делать акцент на прозрачности, предоставлении контроля пользователю, а также этических практиках разработки. Такой подход способствует положительному пользовательскому опыту и взращиванию лояльности со стороны клиентов.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии16

Duke Nukem 3D: один из пионеров дизайна уровней

Время на прочтение6 мин
Количество просмотров10K

С 1993 года, когда вышел Doom, разработчики сделали множество шутеров. Подобные игры того времени вносили много базовых знаний по дизайну уровней игр, многие из которых все ещё используют. Одной из запоминающихся таких игр была Duke Nukem 3D 1996 года. Побудило меня перепройти её свежим взглядом, будучи работая в данной сфере, переиздание с новым эпизодом. Посмотрим, как разработчики делают уровни интересными, с наглядной подачей информации и интересным игровым процессом.

Читать далее
Всего голосов 53: ↑52 и ↓1+51
Комментарии32

Эта статья опубликована в прошлом году

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.6K

Здравствуйте, меня зовут Дмитрий Карловский, и я.. буквально только что написал эту статью. Ну, на самом деле вчера. А если точнее, то в этом году. Удачи вам понять когда же именно.

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

Так когда же именно?
Всего голосов 64: ↑49 и ↓15+34
Комментарии78