Pull to refresh
202.5
Karma
0.2
Rating
Дмитрий Притыкин @maisvendoo

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

  • Followers 326
  • Following 5
  • Posts
  • Comments

Танк, которого нет в World of Tanks

Working with 3D-graphics *DIY Games and game consoles

Всем привет это Денис Вебер.

Сегодня я расскажу как моделировал один из танков, которого нет в игре World of Tanks и покажу небольшой рекламный ролик, чтобы можно было представить, что этот танк по-настоящему был представлен игрокам.

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

Читать далее
Total votes 45: ↑42 and ↓3 +39
Views 41K
Comments 31

Gnuplot и с чем его едят

RUVDS.com corporate blog Data visualization Lifehacks for geeks
Tutorial

Наверняка многие из вас листая западные научные издания видели красивые и простые графики. Возможно некоторые из вас задумывались в чём же эти учёные мужи визуализируют свою данные. И вот есть шикарный и очень простой инструмент для построения графиков, который есть практически везде: Windows, linux, android, и прочих, уверен даже есть под ДОС. Он надёжен, прост и позволяет представить в виде красивых графиков любые текстовые-табличные данные.
Total votes 53: ↑52 and ↓1 +51
Views 25K
Comments 22

Пишем Python-расширение на Ассемблере (зачем?)

Wunder Fund corporate blog Python *Assembler *Reverse engineering *
Translation

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

Иногда, чтобы полностью разобраться с тем, как что-то устроено, нужно это сначала разобрать, а потом собрать. Уверен, многие из тех, кто это читают, в детстве часто поступали именно так. Это были дети, которые хватались за отвёртку для того, чтобы узнать, что находится внутри у чего-то такого, что им интересно. Разбирать что-то — это невероятно увлекательно, но чтобы снова собрать то, что было разобрано, нужны совсем другие навыки.

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

Эксперимент, о котором я хочу рассказать, пронизан тем же духом. Мне хотелось узнать о том, смогу ли я написать расширение для CPython на чистом ассемблере.

Зачем мне это? Дело в том, что после того, как я дописал книгу CPython Internals, разработка на ассемблере всё ещё была для меня чем-то весьма таинственным. Я начал изучать ассемблер для x86-64 по этой книге, понял какие-то базовые вещи, но не мог связать их со знакомыми мне высокоуровневыми языками.

Вот некоторые вопросы, ответы на которые мне хотелось найти:

— Почему расширения для CPython надо писать на Python или на C?
— Если C-расширения компилируются в общие библиотеки, то что такого особенного в этих библиотеках? Что позволяет загружать их из Python?
— Как воспользоваться ABI между CPython и C, чтобы суметь расширять возможности CPython, пользуясь другими языками?

Читать далее
Total votes 19: ↑18 and ↓1 +17
Views 4.9K
Comments 0

Как посчитать синус быстрее всех на хабре

RUVDS.com corporate blog C++ *Algorithms *C# *Mathematics *
Tutorial

Несмотря на свою кажущуюся банальность, темы о вычислении синуса достаточно регулярно появляются на хабре. И каждый раз их авторы или делают сомнительные утверждения, или получают сомнительные результаты. Не в силах более терпеть, я тоже решил поучаствовать и внести свой, не менее сомнительный вклад в этот вопрос.
Читать дальше →
Total votes 93: ↑92 and ↓1 +91
Views 21K
Comments 39

Современные крокодилы продолжают быстро эволюционировать

ITSOFT corporate blog Popular science Ecology


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


Но внешность обманчива. Сегодняшние крокодилы — это не доисторические рептилии, которые не изменились со времен юрского или триасового периода. Они бы не признали в них родственников и не могли бы, скажем, сделать ребенка. Это одно из ярких проявлений эволюции. Более того, крокодилы все еще развиваются — и быстрее, чем когда-либо прежде в их чешуйчатой истории. Несмотря на свою репутацию «живых ископаемых», крокодилы, судя по последнему исследованию, очень серьезно изменились за последние два миллиона лет.

Читать дальше →
Total votes 70: ↑65 and ↓5 +60
Views 30K
Comments 82

Ventoy — мультизагрузка образов OS с преферансом и куртизанками

RUVDS.com corporate blog Configuring Linux *System administration **nix *
Привет Хабр!

Существует несколько программ с графическим интерфейсом, предназначенных для создания Live USB-дисков.

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


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

Давайте посмотрим почему...
Total votes 84: ↑84 and ↓0 +84
Views 26K
Comments 45

Согласование импедансов: симуляторы и симуляция. Часть 1

Electronics for beginners

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

Симулировать работу
Total votes 30: ↑29 and ↓1 +28
Views 4.3K
Comments 10

Введение в параллелизм

Intel corporate blog High performance *Programming *C++ *Concurrent computing *

Данная статья посвящена параллелизму в C++, сопутствующим сложностям и как их можно обойти, используя библиотеку oneAPI Threading Building Blocks (oneTBB) для упрощения параллельного программирования. 

Читать далее
Total votes 12: ↑6 and ↓6 0
Views 6.5K
Comments 13

Адаптация Qt-приложений под мониторы высокой чёткости. Часть 2

Programming *C++ *Qt *ООP *Development for Windows *
Tutorial

В прошлой статье мы начали рассказ о рецептах, посвященных переводу Qt-приложений на рельсы High DPI, то есть адаптации этих приложений к мониторам высокой четкости.

Суть в том, что в ОС Windows давно есть такие настройки, как масштабирование шрифта и изображений (масштаб экрана), которые применяются для увеличения слишком малых элементов GUI на мониторах с высокой чёткостью (High DPI). Однако не каждое приложение, написанное на Qt, способно адекватно учитывать, применять этот самый масштаб экрана. Частая ситуация – приложение хорошо выглядит на Full HD (1920x1080), но стоит поставить монитор 4K (3840x2160) и увеличить масштаб экрана, то появляются многочисленные артефакты.

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

Читать далее
Total votes 9: ↑9 and ↓0 +9
Views 2.5K
Comments 1

TbK — удобный, многофункциональный и бесплатный терминал для работы с COM-портами и поддержкой Modbus-протокола

Debugging *Industrial Programming *Programming microcontrollers *Manufacture and development of electronics *Software
Sandbox

Думаю, что каждый из embeded-разработчиков хотя бы раз в жизни пользовался терминалом для работы с COM-портом ПК - простой программой, позволяющей персональному компьютеру через встроенный интерфейс RS-232 (или USB-переходник) общаться с внешними устройствами, например такими, как GSM-модем или просто обмениваться данными с микроконтроллером в процессе разработки и отладки прошивки.

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

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

Читать далее
Total votes 21: ↑20 and ↓1 +19
Views 5.9K
Comments 33

Vulkan. Руководство разработчика. Пул дескрипторов и сеты дескрипторов

Programming *C++ *Working with 3D-graphics *Game development *CGI *
Translation
Tutorial


Всем привет! Для тех, кто со мной не знаком, я — технический переводчик в IT-компании CG Tribe в Ижевске. Я занимаюсь переводом руководства Vulkan Tutorial на русский язык и выкладываю переводы на Хабр.

Я остановилась на разделе Uniform buffers и сегодня хочу поделиться переводом заключительной статьи раздела, которая называется Descriptor pool and sets.

Содержание
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 1.2K
Comments 1

Первые мобильные. Какой была сотовая связь в начале 90-х

RUVDS.com corporate blog Reading room History of IT Cellular communication

«Новый русский звонит по сотовому телефону», — с этой фразы начиналась добрая половина анекдотов о «финансовой элите», имевших хождение в начале девяностых годов. Мобильник был недостижимой мечтой для миллионов российских обывателей, огромной ценностью, и одновременно — важнейшим атрибутом имиджа успешного человека, наравне с малиновым клубным пиджаком и «шестисотым мерседесом». Граждане, не нашедшие в стране бурно развивающегося капитализма свой Эльдорадо, ходили с пейджерами. Наверное, мне повезло: в те времена у меня имелся мобильный телефон Motorola стандарта AMPS, который относится к первому (тогда — единственному) поколению сотовой связи G1. На днях я случайно откопал его в пыльном чулане и, проникшись ностальгией, решил вспомнить, как это было.
Читать дальше →
Total votes 76: ↑75 and ↓1 +74
Views 14K
Comments 68

Минимизация файла ELF – попробуем в 2021?

RUVDS.com corporate blog Abnormal programming *Assembler **nix *Development for Linux *
Translation
Tutorial

Экспериментальный проект по максимальному уменьшению ELF-файла с программой Hello, World! под целевую систему Linux x64 с помощью NASM. В предыдущем опыте начала 2000-х удалось добиться размера рабочего файла в 45 байтов, но с тех пор ядро сильно изменилось. Каков же будет минимальный жизнеспособный ELF в 2021?
Читать дальше →
Total votes 79: ↑78 and ↓1 +77
Views 8.2K
Comments 10

Биполярный транзистор

Electronics for beginners
Sandbox

В данной статье рассматривается принцип работы полупроводникового прибора-биполярного транзистора. Теория излагается кратко , но в достаточном объеме для понимания темы.

Читать далее
Total votes 32: ↑25 and ↓7 +18
Views 19K
Comments 42

Российские BIM-технологии: проектирование систем электроснабжения в Model Studio CS

Нанософт разработка corporate blog System Analysis and Design *CAD/CAM *Industrial Programming *Software

Российские BIM-технологии: проектирование систем электроснабжения в Model Studio CS

Эта статья цикла, посвященного российским BIM-технологиям, рассказывает об АРМ Электроснабжения. В основу АРМ положен программный продукт Model Studio CS Кабельное хозяйство, который может применяться при разработке разделов электроснабжения, электроосвещения, контрольно-измерительных приборов и автоматизации и предоставляет возможность сформировать трехмерную информационную модель объекта проектирования.

Читать далее
Total votes 6: ↑6 and ↓0 +6
Views 1.8K
Comments 2

Дизайн и эволюция constexpr в C++

C++ *Compilers *

constexpr - одно из самых магических ключевых слов в современном C++. Оно дает возможность создать код, который будет выполнен еще до окончания процесса компиляции, что является абсолютным пределом для быстродействия программ.

У constexpr с каждым годом становится больше возможностей. Сейчас использовать в compile-time вычислениях можно почти всю стандартную библиотеку. Пример вычисления числа до 1000 с наибольшим количеством делителей: ссылка на код.

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

Эта статья подходит как тем, кто еще не знает, что такое constexpr, так и тем, кто уже долгое время его использует.

Назад в будущее
Total votes 47: ↑47 and ↓0 +47
Views 16K
Comments 17

Тайные знания: библиотеки для С++

Programming *C++ *IT Terminology Build automation *Studying in IT
Tutorial

Рун не должен резать
Тот, кто в них не смыслит.
В непонятных знаках
Всякий может сбиться.
Десять знаков тайных
Я прочел и знаю...(Сага об Эгиле)

Многие начинающие программисты, уже освоив синтаксис C++, обнаруживают, что нет простого способа, как подключить библиотеку, так и собрать программу для другой ОС, или чего хуже, под другим компьютером с той же ОС. Эта проблема отчасти порождается спорной практикой обучения, когда код учат писать и запускать лишь средствами IDE, таких как Visual Studio, Code::Blocks, и других.
Поначалу такой подход работает, но лишь до первой реальной задачи сделать что-то, что запустится не только на вашей машине. Тут-то новички и сталкиваются с отсутствием стандартной системы сборки и менеджера зависимостей. После осознания этой сложности, большинство студентов, как правило, переходят на другие языки, попутно тиражируя в индустрии миф о том, что C++ де не кроссплатформенный язык, а вот мой Python/Java/C# - да.
Между тем нас окружает множество замечательных кроссплатформенных программ написанных на C++. Если вы обучаетесь C++ и хотите понять как создавать такое ПО, то эта статья для вас.

Узнать заклинания кроссплатформености
Total votes 11: ↑6 and ↓5 +1
Views 11K
Comments 34

Что такое x64dbg и как им пользоваться?

Varonis Systems corporate blog Information Security *Assembler *
Translation

Введение и обзор применения x64dbg в качестве инструмента для анализа вредоносных программ. Этой публикацией мы открываем серию из четырех статей о x64dbg.

Читать далее
Total votes 2: ↑1 and ↓1 0
Views 6.5K
Comments 3

Как анализировать вредоносное ПО с помощью x64dbg

Varonis Systems corporate blog Information Security *Antivirus protection *
Translation

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

Читать далее
Total votes 5: ↑5 and ↓0 +5
Views 3.8K
Comments 0

CI/CD для UnrealEngine в связке с Gitlab

Git *Game development *Unreal Engine *
Tutorial

Попробовав разные Source Control в связке с UE (Gitlab,SVN,Perforce) на текущий момент, для себя я нашел два лидера:

1) SVN - Очень легко настраивается сервер и подключение к нему, но "Checksum mismatch", выводит из себя до безумства;

2) Gitlab- Для использования на своем сервере, нужно иметь машину с линуксом (у меня mint), некоторое время и терпение на установку сервера и все, мы счастливые обладатели бесплатного сервера гитлаб. Дальше настраиваем подключение через SourceTree и используем;

Еще одной прелестью Gitlab, я бы назвал встроенный инструмент для CI/CD, который весьма легко настраивается и позволяет по одному нажатию кнопки: Билдить свет, паковать игру, заливать ее в стим, отправлять сообщение в дискорд и т.д, всего лишь нужен сервер с установленным UE. О настройке CI под Windows, я и расскажу.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Views 2.7K
Comments 15

Information

Rating
2,228-th
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity