Как стать автором
Обновить
21
0
Александр @Alex_Tri

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

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

Корреляция, ковариация и девиация (часть 3)

Время на прочтение5 мин
Количество просмотров44K


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

В данной статье покажем, что матрица Грина и матрица корреляции — суть одно и то же.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии1

Детектор эллипсов в реальном времени

Время на прочтение4 мин
Количество просмотров19K
Первым шагом при разработке приложения, работающего с дополненной реальностью, является выбор метки с ее последующим распознаванием в реальном времени. Ряд алгоритмов предлагает использовать специально созданные метки, ряд обучается на подходящем изображении, мы же решили остановиться на том, что почти всегда есть у всех под рукой – монетах. Их выбор в качестве меток и привел нас к задаче поиска эллипсов. Конечно, из-за искажений камеры и небольшой цилиндричности монета на изображении не всегда является точно эллипсом, но достаточно близка по форме к этой кривой. В качестве целевой платформы был выбран современный телефон на ARM-процессоре. Для дополнения в реальном времени требуется не меньше 20 кадров в секунду, так что можно тратить не более 50 миллисекунд на обработку каждого кадра.


Подробности решения задачи
Всего голосов 25: ↑25 и ↓0+25
Комментарии24

Создание плагинов для AutoCAD с помощью .NET API (часть 5 – знакомство с блоками)

Время на прочтение25 мин
Количество просмотров15K
В пятой части цикла, посвященного разработке плагинов под AutoCAD, я расскажу про создание простых блоков и размещение их на чертеже.

public static string disclaimer = "Автор не является профессиональным разработчиком и не обладает глубокими знаниями AutoCAD. Этот пост – просто небольшой рассказ о создании плагина."

Такие простые блоки
Всего голосов 12: ↑11 и ↓1+10
Комментарии6

Вирус-вымогатель как сервис для всех желающих

Время на прочтение2 мин
Количество просмотров18K
image
Логотип

Ко множеству различных сервисов, представленных в интернете, добавился ещё один – правда, весьма необычный. Проект Tox предлагает всем желающим анонимно поучаствовать в вымогательстве за процент с прибыли. (Проект не имеет отношения к анонимному мессенджеру Tox).

Сайт на onion-домене (скрытый сервис в сети Tor) содержит инструкцию по тому, как происходит получение прибыли. Для этого используется вирус особого типа, известного как ransomware. Такие вирусы незаметно зашифровывают файлы на накопителе компьютера, после чего требуют перевести n-ную сумму денег для получения ключа для их расшифровки. Для анонимности деньги часто требуют переводить в валюте биткоин.

Сайт Tox предлагает желающим зарегистрироваться (даже без e-mail), создать учётную запись в системе и получить свою персонализированную версию вируса. Вирус будет требовать с жертвы установленную вами долю. Полученные деньги будут перечисляться на счёт сервиса, а вам будет доставаться 70% от «заработанной» суммы в биткоинах. Как пишут создатели сервиса – довольно честная сделка, не правда ли?

image
Личный кабинет

За вами остаётся лишь один аспект работы – распространение вируса. Как поясняют создатели, они сами тоже этим занимаются, но справедливо рассудили, что чем больше народу будет в этом участвовать, тем больше будет прибыль. Участникам данного «сервиса» они советуют распространять его в качестве приложения к письмам. Файл с вирусом имеет расширение .scr — классическая техника маскировки исполняемого файла под хранитель экрана.
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии20

Безопасность сетевой инфраструктуры. Расширенные методы взлома и защиты. Видео

Время на прочтение1 мин
Количество просмотров64K
Мы решили продолжить нашу традицию публиковать записи наших предыдущих вебинаров для всех желающих с целью повышения уровня осведомленности в ИБ.
Программа курса:

Первое занятие — «Инструментарий пентестера»
Это занятие представляет из себя небольшой обзор истории появления и развития дистрибутива BackTrack и превращением его в Kali Linux.


Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии6

Trojan-Downloader.Win32.Cabby.cemx — Часть первая — Распаковка

Время на прочтение12 мин
Количество просмотров35K
Привет, Хабр!

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

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

Сразу предупрежу, будет много картинок и листингов дизассемблированного кода.

Готов к конструктивной критике и буду рад вашим советам по оптимизации моих мыслей.

В недалеком прошлом в нашу компанию проник нашумевший CTB-Locker, что заинтересовало нашу службу информационной безопасности: почему не сработали антивирусы и фильтрация веб-трафика? Что конкретно делает данный зловред, хорошо описано на securelist. С этим все ясно и не имеет смысла проводить повторный анализ того, что и так неплохо описано.

С целью понимания причин инцидента рассмотрим именно вектор распространения данного зловреда.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии17

Создание плагинов для AutoCAD с помощью .NET API (часть 4 – вставка примитивных объектов)

Время на прочтение16 мин
Количество просмотров14K
Добро пожаловать в четвертую часть цикла, посвященного разработке плагинов под AutoCAD. Предыдущие статьи затрагивали общие вопросы создания плагина — а теперь, вооружившись этими знаниями, можно наконец-то перейти к главной задаче, стоящей перед пользователем AutoCAD: редактированию чертежа.

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

public static string disclaimer = "Автор не является профессиональным разработчиком и не обладает глубокими знаниями AutoCAD. Этот пост – просто небольшой рассказ о создании плагина.";
Линии и не только
Всего голосов 10: ↑9 и ↓1+8
Комментарии6

PARI/GP: вычисления в конечных полях. Часть 1

Время на прочтение4 мин
Количество просмотров7.5K

Почему PARI/GP?


PARI/GP — это система компьютерной математики с собственным C-подобным интерпретируемым языком, ориентированная на вычислительную теорию чисел. Система пользуется популярностью в научной среде: согласно Google Scholar только за 2014 год порядка 100 тематических статей, использующих PARI/GP, были опубликованы в реферируемых журналах/конференциях.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Мины в Haskell и Gloss: быстрое прототипирование интерактивной графики

Время на прочтение14 мин
Количество просмотров12K
На Хабрахабре есть уже немало хороших статей по хаскелю, но по большей части это всяческие введения в ФП, разъяснения каких-то теоретических штук (вроде монад, лямбда-исчисления или семейств типов) и совсем немного практических примеров. Ни в коем случае не умаляя их полезности, попробую всё-таки сместить дисбаланс, внести свою лепту в неблагодарное дело популяризации функциональщины и ещё раз показать, что язык пригоден не только для написания факториалов и неэффективных быстрых сортировок в две строчки, но и для вполне практичных вещей вроде быстрого прототипирования.

Статья постарается быть относительно real-world, но при этом не утомлять читателя объёмом или экзотическими предметными областями. «Графика и игры в обучении — это всегда sexy», как завещал великий В. С. Луговский, поэтому я набросаю простую игру, всенародно любимый «Сапёр». Разработка будет вестись «сверху вниз» — это удручающе малораспространённая, но заслуживающая пристального внимания (как и сам хаскель) методология, которая когда-то давно встретилась в отличной статье о шашках в «Практике функционального программирования», и с тех пор запала в душу.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии4

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 3.1 из 6

Время на прочтение8 мин
Количество просмотров27K

Содержание основного курса


Улучшение кода



Общение вне хабра

Если у вас есть вопросы, и вы не хотите задавать их в комментариях, или просто не имеете возможности писать в комментарии, присоединяйтесь к jabber-конференции 3d@conference.sudouser.ru

Данная статья написана в тесном сотрудничестве (спасибо создателям XMPP) с haqreu, автором данного курса.Мы начали масштабный рефакторинг кода, направленный на достижение максимальной компактности и читаемости. Мы сознательно пошли на отказ от ряда возможных и даже очевидных оптимизаций для получения максимально доступного для понимания кода учебных примеров.
P. S haqreu буквально на днях выложит статью о шейдерах!
Познавательного чтения!
Всего голосов 51: ↑43 и ↓8+35
Комментарии41

Борьба с 2D-физикой в Unity на примере бесконечной игры

Время на прочтение9 мин
Количество просмотров83K


Мой странный творческий путь занес меня в разработку игр. Благодаря отличной студенческой программе от IT-компании, название которой СостоИт из одной Греческой МАленькой буквы, сотрудничающей с нашим университетом, удалось собрать команду, родить документацию и наладить Agile разработку игры под присмотром высококлассного QA-инженера (здравствуйте, Анна!)

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

Наша игра использовала физический движок неожиданным для него способом, что породило множество проблем с производительностью на мобильных платформах. В этой статье, на примере нашей игры, описана моя борьба с физическим движком и все те особенности его работы, которые были замечены на пути к жизнеспособной бета-версии.
Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии32

Что нужно знать, чтобы хорошо рисовать?

Время на прочтение5 мин
Количество просмотров258K


Давид Ревуа — прекрасный художник, работающий со свободным программным обеспечением, постоянный член сообществ Krita Foundation и Blender Institute, концепт-художник анимационных проектов Gooseberry Open Movie Project, Mango Open Movie Project (Tears of Steel) и Durian Open Movie Project (Sintel). В этой статье он делится с начинающими художниками списком знаний, которые необходимо приобрести, чтобы работы получались реалистичными. Он обращает внимание, что для рисования «в цифре» следует обзавестись теми же навыками, что и в традиционной технике. Итак, приобщимся к его опыту.
Читать дальше →
Всего голосов 134: ↑128 и ↓6+122
Комментарии113

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

Время на прочтение8 мин
Количество просмотров28K
image

Сейчас в мире существует большое количество сканеров информационной безопасности разных компаний (в том числе — MaxPatrol, XSpider и анализатор кода Application Inspector производства Positive Technologies). Подобные инструменты различаются ценой, качеством сканирования, типами определяемых уязвимостей, методами их поиска и еще десятками параметров.

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

Как правило, результатом работы любого сканера безопасности является список обнаруженных уязвимостей, полученный в процессе анализа веб-приложения. Тот факт, что в сканерах используются эвристические алгоритмы, приводит к проблеме наличия ложных срабатываний и заполнению списка несуществующими в реальности уязвимостями (false positives). А это, в свою очередь, приводит к необходимости выделить ИБ-эксперта для проверки работы сканера.

Для подтверждения наличия уязвимости предлагается использоваться «эталонные» списки уязвимостей, содержащихся в похожих веб-приложениях. Аналитик может использовать такие списки для выявления наиболее вероятных уязвимостей тестируемого продукта и отсеивать очевидные false positives.
Читать дальше →
Всего голосов 33: ↑26 и ↓7+19
Комментарии3

Насколько медленны iostreams?

Время на прочтение7 мин
Количество просмотров79K
Потоки ввода-вывода в стандартной библиотеке C++ просты в использовании, типобезопасны, устойчивы к утечке ресурсов, и позволяют простую обработку ошибок. Однако, за ними закрепилась репутация «медленных». Этому есть несколько причин, таких как широкое использование динамической аллокации и виртуальных функций. Вообще, потоки — одна из самых древних частей стандартной библиотеки (они начали использоваться примерно в 1988 году), и многие решения в них сейчас воспринимаются как «спорные». Тем не менее, они широко используются, особенно когда надо написать какую-то простую программу, работающую с текстовыми данными.

Вопрос производительности iostreams не праздный. В частности, с проблемой производительности консольного ввода-вывода можно столкнуться в системах спортивного программирования, где даже применив хороший алгоритм, можно не пройти по времени только из-за ввода-вывода. Я также встречался с этой проблемой при обработке научных данных в текстовом формате.

Сегодня в комментариях у посту возникло обсуждение о медленности iostreams. В частности, freopen пишет
Забавно смотреть на ваши оптимизации, расположенные по соседству со считыванием через cin :)

а aesamson даёт такую рекомендацию
Можно заменить на getchar_unlocked() для *nix или getchar() для всех остальных.
getchar_unlocked > getchar > scanf > cin, где ">" означает быстрее.


В этом посте я развею и подтвержу некоторые мифы и дам пару рекомендаций.
Читать дальше →
Всего голосов 90: ↑88 и ↓2+86
Комментарии80

IPv6 SLAAC Attack

Время на прочтение3 мин
Количество просмотров38K
image

Прочитал недавно статью «IPv6 под прицелом» и решил написать более подробно об атаке SLAAC (SLAAC Attack), т.к. эту атаку я уже давно в голове держу, развернутого материала на русском не нашел, да и самому интересно ее было повторить.

Суть атаки


В чем суть атаки? Во-первых, она очень простая и надежная, т.к. использует стандартные технологии и инструменты ОС. По сути, вы просто становитесь единственным IPv6-маршрутизатором в сети и раздаете клиентам IPv6-подсеть, из которой клиенты берут себе адреса либо автоматически генерируя их (SLAAC), либо спрашивая у вашего же DHCPv6-сервера. Напомню, что IPv6 включен по умолчанию во всех современных десктопных, мобильных и серверных ОС, имеет приоритет над IPv4 (кроме некоторых случаев), адрес IPv6, в отличие от IPv4, может быть получен в любой момент, а не только в момент совершения подключения, и крупные веб-сайты уже давно доступны через IPv6. Атака работает как в проводных сетях, так и в беспроводных. Не все свитчи, даже современные, поддерживают фильтрацию Router Advertisement, и, как я полагаю, не все включают эту функцию, даже если она поддерживается свитчем, полагая, что раз в сети нет IPv6, то и фильтровать ничего не нужно. К слову, на данный момент, фильтр Router Advertisement можно обойти на всех свитчах, использовав недостатки реализации.

Я смог придумать две реализации атаки:
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии27

Детекторы углов

Время на прочтение18 мин
Количество просмотров110K
Мне интересна обработка изображений, в особенности работа с особыми точками. Ища информацию по детекторам углов, я не нашел достаточно большого обзора этих алгоритмов на русском языке. Поэтому я решил исправить ситуацию, написав эту статью. План статьи следующий:

  • Введение
  • Свойства особых точек
  • Детекторы углов
    • Moravec
    • Harris
    • Shi-Tomasi
    • Förstner
    • SUSAN
    • Trajkovic
    • FAST
    • CSS
    • Детектор, основанный на глобальных и локальных свойствах кривизны
    • CPDA
  • Выводы



Читать дальше →
Всего голосов 118: ↑116 и ↓2+114
Комментарии28

Process Mining: знакомство

Время на прочтение5 мин
Количество просмотров60K
Приветствую, Хабрахабр!

В этой статье я постараюсь приоткрыть завесу над интересной технологией из области управления бизнес-процессами (eng wiki BPM). Интеллектуальный анализ процессов (eng wiki Process Mining) фокусируется на обнаружении, анализе и оптимизации бизнес-процессов на основе данных из журналов событий (англ. event logs), представляя недостающее звено между классическим анализом бизнес-процессов с использованием их моделей и интеллектуальным анализом данных (eng wiki Data Mining).

Disclaimer
Статья подготовлена на основе материалов онлайн курса coursera Process Mining: Data Science in Action, являющихся собственностью Технического университета Эйндховена. Использование материалов статьи возможно только с разрешения авторов курса и с указанием ссылок на источник.



Рисунок 1. Позиционирование Process Mining.

Далее мы разовьем тему позиционирования, коснемся вариантов использования, поговорим об исходных данных и рассмотрим различные типы интеллектуального анализа процессов.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии2

Процесс постоянных изменений в компании — как это автоматизируется

Время на прочтение9 мин
Количество просмотров26K
Сейчас расскажу, зачем это нужно на примере одного крупного производственного холдинга, внезапно осознавшего, что несколько миллионов рублей может теряться просто так. Причём из-за банальной незраберихи, хаоса и ошибок бюрократии. И всё это на фоне глобального рефакторинга процессов.

Итак, в крупном производственном холдинге есть много компаний, объединённых в одну группу. В 2011 и 2012 году они показывали высокую прибыль, при которой можно забыть об оптимизации и просто фигачить как можно быстрее дальше, пока получается. «Что тут думать, трясти надо» — оптимальная бизнес-стратегия на таких нормах прибыли. В 2013-м году из-за общей экономической ситуации стало понятно, что прибыль будет снижаться. Соответственно, первое, что начало делать большое руководство — это разбираться, куда и как конкретно тратятся деньги, чтобы найти то, что можно безболезненно оптимизировать или просто убрать.
Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии15

Бесплатный CppCat для студентов

Время на прочтение3 мин
Количество просмотров22K
Бесплатный CppCat для студентов
CppCat – это статический анализатор кода, интегрирующийся в среду Visual Studio 2010-2013. Анализатор предназначен для регулярного использования и позволяет выявить множество ошибок и опечаток в программах на языке Си и Си++. С целью его популяризации мы решили выдавать бесплатные лицензии всем студентам, которые к нам обратятся. Достаточно прислать фотографию студенческого билета или зачётной книжки.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии32

Курс пиксель-арта 4

Время на прочтение4 мин
Количество просмотров71K
Это перевод публикации «Les Forges Pixel Art Course».

Часть 1: Правильные инструменты
Часть 2: Линии и кривые
Часть 3: Перспективы
Часть 4: Тень и свет
Часть 5: Палитры цветов
Часть 6: Сглаживание
Часть 7: Текстуры и размытие
Часть 8: Мир тайлов

Часть 4: Тень и свет


Сегодня мы перейдём из 2D в 3D, в то время как останемся в 2D. Вы увидите (или нет). С тем что мы обсуждали до сих пор, вы сможете делать красивые штриховые рисунки и рисовать предметы с корректной перспективой. Это хорошее начало, но этого недостаточно чтобы делать пиксель-арт. В этой части мы взглянем на затенение. Это набор техник, которые позволит нам ваять наши пейзажи и персонажей чтобы представить объём (и я избавлю вас от долгого рассказа о традиционной важности этой части, ЭТО ПРОСТО СУПЕР ВАЖНО).
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии16

Информация

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