Рубрика «open source» - 195

EFL Core Libraries and PVS-Studio

После большой статьи про проверку операционной системы Tizen мне было задано много вопросов о проценте ложных срабатываний и о плотности ошибок (сколько ошибок PVS-Studio выявляет на 1000 строк кода). Мои рассуждения о том, что это сильно зависит от анализируемого проекта и настроек анализатора не выглядят как настоящий ответ. Я решил привести конкретные числа, проведя более тщательное исследование одного из проектов, входящих в состав Tizen. Поскольку в обсуждении статьи активное участие принимал Carsten Haitzler, я решил, что будет интересно взять для эксперимента EFL Core Libraries, в разработке которого он участвует. Надеюсь, эта статья поможет Carsten стать поклонником нашего анализатора :).
Читать полностью »

Третья статья из цикла покажет как исследовать работу пакетных данных в сетях GSM при помощи Osmocom. Другими словами мы будем раздавать интернет с ноутбука абонентам нашей домашней сети на основе двух osmocombb-совместимых телефонов и анализировать TCP/IP трафик.

Добавляем GPRS в домашнюю GSM сеть - 1

Читать полностью »

CalculiX — довольно известный в узких кругах пре/постпроцессор и решатель для задач механики деформируемого твёрдого тела и задач механики жидкостей и газов. Основной код полностью написан коллективом из двух человек — их имена «в вольной русской транскрипции» Гидо Донт (решатель), Клаус Виттиг (пре/пост). Дополнительно к основному коду можно найти удобный функциональный графический Launcher для подготовки расчётного файла. Чуть более подробная информация есть в русской Вики, несколько лет назад вбитая мною и ещё парой неравнодушных пользователей (ETCartman и Пруль, привет! К слову, могу подозревать, что ETCartman написал CalculiX Launcher, но это история, покрытая тайнами никнейнов).

С точки зрения рядового российского инженера, CalculiX не столь важное и необходимое в повседневной работе ПО, чтобы обращать на него внимание. Совсем иначе на CalculiX могут взглянуть научные сотрудники, ранее проводившие вычислительные эксперименты в Abaqus — CalculiX фактически является открытым клоном Abaqus, поскольку родоначальник у них один — Гидо Донт.

Большие два плюса CalculiX — кроссплатформенность и открытость исходников. Большие два минуса — практически полная неизвестность среди инженеров в СНГ и несколько меньший функционал по сравнению с Abaqus. Тем не менее, я решился сделать небольшую заметку о том, как получить бинарник CalculiX с поддержкой решателя на CUDA, в слабой надежде, что кому-нибудь на просторах СНГ данная информация пригодится.
Читать полностью »

Приглашаем на Tarantool Meetup 10 августа - 1

Всем привет! 10 августа 2017 мы приглашаем архитекторов и разработчиков в московский офис Mail.Ru Group, где состоится Tarantool Meetup, посвященный архитектуре и реализации корпоративных микросервисов с использованием Tarantool. Мы поделимся с вами своими подходами к проектированию решений и покажем на примере двух простых сервисов как можно за два часа решить две типовые задачи. И традиционно будет много интересных технических дискуссий на самые разные темы! А если вы возьмете с собой ноутбук с установленным Docker, то сможете сами пощупать все своими руками. Программу читайте под катом.
Читать полностью »

PVS-Studio, Tizen, ИтогиНаша команда написала три заметки, связанные с анализом кода операционной системы Tizen. Операционная система содержит много кода и поэтому является благодатной почвой для написания различных статей. Думаю, что к Tizen мы ещё вернёмся в будущем, но сейчас нас ждут другие интересные проекты. Поэтому я подведу некоторые итоги проделанной работы и отвечу на ряд вопросов, возникших после опубликованных ранее статей.

Читать полностью »

Всем привет! В нескольких статьях я хотел бы поделиться опытом создания подобия ММО игры используя Unreal Engine и Netty. Возможно архитектура и мой опыт кому-то пригодится и поможет начать создавать свой игровой сервер в противовес unreal dedicated server, который слегка прожорлив или заменить собой фреймворки для разработки многопользовательских игр такие как Photon.

В конечном итоге у нас будет клиент, который логиниться или регистрируется в игре, может создавать игровые комнаты, пользоваться чатом и начинать игры, соединение будет зашифровано, клиенты будут синхронизироваться через сервер, в игре будет присутствовать одно оружие — лазер, выстрел будет проверяться на проверочном сервере. Я не стремился сделать красивую графику, тут будет только необходимый минимум, дальнейший функционал добавляется по аналогии. Логику можно легко расширить на сервере, добавить например случайные игры и балансер. Для меня было важно создать ММО базу и разобраться с тем что понадобится для создания полноценной мобильной ММО игры.

  • Часть 1. Общая картина, сборка библиотек, подготовка клиента и сервера к обмену сообщениями
  • Часть 2. Наращивание игрового функционала
  • Часть 3. Бонус материал. HLSL шейдеры в Unreal Engine, генерация ландшафтной сетки с помощью алгоритма Diamond Square, динамическая подгрузка моделей из сети

MMO с нуля. С помощью Netty и Unreal Engine. Часть 1 - 1
Читать полностью »

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

Кого заинтересовало, прошу под кат.
Читать полностью »

На волне обсуждения возможной монополизации рынка «облачных» услуг ИТ-гигантами вроде Google Cloud и AWS все большее число децентрализованных проектов заявляют о себе. Один из свежих примеров — открытый P2P-браузер Beaker.

Он разработан в партнерстве с командой, которая занимается поддержкой проекта Dat. Он, как и новый браузер, основан на P2P-протоколе Dat.

Команда веб-энтузиастов представила P2P-браузер Beaker - 1Читать полностью »

Deep Learning, теперь и в OpenCV - 1

Данная статья является кратким обзором возможностей dnn — модуля OpenCV, предназначенного для работы с нейросетями. Если вам интересно, что это такое, что оно умеет и как быстро работает, добро пожаловать под кат.
Читать полностью »

Динамическая инструментация — не просто, а тривиально*: пишем yet another инструментацию для American Fuzzy Lop - 1(*) На самом деле, не совсем.
Наверное, многие слышали про Valgrind — отладчик, который может сказать, где в вашей нативной программе утечка памяти, где ветвление зависит от неинициализированной переменной и многое другое (а ведь кроме memcheck, у него есть и другие режимы работы). Внутри себя эта чудо-программа перемалывает нативный код в некий промежуточный байткод, инструментирует его и генерирует новый машинный код — уже с run-time проверками. Но есть проблема: Valgrind не умеет работать под Windows. Когда мне это понадобилось, поиски привели меня к аналогичной утилите под названием DrMemory, также с ней в комплекте был аналог strace. Но речь не столько о них, сколько о библиотеке динамической инструментации, на базе которой они построены, DynamoRIO. В какой-то момент я заинтересовался этой библиотекой с точки зрения написания собственной инструментации, начал искать документацию, набрёл на большое количество примеров и был поражён тем, что простенькую, но законченную инструментацию вроде подсчёта инструкций вызова можно написать буквально в 237 строк сишного кода, 32 из которых — лицензия, а 8 — описание. Нет, это, конечно не "пишем убийцу Valgrind в 30 строк кода на JavaScript", но сильно проще, чем то, что можно представить для подобной задачи.

В качестве примера давайте напишем уже четвёртую реализацию инструментации для фаззера American Fuzzy Lop, о котором недавно уже писали на Хабре.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js