Pull to refresh
0
0
Владимир Савин @WowaBBS

User

Send message

Карты морщин в ролике The Blacksmith

Reading time2 min
Views15K
На этапе планирования ролика The Blacksmith мы никогда не рассматривали всерьез создание специального шейдера для кожи. Нам требовалось простое решение, которое позволило бы сделать мимику антагониста более реалистичной. Недолго думая, мы попробовали добавить в проект карты морщин на основе блендшейпов.

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


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

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

Reading time11 min
Views32K
Избавление изображения от шума – одна из фундаментальных операций компьютерного зрения. Алгоритмы сглаживания применяются почти везде: они могут быть как самостоятельной процедурой для улучшения фотографии, так и первым шагом для более сложной процедуры, например, для распознавания объектов на изображении. Поэтому существует огромное множество способов сглаживания, и я бы хотел рассказать об одном из них, отличающемся от остальных хорошей применимостью на текстурах и изображениях с большим количеством одинаковых деталей.

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

Open-source реализации отечественных криптоГОСТов

Reading time2 min
Views62K
На выходных решил поискать open-source реализации отечественных криптографических стандартов. Прежде всего интересовали новые: хэш-функция Стрибог (ГОСТ Р 34.11-2012), Кузнечик (ГОСТ Р 34.12-2015) и ЭЦП (ГОСТ Р 34.10-2012 или 2001 (без 512-бит) ). Старый ГОСТ 28147-89 специально не искал, поскольку найти его реализацию никаких проблем нет уже давно.
Итак, давайте посмотрим, что же получилось. Сразу предупреждаю, что корректность реализаций не проверял.
Читать дальше →

Саунд-дизайн тяжёлой брони для проекта InSomnia

Reading time4 min
Views20K
Меня зовут Пётр, я саунд-дизайнер, работаю над проектом InSomnia. В этой статье я хотел бы кратко рассказать о процессе работы над озвучкой тяжёлой брони. Вот так выглядит финальный результат:


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

Знакомьтесь, loop fracking

Reading time15 min
Views14K
image

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

Автор назвал эту технику “loops fracking” по аналогии с, например, “loops unrolling” или “loops nesting”. Тем более, что термин отражает смысл и не занят.
Читать дальше →

Cобираем qt-4.8.7 и qt creator при помощи mingw-w64 на windows (10), бонусом настравиваем на работу с github

Reading time8 min
Views25K
Пару слов о том для чего это понадобилось вообще: у меня была простая ситуация — не было быстрого интернета и был компьютер с начисто установленной windows 10. К тому же проект, который ковыряю, требует сборки как под 32 так и под 64 битную архитектуру, поэтому мне показалось что наличие Qt, одинаково сконфигуренного и скомпилированного под эти архитектуры будет только плюсом.
Читать дальше →

Лёгкий блочный шифр Speck, или пылинка от агенства, которого нет

Reading time4 min
Views30K
Устройство на КДПВ шифрует не по алгоритму Speck, но могло бы

В июне 2013 года АНБ опубликовало описание двух лёгких блочных шифров — Simon и Speck [1].

Произошло это в самый разгар скандала со Сноуденом, поэтому новость была встречена с понятным скептицизмом. Особенно потому, что в статье не было результатов криптоанализа, а только описание алгоритма и данные о производительности.

Прошло два года, практических атак ни на Simon, ни на Speck не появилось [2], а преимущества (простота и гибкость) — остались.

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

Что там внутри и зачем он нужен, когда есть AES

Созданы трехслойные наночастицы, способные преобразовывать инфракрасный свет в синее и УФ-излучение

Reading time4 min
Views10K
Приветствуем вас на страницах блога iCover! Сегодня мы расскажем вам о новой простой и доступной в реализации технологии, позволяющей преобразовать энергию фотонов невидимого инфракрасного света в энергию излучения синего и ультрафиолетового спектра. По мнению авторов разработки, их продукт – многослойная наночастица с уникальными рабочими характеристиками, найдет применение в самых разных областях, начиная с возможности создания более эффективных солнечных преобразователей и элементов систем безопасности — и оканчивая биоимиджингом на принципиально новом уровне…


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

Костная проводимость с Kickstarter и Indiegogo

Reading time2 min
Views5K
Так вышло, что большая часть постов о костной проводимость для нашего блога написана мною, и за это время на страницах Medgadgets появлялись заметки о слуховых аппаратах, были перечислены практически все интересные модели наушников, вплоть до «Aliexpress-Style», я рассказывал о мальчонке с микротией, а не так давно показывал, как в домашних условиях без претензии на качество конструкции и звука сделать свой наушник на базе этой технологии. Сегодня совсем коротко. «Галерея краудфандинга»: наушники, очки, плеер.


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

Устройство для стрельбы огненными шарами, умещающееся в рукаве, поступило в продажу

Reading time2 min
Views40K
image

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

Почти ровно год назад стартап Ellusionist запустил в продажу устройство Pyro, которое позволяло «стрелять» огненными шарами на три метра. У Pyro было дистанционное управление, позволявшее управлять выстрелами с 10 метров. Pyro можно зарядить одновременно четырьмя зарядами, каждый из которых выпускает по одному огненному шару. Устройство, предназначенное для профессиональных иллюзионистов, продаётся по $174.



Теперь стартап представляет следующую версию этого устройства – Pyro Mini. Размером Pyro Mini чуть меньше банковской карты (и толщиной примерно 1,5 – 2 см). Новое устройство также теперь имеет встроенный аккумулятор и зарядку от USB. Стоимость его также, как ни странно, уменьшилась, и составляет $147.
Читать дальше →

Lock-free алгоритмы и реализация стека

Reading time5 min
Views25K
В данной статье хочу поднять несколько холиварную тему — тему безлоковых алгоритмов, а в частности реализации безлокового стека. Точнее, стек этот условно безлоковый, почему — будет ясно далее. Хочу сразу предупредить, что все примеры будут даны на языке C.

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

Использование больших страниц в памяти в PHP 7

Reading time8 min
Views18K
Разбивка на страницы — это способ управления памятью, выделяемой для пользовательских процессов. Все доступы процессов к памяти являются виртуальными, а преобразование их адресов в адреса физической памяти выполняют ОС и аппаратный MMU.

При разбивке на страницы память делится на блоки фиксированного размера. В Linux на x86/64-платформах размер страниц обычно составляет 4 Кб. Каждый процесс содержит в себе таблицу, в которой хранится информация о соответствии адресов страницы и физической памяти — элемент таблицы страниц (page table entry). Чтобы ОС не лезла в эту таблицу при каждом обращении к памяти (иначе для обработки каждого запроса на обращение к памяти потребуется обращаться к ней дважды), применяется небольшой кэш — буфер ассоциативной трансляции (Translationlookaside Buffer, TLB). Этот аппаратный компонент находится в MMU и работает чрезвычайно быстро и эффективно. Система сканирует TLB с целью поиска записи о соответствии адресов страницы и физической памяти. Если нужной записи там не оказывается, тогда ядру ОС приходится обращаться к памяти, искать нужное соответствие и обновлять информацию в TLB, чтобы получить из памяти нужные нам данные.

Если вы хотите больше узнать об управлении виртуальной памятью, то можете изучить эту публикацию. А пока давайте разберем, как в PHP 7 устроена работа с большими страницами (Huge Page).
Читать дальше →

Objective-C что такое на самом деле метод и self? + runtime

Reading time8 min
Views23K
Как self и _cmd оказываются в методе? Как работает dispatch table и категории? Что такое мета-класс? Сколько на самом деле методов у ваших классов в ARC и в MRC? Как работает swizzling?
Интересно? Добро пожаловать под кат!

ВНИМАНИЕ!

Эта статья не рассчитана на начинающих разработчиков… Приношу свои извинения за то, что не рассматриваю многие моменты, которые должен знать Objective-C разработчик.


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

Microsoft добавит поддержку компилятора Clang в ноябрьском обновлении Visual Studio 2015

Reading time2 min
Views22K


Microsoft добавит поддержку компилятора Clang в ноябрськом обновлении Visual Studio 2015 — об этом было заявлено на конференции CPPCon 2015, проходящей сейчас в городе Белвью, США.

Clang это компилятор кода на С, С++ и Objective-C, который в связке с LLVM позволяет собирать программы под различные платформы. Visual Studio 2015 уже поддерживает Clang для разработки Android и iOS-приложений. При разработке под Android можно выбирать между GCC и Clang, а для iOS приходится использовать внешний Mac в качестве билд-сервера.

Планируемое обновление принесёт поддержку Clang на качественно новом уровне — теперь им можно будет собирать обычные Windows-приложения.
Читать дальше →

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

Reading time21 min
Views49K
В этой статье мы рассмотрим два способа поиска с помощью регулярных выражений. Один широко распространён и используется в стандартных интерпретаторах многих языков. Второй мало где применяется, в основном в реализациях awk и grep. Оба подхода сильно различаются по своей производительности:



В первом случае поиск занимает A?nAn времени, во втором — An.

Степени обозначают повторяемость строк, то есть A?3A3 — это то же самое, что и A?A?A?AAA. Графики отражают время, требуемое для поиска через регулярные выражения.

Обратите внимание, что в Perl для поиска строки из 29 символов требуется более 60 секунд. А при втором методе — 20 микросекунд. Это не ошибка. При поиске 29-символьной строки Thompson NFA работает примерно в миллион раз быстрее. Если нужно найти 100-символьную строку, то Thompson NFA справится менее чем за 200 микросекунд, а Perl понадобится более 1015 лет. Причём он взят лишь для примера, во многих других языках наблюдается та же картина — в Python, PHP, Ruby и т. д. Ниже мы рассмотрим этот вопрос более детально.

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

Возникает логичный вопрос: а почему бы в Perl не использовать метод Thompson NFA? Это возможно и следует делать, и об этом пойдёт далее речь.
Читать дальше →

Создание плагина для Intellij IDEA. Заметки и мелкие советы

Reading time4 min
Views24K
Полгода назад или около того я загорелся-таки идей написать свой плагин для Intellij IDEA. Согласно задумке, он должен был считать, сколько времени разработчик потратил на проект (всего, за день, за сеанс) и отображать результат на диаграмме. Никакой магии, но такая функция здорово помогла бы мне рассчитывать время работы.


И что из этого вышло?

Грандиозное тестирование аккумуляторов AA/AAA

Reading time6 min
Views314K
После моего грандиозного тестирования батареек многие просили провести такие же основательные тесты NiMh-аккумуляторов. За четыре месяца я протестировал 198 аккумуляторов (44 модели AA и 35 моделей AAA).



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

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

Reading time9 min
Views86K
Мы изрядно пишем о технологии костной проводимости на страницах Geektimes:



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



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


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

Мобильные приложения для погружения в школьную науку

Reading time3 min
Views8.5K
Предметы естественнонаучного цикла, сложные сами по себе, имеют порой репутацию скучных и неинтересных дисциплин. Но почти всегда позитивные эмоции на уроке бывают, если на нем был продемонстрирован какой-нибудь эксперимент. А сегодняшний день для экспериментов по физике, химии (или любому другому предмету, на котором может быть проведен эксперимент) предлагает самые интересные решения, например, такие как цифровые лаборатории, и, конечно, соответствующее программное обеспечение. Отнесем сюда же и мобильные приложения, которые могут быть использованы как школьниками для самостоятельного изучения глубин школьных предметов, так и рекомендованы педагогами для повышения уровня интереса к предмету.

image

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

Первая в мире бесплатная онлайн лаборатория квантовой физики в Венском Университете к вашим услугам

Reading time4 min
Views19K
Приветствуем наших читателей на страницах блога iCover. Сегодня мы расскажем об очень интересной разработке ученых Венского института физики, раскрывающей уникальные возможности для бесплатного практического изучения основ квантовой физики с использованием первой в мире ультрасовременной научной лаборатории в режиме открытого онлайн-доступа.


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

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity