Пишем спецификацию под Nvidia Kepler (бинарники CUDA, версия языка sm_30) для Ghidra

Для обычных процессорных языков уже написано довольно много спецификаций для Ghidra, однако для графических ничего нет. Оно и понятно, ведь там своя специфика: предикаты, константы, через которые передаются параметры в том числе, и другие вещи, унаследованные от шейдеров. Кроме того формат, который используется для хранения кода, зачастую проприетарный, и его нужно самостоятельно ревёрсить. В этой […]

Моя USB визитка

Всем привет! Помимо основной работы я делаю достаточно много пет-проектов, но никогда о них не писал. Сейчас я решил исправить ситуацию и написать о проекте, который только что завершил. На его создание меня вдохновила вот эта работа Джорджа Хиллиарда. Цель проекта Сделать максимально дешёвую версию USB Flash визитки, на которой бы содержалось моё резюме, исходный […]

Альтернативная конституция

«Мы вовсе не собираемся разрушать ваш старый мир. Мы собираемся построить новый. Вот вы – жестоки: вы не представляете себе строительство нового без разрушения старого. А мы представляем себе это очень хорошо. Мы даже поможем вашему поколению создать этот ваш рай, выпивайте и закусывайте на здоровье. Строить, господин Банев, только строить. Ничего не разрушать, только […]

IDA Pro: работа с библиотечным кодом (не WinAPI)

Всем привет, При работе в IDA мне, да и, наверняка, вам тоже, часто приходится иметь дело с приложениями, которые имеют достаточно большой объём кода, не имеют символьной информации и, к тому же, содержат много библиотечного кода. Зачастую такой код нужно уметь отличать от написанного пользователем. И, если на вход библиотечного кода подаются только int, void […]

Godot, 1000 мелочей

Недавно открыл для себя Godot engine, опенсурсный игровой движок. Делюсь некоторыми приёмами и заметками, в основном из области 3д, кода или общих моментов. У Godot в целом репутация скорее 2д движка, которое проработано довольно хорошо, но и не так давно появившиеся 3д возможности позволяют делать трёхмерные игры. Особенно если вы в состоянии оптимизировать какие-то вещи […]

Мечтают ли разрабы о космонавтике, норм ли Восточный, почему Маск обязан Рогозину // Мы обречены #9 — Виталий Егоров

Космос — классическая детская мечта. Это потом детишки узнают, каково работать под начальством воинствующих стариканов, за 20 тысяч рублей, с запретом на выезд и под грифом секретности. Но мечта есть мечта, и глядя в черную пустоту сердце все равно переполняется романтикой. Популяризаторы космоса, которых мы так любим здесь читать, тоже сталкиваются с интересной дилеммой. С […]

Как я спас мир

Обычно я летаю в Москву самолетом. РЖД слишком заплывает за буйки, делая стоимость билета выше чем у авиаперевозчика — при том, что трястись в их плацкарте придется сутки. Но в этот раз мне пришлось поехать поездом — я вез с собой собранный за время карантина ионоулавливатель — здоровенную металлическую дуру килограмм в тридцать весом — […]

Мониторинг качества воздуха c помощью данных TROPOMI в Google Earth Engine

Доступ к воздуху, безопасному для дыхания, очень важен для планеты и её жителей. Однако сейчас во многих частях света люди и хрупкие экосистемы страдают от воздействия загрязнённой атмосферы. В одних только США плохое качество воздуха ежегодно становится причиной около 60,000 случаев преждевременной смерти и обходится государству более чем в 150 млн. долларов, которые тратятся на […]

Разбираемся в моделях кода архитектуры x64

«Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о моделях кода. Кроме того, для тех, кто беспокоится о производительности вплоть до мельчайших команд, выбор модели кода влияет […]

5 типичных ошибок при создании React компонентов (с хуками) в 2020 году

Всем привет! Из этой статьи вы узнаете о самых распространенных ошибках при создании React компонентов, а также о том, почему они считаются ошибками, как их избежать или исправить. Оригинальный материал был написан немецким разработчиком Лоренцом Вайсом для личного блога, а позже собрал много позитивных отзывов на dev.to. Переведено командой Quarkly специально для комьюнити на Хабре. […]