Защита фотографий от скриншотов с помощью временного дизеринга / Хабрахабр сегодня в 00:50Защита фотографий от скриншотов с помощью временного дизеринга Обработка изображений*,
Canvas*
Пару дней назад Facebook запустил свою альтернативу SnapChat - мобильное приложение Poke для передачи картинок, которые самоуничтожаются через 1, 3, 5 или 10 секунд. Конечно, можно успеть заснять скриншот, прежде чем фотография исчезнет с экрана. Отправитель получает уведомление, что получатель сделал скриншот, но уже беспомощен в такой ситуации.
Можно ли защитить фотографию от снятия скриншотов? Разработчик по имени Михай Парпарита (Mihai Parparita) предлагает использовать
временный дизеринг (temporal dithering). Суть в том, что оригинал фотографии передаётся двумя кадрами: положительный и отрицательный. В «положительном» кадре к каждому пикселу добавляются случайные значения RGB. В «отрицательном» кадре они же отнимаются. За счёт быстрой смены кадров положительные и отрицательные значения должны сократиться, воссоздавая в глазу зрителя оригинальную фотографию.
Технически, метод реализуется за счёт загрузки фотографии в , где уже генерируются положительный и отрицательный кадр. Смена кадров осуществляется с помощью метода
requestAnimationFrame при каждом обновлении картинки на экране (например, 60 Гц).
Демо-страница (proof-of concept)Исходный код программы Автор рассуждает, что такой метод, конечно, не даёт надёжной защиты. Это просто маленький трюк, который легко обойти, если модифицировать программу для снятия скриншотов. С другой стороны, компания Apple вряд ли будет модифицировать программу для снятия скриншотов на iOS из-за такой мелочи.
Метод имеет и очевидную «аналоговую дыру», ведь скриншот можно снять с помощью другого устройства.-----------------------
http://habrahabr.ru/post/163329/ вчера в 23:21Skype-бот для голосовых конференций
Skype*,
Python*
Вероятно, некоторые помнят сервис Skype Casts - публичные голосовые конференции, где каждый мог создать конференцию, которая анонсировалась на сайте skype.com. В 2008 году сервис был закрыт.
Сегодня единственная возможность хостить конференцию - держать запущенным Skype-клиент.
Это не удобно, потому как человек, который «держит» конференц-звонок не может принять входящий вызов, иначе конференция будет поставлена на удержание и никто в ней не сможет общаться. Если у хоста проблемы с интернетом - связь портится у всех.
К тому же хостить звонок в котором 10-15 участников существенно нагружает компьютер.
Мы пытались решить эту задачу держа запущенным Skype на Windows-сервере. Чтобы звонок не обрывался когда все участники кладут трубку - приходилось запускать две копии клиента и держать второго как участника конференции.
Но такая схема не очень стабильна, через 3-5 дней один из клиентов вылетает и звонок обрывается. Приходилось каждый переподнимать его вручную.
И вот наконец удалось найти стабльное и просто решение на основе skypekit позволяющие:
Постоянно держать звонок с помощью одной копии skypekit.
Если все участники конференции положили трубки, звонок перезапускается как /golive
Хостить бота на Linux-сервере без X-ов.
Десктопный клиент требует для запуска X-сервер. Skypekit можно запускать без него, даже на VPS.
Доступен под все платформы Windows/Linux/Mac
Управлять ботом через комманды в чате
Бот умеет разграничивать права доступа, различать комманды отправленные из основного чата конференции и из других чатов.
При желании можно написать аналог irc-шного eggdrop.