Обновить
0
0
Владимир Савин@WowaBBS

Пользователь

Отправить сообщение

Совсем не нейронные сети

Время на прочтение9 мин
Охват и читатели50K


Недавно ZlodeiBaal писал о достижениях в сверточных нейронных сетях (CNN) (и, кстати, тут же успешно настроил и обучил сеть для поиска области автомобильного номера).
А я хочу рассказать про принципиально иную и, наверное, более сложную модель, которую сейчас развивает Алексей Редозубов (@AlexeyR), и про то, как мы, конечно проигнорировав некоторые важные элементы, и ее применили для распознавания автомобильных регистрационных знаков!

В статье несколько упрощенно напомню о некоторых моментах этой концепции и покажу, как оно сработало в нашей задаче.
Читать дальше →

Дайджест последних достижений в области криптографии. Выпуск нулевой

Время на прочтение3 мин
Охват и читатели23K


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

Vulkan API (glNext) от Khronos Group

Время на прочтение10 мин
Охват и читатели57K
Относительно недавно вышел новый Vulkan API — можно сказать, наследник OpenGL, хотя основан Vulkan на API Mantle от AMD.
Конечно, развитие и поддержка OpenGL не прекратилось, а также в свет вышел и DirectX 12. Что там с DirectX 12 и почему его поставили только на Windows 10 — я, к сожалению (а может и к счастью) не знаю. Но вот кроссплатформенный Vulkan меня заинтересовал. В чём же особенности Vulkan и как правильно его использовать я постараюсь рассказать вам в этой статье.

Vulkan Logo


Итак, для чего нужен Vulkan и где он может быть использован? В играх и приложениях, работающие с графикой? Конечно! Вычислять, как это делает CUDA или OpenCL? Без проблем. Обязательно ли для этого нам нужно окно или дисплей? Конечно нет, вы можете сами указать, куда транслировать ваш результат или не транслировать его вообще. Но обо всём по порядку.
Читать дальше →

Поиск ошибок с помощью вычисления виртуальных значений

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


Читать дальше →

Опасный target="_blank"

Время на прочтение2 мин
Охват и читатели203K
Большинство создают внешние ссылки через target="_blank" и не знают одного интересного нюанса — страница, на которую мы попадем таким образом, получит частичный контроль над ссылающейся на нее страницей через js свойство window.opener.

Через window.opener.location мы сможем сделать редирект на, к примеру, фишинговую страницу. Это своего рода tabnabbing, только более продвинутый. Так как жертва меньше всего ожидает подмены страницы, в открытой ранее, доверенной вкладке браузера.
Читать дальше →

Невозможный двигатель EmDrive, эффект Унру, фотоны и инерция: попытка объяснить непонятное

Время на прочтение3 мин
Охват и читатели59K
image

Английский учёный из Плимутского университета Майк Макалох [Mike McCulloch] в своей работе попытался дать объяснение принципу действия «невозможного» двигателя EmDrive, который вот уже несколько лет ставит в тупик специалистов. Для этого учёному пришлось дать объяснение такому фундаментальному понятию физики, как инерция.

Двигатель EmDrive придумал в начале 2000-х британский инженер Роджер Шойер. Он представил общественности свою идею о двигателе, по сути состоящем из металлического усечённого конуса и магнетрона. По его расчётам, отражающиеся внутри конструкции электромагнитные волны должны создавать тягу без всяких реактивных компонентов.

Естественно, он был поднят на смех, поскольку закон сохранения импульса не позволяет создавать подобные устройства. Но, начиная с 2008 года и опыта китайских учёных, а затем – нескольких инженеров-энтузиастов, и заканчивая опытами уважаемых инженеров из НАСА, накапливается всё больше подтверждений тому, что этот странный двигатель всё-таки работает.
Читать дальше →

Рендеринг UTF-8 текста с помощью SDF шрифта

Время на прочтение5 мин
Охват и читатели24K

Продолжаем серию статей о мобильном геймдеве. В этой статье я расскажу как рендерить UTF-8 текст с помощью SDF Bitmap шрифтов, как эти шрифты создавать и как использовать эту технику для качественного рендеринга иконок.


Читать дальше →

Тест для проверки цветового разрешения монитора или телевизора при подключении к компьютеру по цифровому видеоинтерфейсу

Время на прочтение7 мин
Охват и читатели181K
«Кто нам мешает, тот нам поможет»
к/ф «Кавказская пленница»


Телевизор в качестве монитора?


В последние годы все более популярным становится использование телевизора в качестве домашнего компьютерного монитора.
И действительно — если еще несколько лет назад типичным для компьютерных мониторов Full HD разрешением (1920x1080) могли похвастаться лишь телевизоры с диагональю 40" и более, слишком большие для настольного монитора, то сейчас нетрудно найти телевизор с Full HD разрешением и с вполне «мониторной» диагональю 32" и меньше. Соответственно и размер пикселя при этом получается близким к «типовому» для настольных мониторов 0,28 мм ± 10% (ну, может быть чуть больше). А если кому-то такой пиксель покажется великоват, то с появлением доступных по цене бытовых телевизоров с разрешением 4k Ultra HD (3840x2160) размер пикселя вполне может конкурировать и с Retina.
К тому же широко распространенные в бытовых телевизорах IPS матрицы по компьютерным меркам считаются весьма «продвинутыми», и ими обычно оснащаются весьма дорогие «профессиональные» мониторы.
Казалось бы вот оно, идеальное решение для экономного домашнего пользователя — купить на грош пятаков небольшой (по телевизионным меркам) относительно недорогой 26"-37" бытовой телевизор с Full HD или Ultra HD разрешением, и в результате получить «компьютерный монитор» с большим (по компьютерным меркам) «профессиональным» IPS дисплеем, который к тому же без дополнительных вложений может быть использован и по прямому «телевизионному» назначению (что для дома тоже немаловажно!).
Однако иной раз результатом такого приобретения становится полное разочарование: компьютерная картинка на экране телевизора оказывается намного хуже, чем на простеньком старом мониторе, вместо которого этот телевизор собственно и приобретался.
Причин этого может быть множество, начиная от несоответствия разрешения соединяющего компьютер с телевизором видеоинтерфейса разрешению телевизионной матрицы, способности телевизора выводить картинку «пиксель-в-пиксель», настроек видеокарты (в частности, Overscan), настроек самого телевизора (например, резкости), проблем с кабелем, и так далее.
В данной статье мы рассмотрим только одну из возможных причин, а именно способность видеоинтерфейса, которым подключен телевизор или монитор к компьютеру, передать полное цветовое разрешение 4:4:4.

Для начала собственно тест:



Если на экране Вам отчетливо видна появляющаяся надпись 4:4:4, и лишь слегка угадывается 4:2:2, то значит видеоинтерфейс компьютер-монитор передает полное цветовое разрешение, и на этом собственно можно закончить тест и чтение статьи.
Тем же, кому интересно, как действует этот тест, а также тем, кто видит 4:2:2 и не видит 4:4:4 (или видит примерно одинаково и 4:4:4, и 4:2:2), и при этом хочет попробовать исправить ситуацию добро пожаловать под кат
Читать дальше →

Кроссплатформенные интегральные типы C++

Время на прочтение6 мин
Охват и читатели17K
В своей библиотеке стараюсь писать кроссплатформенный код, где это возможно, по стандарту C++, так что для интегральных типов использую только стандартную «десятку» (signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long) и никаких виндовых DWORD, __int64 и т.п. Тем не менее, иногда хочется определить тип именно 4 байта, чтобы точно 4, а не «системное слово», «размер адреса» и т.п. Стандарт C++ по этому поводу лишь говорит нараспев: char не может быть больше short, который не может быть больше int, который не может быть больше long, который не может быть больше long long.

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

Как я делал костюм захвата движений

Время на прочтение7 мин
Охват и читатели56K


Предисловие


В своем небольшом городе я занимаюсь решением нетривиальных технических задач. Так и в этот раз, организаторы одного шоу, в котором должна была выступить гимнастка со своей программой, решили добавить в ее представление некоторую «изюминку». А именно, выводить на экраны силуэт гимнастки, который бы повторял ее движения и как-то взаимодействовал с прочими эффектами, да так, чтобы все было интерактивно. Решить задачу «в лоб» не удалось. Kinect явно не справлялся со своей задачей и не был способен произвести захват движений человека, который удален от него на расстояние минимум 10 метров, к тому же в темноте. Так было принято решение сделать что-то «свое». Забегая вперед, скажу что выступление так и не состоялось, однако я настолько загорелся идеей, что продолжил свои эксперименты в качестве отдельного проекта, который впоследствии получил название impulse.
Читать дальше →

Как создается акустика Arslab и почему High-End может продаваться по цене Hi-Fi

Время на прочтение8 мин
Охват и читатели18K


Полочная акустика Arslab Old School Superb 90

В сегодняшнем материале мы поговорим о том, как происходит работа над колонками бренда Arslab, и расскажем, за счет чего можно «срезать ноль» на ценниках акустики класса High-End.
Читать дальше →

Как добиться успеха на Kickstarter, если ты инди (часть 1)

Время на прочтение9 мин
Охват и читатели27K

Подробный анализ успешной кампании Exoplanet: First Contact на Kickstarter


Предисловие




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

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

Мы надеемся, что подробный анализ кампании Exoplanet: First Contact позволит талантливым разработчикам вынести необходимые уроки и избежать множества ошибок на пути к успеху.
Читать дальше →

А если найду? Перелет еще дешевле чем вы уже нашли

Время на прочтение3 мин
Охват и читатели124K
Если вы планируете поездку и уже нашли недорогой перелет, не спешите покупать билеты, потому что сейчас вы найдете билеты еще дешевле. И это не реклама очередного говноагрегатора.

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

Читать дальше →

woSign продолжение китайской халявы (хоть и не такой большой как раньше)

Время на прочтение1 мин
Охват и читатели25K
Некоторое время назад на хабре появилась новость о том, что Китайская компания WoSign изменила политику раздачи бесплатных сертификатов и позволяла выпустить сертификат только на один год и только на один домен. Что ж, теперь условия поменялись в лучшую сторону. Подробности под катом.

image

Читать дальше →

Microsoft использует приёмы зловредов для продвижения Windows 10

Время на прочтение6 мин
Охват и читатели37K
Как многие успели заметить, Microsoft применяет настойчивую и постоянно изменяющуюся тактику для повторного запуска на компьютерах приложения "Get Windows 10" или GWX, так что от него довольно трудно избавиться.

Те, кто отклоняет предложение, вскоре снова сталкиваются с ним много раз [что некоторых очень раздражает — прим.пер.]. Для борьбы с GWX больше подходят методы борьбы с вредоносными программами.

GWX действительно похожа на вирус: она использует канал, предназначенный для одной цели (обновления безопасности), c другой целью (реклама); она изменяет «векторы» атаки»; использует «полиморфные» техники для обхода фильтров; постоянно изменяет установленные пользователем настройки и разрешения.
Читать дальше →

Компания Crytek анонсировала новый движок CryEngine V

Время на прочтение2 мин
Охват и читатели43K
image
Скриншот изображения на новом СE V с использованием DX 12

В этот вторник, 15 марта, компания Crytek анонсировала выход своего нового движка CryEngine V, который будет распространяться бесплатно. Воспользоваться новой разработкой компании сможет каждый пользователей без каких-либо ограничений, в том числе разработчики получат доступ к исходному коду движка.

Среди основных нововведений:

  • Поддержка C#;
  • Поддержка DirectX 12;
  • Продвинутая волюметрическая система, адаптированная для работы над VR-проектами, которая позволит оптимизировать 3D-рендеринг и минимизировать просадки в производительности;
  • Новая система частиц, которая позволяет сфокусировать всю нагрузку при рендеренге в режиме реального времени на GPU;
  • Новый лаунчер и переработанный UI;
  • Поддержка FMOD Studio;
  • Выделенный канал CRYENGINE Q&A для общения разработчиков.

Читать дальше →

Параллельные функции шума и случайных чисел для ядер OpenCL

Время на прочтение9 мин
Охват и читатели5K
Образец кода Noise, прилагаемый к этой статье, включает реализацию алгоритма создания шума Перлина, полезного для формирования текстур естественного вида, таких как мрамор или облака, для трехмерной графики. В состав статьи входит тест, в котором используется алгоритм шума Перлина для создания изображения «облака». (Дополнительные сведения об алгоритме шума Перлина см. в разделе «Справочные материалы».) Включены двухмерная и трехмерная версии алгоритма. Это означает, что функции принимают на вход два или три набора данных, чтобы создать одно выходное значение шума Перлина.
Пример Noise также включает функции генератора псевдослучайных чисел (RNG), выдающих сравнительно неплохие результаты, достаточные для того, чтобы полученное изображение действительно выглядело случайным. Включена одномерная, двухмерная и трехмерная версии: количество измерений и в этом случае равно количеству наборов входных данных, на основе которых формируется одно псевдослучайное выходное значение.
Читать дальше →

Краткий курс компьютерной графики: задание карт нормалей в касательном пространстве

Время на прочтение6 мин
Охват и читатели25K
Дошли руки написать очередное дополнение к моему краткому курсу компьютерной графики. Итак, тема для очередного разговора — использование карт нормалей. В чём основное отличие использования карт нормалей от затенения Фонга? Основная разница в плотности задания информации. Для затенения Фонга мы использовали нормальные вектора, заданные к каждой вершине нашей полигональной сетки, интерполируя нормали внутри треугольников. Использование же карт нормалей позволяет задавать нормали для каждой точки нашей поверхности, а не лишь изредка, что просто драматическим образом влияет на детализацию изображений.

В принципе, в лекции про шейдеры мы уже использовали карту нормалей, но только заданную в глобальной системе координат. Сейчас же разговор пойдёт про касательное пространство. Итак, вот две текстуры, левая задана в глобальном пространстве (RGB напрямую превращается в вектор XYZ), а правая — в касательном.

Читать дальше →

Скриншотим игры — the hard way

Время на прочтение6 мин
Охват и читатели39K
Ну что такого сложного может быть в создании скриншота? Казалось бы — позови функцию, любезно предоставленную операционкой и получи готовую картинку. Наверняка многие из вас делали это не один раз, и, тем не менее, нельзя просто так взять и заскриншотить полноэкранное directx или opengl приложение. А точнее — можно, но в результате вы получите не скриншот этого приложения, а залитый черным прямоугольник.
Читать дальше →

Улучшаем свой английский: изобретаем субтитры заново

Время на прочтение5 мин
Охват и читатели50K

1. Intro




— Татьяна Леонидовна, а можно, мы посмотрим это кино с субтитрами?
— Нет, малолетние дятлы, мы тренируем ваше слуховое восприятие, поэтому кино вы будете смотреть без них! С субтитрами вы будете только читать текст и не слушать.
— Татьяна Леонидовна, но без субтитров мы больше половины не понимаем!
— А вот это уже ваши проблемы.

Начало 2000-х, диалог с учителем во французской спецшколе, Санкт-Петербург.

Далее

Информация

В рейтинге
Не участвует
Откуда
Самара, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность