XSS-game от Google

Google представил игру, заключающуюся в поиске xss-уязвимостей, c целью распространения информации об этом наиболее опасном и распространенном типе уязвимости. Google очень серьезно относится к обнаружению уязвимостей, что платит до $7500 за серьезные xss.

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

Заметка короткая, под кат не убираю, разомните мозги в этот выходной день! Я вот без подсказок осилил только 1-й уровень, с подсказками дошел до 6-го, дальше пока никак.

ссылка на оригинал статьи http://habrahabr.ru/post/224773/

Я хочу! Или мир рекламы с ног на голову

Давно засилье рекламы доставляет дискомфорт обычному пользователю. Мы научились бороться с ней и блокировать на разных уровнях. Частенько нам предлагают товары и услуги которые нам часто не нужны. Google научился подбирать рекламу по потребностям пользователя но случается что потребность пользователь удовлетворил а реклама все мелькает перед его глазами.

В тоже время существуют биржи на которых продаются акции и даже товары. На них есть тот кто хочет продать и тот кто хочет купить.

Я думаю а почему бы не дать возможность пользователю объявить своё желание с параметрами времени и цены и пусть за его выбор борются производители и поставщики товаров и услуг.


Например: «Хочу шоколадку» в течении часа за 50 рублей максимум. И ближайшие магазины (скорей всего автоматика) дают по этому запросы предложения и соревнуются в цене, скорости и качестве может даже в наличии бесплатной доставки. Пользователь в свою очередь выбирает из них и делает заказ. После этого он получает возможность дать оценку поставщику и товару/услуге.

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

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

Со временем человек сможет обходиться без личной собственности ведь он сможет быстро найти то что ему нужно в данный момент без того чтобы это носить с собой или хранить где то. Единственная вещь которая ему будет нужна это смартфон который будет объявлять его желания на весь мир.

ссылка на оригинал статьи http://habrahabr.ru/post/224771/

Не наживайтесь на ошибках клиентов

Хочу поделиться двумя примерами того, как западные компании уважительно относятся к деньгам клиентов и не стараются их оставить себе в случае очевидных ошибок клиентов. Этого очень не хватает русским компаниям, особенно сотовым операторам, которые дошли уже до того, что при неправильном вводе USSD-команды показывают «анекдот» и списывают от 30 рублей.

Amazon

Захотелось посмотреть фильм, который вышел только в США, находясь в России. Решил сделать это через Amazon, так как там наиболее простая процедура оплаты российской картой. В результате кино мы смотрели с получасовыми паузами на буферизацию, похоже что сервера Amazon просто не рассчитаны на отдачу контента в Россию.

Кино посмотрели, буферизацию восприняли как должное, мол «сами виноваты», инцидент забылся. Но однажды утром я получаю СМС о том, что на карту было пополнение на небольшую сумму. Захожу на Gmail и вижу такое письмо:

Оригинал

Hello,

We noticed that you recently experienced poor video playback on Amazon Instant Video. We’re sorry for the inconvenience, and have issued you a refund for the following rental(s) and amount(s):

$3.99 — The Russian Soul

While Amazon Instant Video transactions are typically not refundable, we are happy to make an exception in this case. This refund should be processed within the next 2 to 3 business days and will appear on your next billing statement for the same credit card used to purchase this item.

Здравствуйте,

Мы заметили что у вас недавно возникли проблемы с воспроизведением на сервисе Amazon Instant Video. Мы приносим свои извинения за неудобства, а также оформили возврат за заказ:

$3.99 — The Russian Soul

Хотя обычно мы не возвращаем средства за Amazon Instant Video, но в данном случае рады сделать исключение. Вы должны получить средства в течении 2-3 рабочих дней на ту же карту, с которой оплачивали заказ.

Многие из нас не любят, когда за нами следит «большой брат», но в данном случае слежка таки идет на пользу. Что интересно, факт того что я смотрел видео из России их никак не остановил. Надо сказать, моей лояльности этот сервис выиграл просто огромное количество и в случае приезда в США я обязательно рассмотрю варианты его использования.

Google

У меня была оформлена подписка на полный доступ к музыке, но карта истекла и мне было пару месяцев лень исправлять ситуацию. А сегодня я решил послушать музыку (выходные же), для этого надо было снова активировать подписку. Кто не знает — оплата производится за каждый месяц использования. На дату (31.05) я посмотрел уже после того как произвел оплату. Предполагал худшее — что день прослушивания оказался «золотым», но потом зашел на страницу управления и что я вижу:

Вместо того, чтобы воспользоваться ошибкой клиента и снять плату сегодня и завтра, сегодня мне «простили».

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

ссылка на оригинал статьи http://habrahabr.ru/post/224767/

Увидел – Победил. Как устроен захват предметов у робота Tod Bot


Привет Хабр! А вот и снова мы! На перекор множествам скептиков, которые нередко встречались на нашем пути, мы продолжаем развивать проект «Робот Tod Bot». Данный пост является продолжением знакомства с модулем MoveIt как инструментом управления манипулятором.
Прежде всего хочется сказать, что нам удалось достигнуть значительных результатов в задаче захвата и перемещение предметов посредством манипулятора, а также в распознавании объектов, но обо всем по порядку.

Немного теории о захвате в MoveIt

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

  • Планирования сцены, которое обеспечивает инструмент Planning Scene Monitor
  • Идентификатор объекта для захвата
  • Поза захвата кисти для данного объекта

Последняя в свою очередь содержит следующие данные:

  • Положение и ориентация «кисти» манипулятора
  • Ожидаемая вероятность успешного захвата для этой позы
  • Предварительный подход манипулятора, который определяется как направление вектора — минимальное/желаемое расстояние подхода
  • Отступ манипулятора после захвата, который определяется как направление вектора — минимальное расстояние отступа
  • Максимальное усилие захвата

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

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


1- Начальное положение; 2- Позиция предзахвата; 3 – Позиция захвата;

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

  1. Планируется траектория от начального положения в точку предзахвата. Если провести аналогию с посадкой самолета на взлетную полосу, то это будет заход на посадку.
  2. Все объекты окружающей среды изначально включены в матрицу столкновений, об этом мы писали <тут>. Что бы наш захват увенчался успехом, проверка столкновений отключается. Затем открывается захват.
  3. Рассчитывается траектория подхода манипулятора к объекту от точки предзахвата к точке захвата.
  4. Закрывается захват.
  5. Захваченный объект по-прежнему представляется объектом столкновения столь лишь разницей, что теперь он является частью захвата и учитывается при планировании траектории.
  6. Затем генерируется траектория отступа из позиции захвата в точку предзахвата для отрыва предмета от поверхности и фиксации результата поднятия предмета.

Построенный план, содержащий все необходимые траектории, теперь может быть выполнен.

О том, что еще не сказали

Входе наших экспериментов мы решили добавить нашей руке к первоначальным четырем степеням свободы еще две. На видео и фото они изображены красным цветом. Связано это с тем, что в случае использования захвата в виде вилки или антропоморфной кисти необходима хорошая гибкость манипулятора. Кстати, если использовать в качестве захвата вакуумную присоску, то все несколько упрощается и может быть достаточно 4 степеней свободы, т.к. для захвата используется только одна плоскость.
На самом деле, возможность выполнения захвата во многом упирается в генерирование позиций захвата: чем больше и разнообразней будут генерироваться позиции, тем проще будет подобрать оптимальную. Хотя у всего этого есть и обратная сторона медали: чем больше позиций, тем больше времени потребуется на их обработку. В нашем случае мы генерировали сперва 10, 34 позиции, потом 68, а потом 136. Лучшим вариантом, который устроил нас — 34 позиции. При минимальном количестве позиций манипулятору достаточно сложно стать в сгенерированную позу, как правило манипулятор просто физически не может ее достигнуть: не в состоянии именно так вывернуться, слишком короткий, слишком длинный и т.д. При 34 присутствуют от 2 до 5 позиций удовлетворяющих всем условиям.

Распознавание объектов

Для этих целей мы решили использовать узел ROS tabletop_object_detector. Он был реализован учеными Университета Британской Колумбии и уже успел себя зарекомендовать. Хотя, на мой взгляд, выбор системы должен зависеть непосредственно от тех условий, в которых вы собираетесь применять распознавание и тех объектов, которые нужно идентифицировать. В нашем случае распознавание осуществляется по форме объектов, и если вам нужно различить банку огурцов от банки помидоров, то этот метод не подойдет. Для идентификации объектов используются данные камеры глубины, получаемые с Kinect.
Прежде чем распознавать, сперва необходимо обучить систему — создать 3D модель искомого объекта.


3D модель пачки Pringles

После чего система сравнивает получаемые данные с имеющимися в базе моделями.
Результат распознавания выглядит так:

Как и следовало ожидать, скорость поиска объектов на прямую зависит от мощности машины, на которой осуществляется обработка данных. Мы использовали ноутбук с intel core 2 duo 1.8ghz и 3Gb RAM. При этом на идентификацию объектов уходило порядка 1,5 – 2 секунд.
Ну и естественно, умея выделять и идентифицировать объекты из окружающей среды, теперь хочется брать и перемещать их. Следующим шагом будет объединение задач распознавания и управления манипулятором на реальном роботе.

ссылка на оригинал статьи http://habrahabr.ru/company/tod/blog/224765/