PreviewПОДУШКА БЕЗОПАСНОСТИТы любишь ломать. Но больше всего ты любишьломать собственную систему. Или не любишь— но так уж оно всегда выходит. Делов том, что перед тем, как проводить над своимпингвином эксперименты, которые бы заставилипокраснеть и доктора Менгеля, нужно подстелитьправильную соломку. И в Linux этой соломкимного. Поговорим о том, как запускать процессыв изолированном окружении, работать со снапшотамифайловой системы Btrfs, а также создадимраздел для восстановления всей системы.Ну, знаешь, на случай если соломка не поможет.118UNIXOID114UNIXOID102КОДИНГ106КОДИНГ7 СТОЛПОВ LINUXПоговорим о том, что происходит под капотомв современных версиях ядра Linux. Самые важныеи удачные компоненты рассмотрены со всехмыслимых сторон.КОДИМ ДЛЯ KINECT ПОД WINDOWSЕсли ты давно следишь за ][, то наверняка ужевспомнил, что про разработку для Kinect мыкогда-то уже писали. Что ж, многое изменилось,но это по-прежнему очень круто.СЕРИАЛИЗАЦИЯ БЕЗ НАПРЯГАУчимся передавать большие структуры данныхбез написания кучи лишнего кода. В этом нампоможет protobuf от разлюбимой «корпорациидобра».124SYN/ACK128SYN/ACK132SYN/ACKПОГРАНИЧНЫЙ ЗАСЛОНОбеспечиваем работникам безопасный доступво всемирную паутину с помощью пакетаUserGate Proxy & Firewall 6.0 и оставляем себемаксимум возможностей для контроля.ИСПЫТАНИЕ ГОСТЯМИДелаем публичный Wi-Fi-хотспот с одновременнопростой и надежной авторизацией. Для этогопридется поближе познакомиться с технологиейCaptive Portal.НОВЫЕ ГОРИЗОНТЫМы любим nginx. Мы рассказывали тебе о его настройкевсе, что только можно. Мы брали интервьюу создателя, Игоря Сысоева. Что еще можнорассказать о нем? Оказывается, многое.
102КодингХАКЕР 04 /171/ 2013КОДИМ ДЛЯ KINECTПОД WINDOWSПодслушиваем, подсматриваеми записываем через Кинект.И это только начало!Юрий «yurembo» Язевyazevsoft@gmail.comВ художественном фильме «Бегущий человек»показывают тетку, которая занимается фитнесомперед телевизором (в аккурат перед тем,как к ней вломится Шварц). Думаешь, у нее естьKinect? Нет, в ее будущем нет Кинекта! Она простозанимается гимнастикой перед обычнымтелевизором. А у нас, в настоящем будущем,есть Кинект. И мы научимся его программить.И никакой Шварц за это к нам не вломится!Cпустя шесть дней после того, как Microsoft выпустилаКинект для Xbox (в ноябре 2010-го), он былразгрызен хитрыми хакерами, и первая open sourceбиблиотека для работы с Кинект на ПК libfreenectбыла выложена в открытый доступ.Через месяц израильская компания PrimeSence начала работунад открытыми проектами — наборами драйверов для Кинекта:OpenNI и NITE. На этом стоит заострить внимание: изначальноMicrosoft лицензировала у PrimeSense устройствос двумя камерами и инфракрасным источником света и для полученияиз него Кинекта (вначале — Project Natal) добавилачетыре микрофона, поскольку имела большие наработки в областираспознавания голоса. И только в июне 2011-го был выпущенофициальный Kinect SDK от Microsoft. Естественно, он сталсамым популярным среди разработчиков, поскольку включаетподдержку всех средств Кинекта и при этом бесплатен для использованияв исследовательских целях.Первый раз я познакомился с Kinect SDK год назад, тогдаеще с версией 1.0. В то время про нее на самом деле нечегобыло рассказывать, но сегодня мы имеем версию 1.6, и в нейуже есть чем полакомиться.ЭКИПИРУЕМСЯГлавное различие между Kinect for Xbox и Kinect for Windowsзаключается в расстоянии от сенсора до игрока: с Кинектомдля бокса можно взаимодействовать на расстоянии от 80сантиметров до 4 метров, тогда как с Кинектом для ПК можноуправляться уже на расстоянии 40 сантиметров. Если выйтиза указанные пределы, то мы попадем в слепую зону и сенсорне будет реагировать на жестикуляцию игрока. Вдобавок Кинектдля Windows способен определять движения каждого пальца.На протяжении статьи я буду использовать Kinect for Xbox по одной простойпричине: его стоимость сравнительно меньше, чем Kinect for Windows, к тому жеего легче достать, одолжив у владельца Xbox. Чтобы использовать на компе сенсор,предназначенный для консоли, понадобится адаптер для подключения к USBслоту,поскольку у Кинекта отличный от USB штекер — кроме стандартных четырехконтактов USB, он добавочно имеет 12-вольтовый контакт для обеспечения питаниядвигателя камеры. Такой переходник можно купить в магазине или сделатьсамостоятельно.ВЫБИРАЕМ ИНВЕНТАРЬВ случае использования SDK от Microsoft можно работать с уже привычнымитулзами. Я буду кодить под Windows 7 и пользоваться Visual Studio 2010, но никтоне запрещает брать более новые версии продуктов, тем более что их поддержкабыла добавлена в последнюю версию SDK. Кроме того, понадобится последняяверсия .NET Framework — 4.5. Безусловно, потребуется Kinect SDK for Windows,последняя версия на момент написания статьи была 1.6. Для некоторых примеровиз данного набора SDK (в частности, для тех, что написаны на C++), нуженDirectX SDK.Для работы с Kinect SDK можно использовать управляемые и неуправляемыеязыки. К числу первых относятся VB.NET и C#, а ко второй категории — C++.По сложившейся традиции мы будем кодить на C#. Сначала надо установить драйверыдля Кинекта (файл KinectSDK-v 1.6-Setup.exe), затем набор средств разработчика(Kinect Developer Toolkit-v 1.6-Setup.exe), включающий сэмплы и полезныеутилы. Никаких подводных камней в процессе установки нет, чтобы избежатьлишних проблем, надо просто соблюсти порядок инсталляции компонентов. Еслиперед этим у тебя были установлены какие-то драйверы для Кинекта или MicrosoftSpeech, то их надо предварительно удалить. Заметь, что Speech мог быть установленс другими продуктами Microsoft, поэтому перепроверь его отсутствие. Послепроцедуры инсталляции драйверов будет отображен список успешно установленныхдрайверов (см. рис. 2). Первая строчка относится к драйверу адаптера, и, еслиты используешь Кинект для ПК, ее не будет.