Search
Write a publication
Pull to refresh
82
0
Send message

Модернизация IDA Pro. Debugger-плагин. Часть I. Теория

Reading time4 min
Views29K

Всем привет. Я решил попробовать начать цикл статей по модернизации нашей с вами любимой IDA Pro.
В каждом из туториалов я попытаюсь раскрыть довольно таки сложную и мало изученную тему: написание различных модулей:
  • загрузчики;
  • плагины;
  • дебагер-плагины;
  • процессорные модули;
  • скрипты.

И, если процессорные модули, плагины и скрипты — тема все таки более менее раскрытая, то все остальное — практически полный мрак (в конце статьи я дам список литературы и проектов, где есть хоть что-то).

Итак, первая статья из цикла будет посвящена написанию плагина-отладчика, а точнее предварительной теории. В штатной поставке IDA SDK уже имеются исходники основных дебагеров (Windows, Linux, Mac). Но как быть, например, с Amiga, M68000?
Читать дальше →

Как доставляют действительно сложные товары

Reading time2 min
Views12K
Pochta.fi – это почтовое отделение в Финляндии, куда жители Санкт-Петербурга и Ленинградской области уже несколько месяцев заказывают посылки из разных стран. Мы помогаем клиентам, чьи любимые интернет-магазины не отправляют посылки в Россию или же делают это по космическим ценам. Так уж вышло, что доставить посылку в Финляндию по территории Евросоюза сильно дешевле, чем отправить тоже самое в Россию. Кроме этого наши клиенты получают адрес для покупок в США, куда заказывают из американских интернет-магазинов.

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



В чем же смысл заказывать посылки в Финляндию, да еще и ехать за ними, теряя выходной?
Читать дальше →

Магия тензорной алгебры: Часть 4 — Динамика точки в тензорном изложении

Reading time8 min
Views33K

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение


Итак, настал момент применить на практике всё то, о чем мы так долго рассуждали теоретически. Данная заметка будет использовать в основном материал предыдущей статьи, в которой есть ссылки на предыдущие публикации по тензорной тематике.

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

\frac{d}{dt} \left(\frac{\partial T}{\partial \dot{q}^i} \right ) - \frac{\partial T}{\partial q^i} = Q_i \quad i = \overline{1,s}

где s — число степеней свободы механической системы; q^i — обобщенная координата; T = T\left(\vec{q}, \, \dot{\vec{q}} \right ) — кинетическая энергия механической системы; Q^i — обобщенная сила.

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

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

Что же, начнем!
Читать дальше →

Магия тензорной алгебры: Часть 3 — Криволинейные координаты

Reading time8 min
Views70K

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение


Читая отзывы к своим статьям, понял, что я излишне перегрузил читателя теоретическими вводными. Прошу за это прощения, признаться честно, я сам далек от формальной математики.

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

А пока что рассмотрим некоторые теоретические основы. Добро пожаловать под кат.
Читать дальше →

Дистанционный индикатор вирусоносителей

Reading time2 min
Views4.5K
По всем каналам СМИ сегодня транслируются видеорепортажи, в которых явно можно узнать лейблы «Спецлаб» и «GOALcity»



Эта система, установленная на вокзалах и в аэропортах, позволяет в автоматическом режиме выявлять больных людей, прибывающих в нашу страну. В прошлые годы GOALcity уже потрудилась при профилактике птичьего и свиного гриппа, теперь стоит задача – не пустить коронавирус в Россию. Что может сказать хорошего разработчик?

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

Гибридная реализация алгоритма MST с использованием CPU и GPU

Reading time18 min
Views15K

Введение


Решение задачи поиска минимальных остовных деревьев ( MST — minimum spanning tree) является распространенной задачей в различных областях исследований: распознавание различных объектов, компьютерное зрение, анализ и построение сетей (например, телефонных, электрических, компьютерных, дорожных и т.д.), химия и биология и многие другие. Существует по крайней мере три известных алгоритма, решающих данную задачу: Борувки, Крускала и Прима. Обработка больших графов (занимающих несколько ГБ) является достаточно трудоемкой задачей для центрального процессора (CPU) и является востребованной в данное время. Все более широкое распространение получают графические ускорители (GPU), способные показывать намного большую производительность, чем CPU. Но задача MST, как и многие задачи по обработке графов, плохо ложатся на архитектуру GPU. В данной статье будет рассмотрена реализация данного алгоритма на GPU. Также будет показано, как можно использовать CPU для построения гибридной реализации данного алгоритма на общей памяти одного узла (состоящего из GPU и нескольких CPU).
Если интересно, то жми сюда

Будущее влияет на прошлое? Учёные подтвердили мысленный квантовый эксперимент Уилера на примере отдельных атомов

Reading time5 min
Views125K
image
Профессор Эндрю Траскот и студент Роман Хакимов отважно заглядывают в квантовый мир

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

Этот принцип — один из фундаментальных законов, который мало кто оспаривает. Хотя многие физические величины и явления не меняются, если мы обратим время вспять (являются Т-чётными), существует фундаментальный эмпирически установленный принцип: событие А может влиять на событие Б, только если событие Б произошло позже. С точки зрения классической физики — просто позже, с точки зрения СТО — позже в любой системе отсчёта, т.е., находится в световом конусе с вершиной в А.

Пока что только фантасты сражаются с «парадоксом убитого дедушки» (вспоминается рассказ, в котором оказалось, что дедушка вообще был ни при чём, а надо было заниматься бабушкой). В физике путешествие в прошлое обычно связано с путешествием быстрее скорости света, а с этим пока было всё спокойно.

Кроме одного момента — квантовой физики. Там вообще много странного. Вот, например, классический эксперимент с двумя щелями. Если мы поместим препятствие со щелью на пути источника частиц (например, фотонов), а за ним поставим экран, то на экране мы увидим полоску. Логично. Но если мы сделаем в препятствии две щели, то на экране мы увидим не две полоски, а картину интерференции. Частицы, проходя сквозь щели, начинают вести себя, как волны, и интерферируют друг с другом.
Читать дальше →

Полезные возможности CMS для видеонаблюдения

Reading time9 min
Views193K


Современный мир быстро меняется, становится более динамичным и открытым. Естественно, эти изменения затрагивают и видеонаблюдение. Оно совсем не такое, каким было еще 10 или даже 5 лет назад. Мир изменяется вместе с развитием технологий, меняются способы использования устройств, а вот границы использования – практически стираются. Сегодня все, включая дедушек, бабушек и малых детей «сидят» в онлайне. Неудивительно, что и видеонаблюдение все активнее стремятся мониторить удаленно в режиме онлайн. Как сделать это максимально эффективно, еще и получив дополнительные «плюшки» новых возможностей? Конечно же – используя программу CMS (Content Management System)! CMS – это современное сочетание удаленного управления и широкой функциональности, это решение позволяющее одинаково успешно мониторить далекое или близкое устройство и даже легко объединять разрозненные точки видеонаблюдения в единую систему видеоконтроля.
Читать дальше →

Внезапный диван леопардовой расцветки

Reading time8 min
Views83K
Если вы интересуетесь искусственным интеллектом и прочим распознаванием, то наверняка уже видели эту картинку:


А если не видели, то это результаты Хинтона и Крижевского по классификации ImageNet-2010 глубокой сверточной сетью

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

Это вообще довольно любопытный результат, если задуматься. Потому что… скажем, вы знаете, как отличить одного большого пятнистого котика от другого большого пятнистого котика? Я, например, нет. Наверняка есть какие-то зоологические, достаточно тонкие различия, типа общей стройности/массивности и пропорций тела, но мы же все-таки говорим о компьютерном алгоритме, которые до сих пор допускают какие-то вот такие достаточно глупые с человеческой точки зрения ошибки. Как он это делает, черт возьми? Может, тут что-то связанное с контекстом и фоном (леопарда вероятнее обнаружить на дереве или в кустах, а гепарда в саванне)? В общем, когда я впервые задумался над конкретно этим результатом, мне показалось, что это очень круто и мощно, разумные машины где-то за углом и поджидают нас, да здравствует deep learning и все такое.

Так вот, на самом деле все совершенно не так.
под катом пятна

Учёные доказали, что при криоконсервации у организмов сохраняется долговременная память

Reading time3 min
Views14K
image
Caenorhabditis elegans / Wikipedia

Исследователи Наташа Вита-мор из американского Университета современных технологий и Дэниел Барранко из подразделения криобиотехнологий испанского Севильского университета впервые доказали, что применение крионических технологий не разрушает долговременную память простейших многоклеточных организмов. В качестве подопытных выступали черви-нематоды Caenorhabditis elegans.

C. elegans – популярный у учёных модельный организм. Это первые многоклеточные существа, у которых полностью был расшифрован геном (это произошло ещё в конце прошлого века). Взрослый червь длиной 1 мм состоит из примерно 1000 клеток, и имеет нервную систему в 302 клетки. Её функционирование полностью описано, поэтому его удобно использовать для изучения механизмов управления движениями, передачи сигналов по нейронной сети, хемотаксиса (двигательной реакции микроорганизмов на химический раздражитель) и др.
Читать дальше →

Всё, точка, приплыли! Учимся работать с числами с плавающей точкой и разрабатываем альтернативу с фиксированной точностью десятичной дроби

Reading time13 min
Views221K


Сегодня мы поговорим о вещественных числах. Точнее, о представлении их процессором при вычислении дробных величин. Каждый из нас сталкивался с выводом в строку чисел вида 3,4999990123 вместо 3,5 или, того хуже, огромной разницей после вычислений между результатом теоретическим и тем, что получилось в результате выполнения программного кода. Страшной тайны в этом никакой нет, и мы обсудим плюсы и минусы подхода представления чисел с плавающей точкой, рассмотрим альтернативный путь с фиксированной точкой и напишем класс числа десятичной дроби с фиксированной точностью.
Читать дальше →

Часть 2 — Синезис. Почему демонстрация видеоаналитики в офисах так сильно отличается от реальной работы в жизни?

Reading time3 min
Views16K
После первой публикации в обсуждении статьи появилась вопросительная ссылка, на которую я хотел бы ответить другой развернутой статьей. Ее автор – под ником «psazhin» – попал просто в точку, приведя пример классической «жесткой» видеоаналитики — как мы помним, разработанной и похороненной Интелом, реинкарнированной рекламным хайтеком. Хотя, промазать здесь сложно, потому что 90% всего рынка видеонаналитики – как капли воды повторяют интеловскую библиотеку Open CV. Ну, раз выбор пал на фирму Синезис, то проведем конкретный анализ её «интеллектуальных» алгоритмов на базе уже выработанной методики.

Мы лишь немного вдумчивей прочитаем то, что написано на рекламном сайте этой фирмы. Берем первую самую главную настройку.

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

Разработка ММО РПГ – практическое руководство. Сервер (часть 1)

Reading time10 min
Views46K
Турель Аннигилятор
  • Игровой backend: из каких модулей он должен состоять?
  • Расчет параметров персонажа: виртуальные методы или сложение массивов?
  • Логика поведения: на каком уровне она должна находится?
  • Перемещение персонажей: кто этим должен управлять?

        Сегодня мы продолжим знакомиться с разработкой и проектированием он-лайн игры на примере космической ММО RPG «Звездные Призраки». В этой статье речь пойдет о backend'е на С++ и она будет насквозь техническая.

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

        В статье мы сосредоточимся именно на архитектурных решениях применительно к backend'у MMO RPG в реальном времени. Исходного кода будет не много и он точно не будет содержать таких специфических для С++ вещей как множественное наследование или шаблоны. Задача данной статьи помочь в проектировании игрового сервера и ознакомить всех желающих со спецификой игрового backend'а.

        Описываемые решения достаточно универсальны и вполне подойдут для многих RPG. В качестве иллюстрации в конце статьи я приведу пример использования описанной архитектуры в игре «про эльфов».
Далее

Российская компания ЭЛВИС-НеоТек представила 40 нм процессор VIP-1

Reading time4 min
Views22K
Портфельная компания Роснано «ЭЛВИС-НеоТек» выпустила cемантический процессор VIP-1 (Video Intelligence Processor), предназначенный в первую очередь для систем компьютерного зрения — современных IP-камер со встроенным интеллектом. На основе 40-нанометрового 6-ядерного процессора можно производить планшеты, ноутбуки, навигаторы, системы мобильной связи, робототехнические системы и системы-ассистенты водителя, пишут Ведомости. В ближайшее время компания выпустит на рынок систему подсчета посетителей Statistics, счетчик посетителей Statistics 3D и камеру для распознавания автомобильных номеров и управления шлагбаумом IPCam-Parking на основе нового процессора.

Кликнув на фото, можно рассмотреть его в большом разрешении.


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

Почему демонстрация видеоаналитики в офисах так сильно отличается от реальной работы в жизни?

Reading time4 min
Views5K
В этой публикации мы поговорим о подавляющем рынке видеоаналитики, который представлен сегодня так называемым интеллектуальным видеонаблюдением.

Уже по самой масштабности можно приклеить этому направлению понятие «классическое». Тем более что у истоков стояла фирма Intel, а это уже классика. Именно на базе ее библиотеки с открытым кодом Open CV до сих пор делают свои продукты разработчики видеонаблюдения. Гордости ради надо сказать, программисты этого направления – русские и к тому же располагались в России – в нижегородском филиале Intel. Почему располагались? Направление закрыто уже несколько лет, народ разошелся по другим фирмам. Видимо, Intel первым почувствовал бесперспективность своей «классики».

Тем не менее, дело его живет и активно развивается. Только самый ленивый разработчики систем видеонаблюдения не применил Open CV в своих «интеллектуальных» кодах. И эта библиотека после своей смерти творит чудеса! Как заявляют многие продавцы систем видеонаблюдения, вычисляет криминальные моменты, детектирует драки, определяет оставленные и унесенные предметы, находит экстремистов… И пипл хавает. Миллиарды рублей вбухиваются в такие задачи для проектов «Безопасный город», «Безопасность на метрополитене», «Операция антитеррор» и т.д. Но, это больше политика, мы же поговорим о технологиях, почему эта красивая обертка для выставок не может работать на практике.
Читать дальше →

Робот-пылесос своими руками

Reading time4 min
Views141K
Поделюсь опытом создания дешевого робота-пылесоса из подручных средств и всемогущего китайского магазина. Изначально планировал просто изучить среду Arduino, но это изучение переросло в пылесос.

Необходимые детали:
— много плотного картона (бесплатно);
аналог arduino (210 р);
— маленькая макетка (80 р);
— 2 уз-дальномера (300 р);
— контроллер моторов — H-мост (80 р);
2 мотор-редуктора с колесом (600 р);
— блок аккумуляторов на +18v и контроллер заряда;
— пара метров витой пары;
— турбина от пылесоса;
— компьютерный кулер.
Читать дальше →

Виртуальный учебник Wolfram Language (Mathematica)

Reading time1 min
Views45K

Скачать учебник на русском языке
Скачать учебник на украинском языке

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

Этот учебник содержит в себе 356 статей, общий объем которых составляет несколько тысяч печатных страниц.

Мне радостно сообщить, что этот учебник теперь переведен на украинский и русский языки.

Перевод учебника делался довольно длительное время Андреем Михайловичем Зеленицей (сотрудником официального дистрибьютора продукции компании Wolfram Research на Украине, компании "Бакотек").
Читать дальше →

Тест бесплатных программ для восстановления данных. Версия читателей Хабра

Reading time7 min
Views95K
Приветствую всех Хабровчан!

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

  1. R.Saver 2.8
  2. Handy Recovery 5.5
  3. GetDataBack 1.0
  4. PhotoRec/TestDisk 7.0
  5. RecoveRx 3.0
  6. DMDE 2.10.2
  7. Zero Assumption Recovery 9.2
  8. Active@ File Recovery 14

Мы протестировали их. Результаты тестов ниже.

Внимание! Много скриншотов.

UPD Добавлены тесты еще двух утилит.
Читать дальше →

Мультиклет R1 — первые тесты

Reading time10 min
Views76K
     Время идёт, и мультиклеточный процессор продолжает расти, развиваться. Пока, правда, не размножается, и состоит всего из 4-х клеток, но это все у него впереди. В данной статье попытаюсь описать основные особенности нового процессора Мультиклет R1, его характеристики и функционал, а также сравнить процессор нового поколения с родоначальником династии — процессором Мультиклет P1.
     Кратко пробежимся по историческим моментам выпуска процессоров, заглянем ненадолго в теоретические основы работы наших процессоров, обратим внимание на особенности нового процессора и его основные возможности, сравним процессоры P1 и R1, покажем прототип первого продукта на R1, и в завершении сделаем небольшой анонс.


Рис 1. Кремниевая пластина процессоров R1
Читать дальше →

Разработка приложений для Apple Watch (iPhone и iPad) с помощью Wolfram Language (Mathematica)

Reading time10 min
Views16K

Перевод поста Стивена Вольфрама (Stephen Wolfram) "Instant Apps for the Apple Watch with the Wolfram Language".
Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе.


Моя цель — с помощью Wolfram Language вывести программирование на новый уровень. И за прошлый год (см. статью на Хабрахабре "Стивен Вольфрам: Рубежи вычислительного мышления (отчёт с фестиваля SXSW)") мы расширили способы использования и развёртывания языка — на рабочем компьютере, в облаке, мобильных и встраиваемых платформах и т. д. А что по поводу носимых гаджетов? И, в частности, насчет Apple Watch? Несколько дней назад я решил посмотреть, что тут можно сделать. Так что я освободил свой день под это дело и начал писать код.

Идея заключалась в написании кода с помощью Wolfram Programming Cloud, но вместо создания веб-приложения или web API мне нужно было получить приложение для Apple Watch. И, что достаточно удобно — первая, предварительная, версия нашего Wolfram Cloud app теперь доступна в App Store:



Оно позволяет выгружать приложения из Wolfram Cloud сразу на iPhone, iPad и Apple Watch.


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

Information

Rating
Does not participate
Registered
Activity