minidump.py

Если вам вдруг зачем-то понадобилось проанализировать структуру минидампа не загружая его в отладчик, начните вот с этой статьи: http://moyix.blogspot.com/2008/05/parsing-windows-minidumps.html. Автор написал скрипт на Python (на основе Construct) для анализа дампов, который распознает все потоки, описанные на MSDN (а также недокументированный поток, хранящий информацию об описателях окон). PS. Скрипт открывает дамп в текстовом режиме, что очевидно не будет работать на Windows. Чтобы этого не случилось, последняя строчка скипта должна выглядеть вот так: Read On →

Вот, телефон почистил...

Чистил телефон от фотографий. Нашел много интересного. В один прекрасный майский день детскую площадку в парке “Grass Lawn” оккупировали клоуны:

Read On →

Про чипсы и икру

По радио уже пару месяцев (если не дольше) крутят “Little Talks” в исполнении Of monsters and men. Там есть фраза: This ship will carry our bodies safe to shore Причем поется она так, что “this” присоединяется к предыдущей строчке, а “bodies safe to shore” - поется как отдельная строка. Так вот, когда эту песню начали крутить повсюду, мне на этой фразе постоянно слышалось очевидно неправильное “chip and caviar”. :-) В очередной раз, когда меня это безобразие окончательно достало и я уже собрался найти слова песни, по радио опять включили её и тут, наконец-то, до меня дошло, что первое слово - это ship. Read On →

Как сделать копию экрана в Windows

Интересно, что существует около десятка способов сделать копию экрана в Windows. Программно, без привлечения нестандартного оборудования или сторонних библиотек. Статья “Screen recording with WDDM 1.2” описывает наиболее часто используемые: GDI: GetDC(NULL), а затем BitBlt(), чтобы скопировать данные из видеопамяти в системную. Direct3D: метод IDirect3DDevice9::GetFrontBufferData() позволяет скопировать содержимое видеопамяти в системный буфер. Mirror Display Driver: позволяет напрямую перехватывать команды отрисовки. OpenGL: дает прямой доступ к отображаемому буферу в видеопамяти. Windows 8: появился специализированный интерфейс IDXGIOutputDuplication. Read On →

Мое интервью на OpenQuality.ru

Мое интервью на OpenQuality.ru: http://experience.openquality.ru/alexey-pakhunov-interview/.

Дело о пропавшем файле 'ammintrin.h'

Начну издалека. Мой любимый редактор кода на данный момент - Sublime Text 2. До него я пользовался Notepad2, Source Insight, Far (естественно после того, как появился Colorer). Что было до Far-а с Colorer-ом я уже не очень помню. Точно был Borland Pascal и Turbo C. Редактор кода Visual Studio в этом списке должен быть где-то между Borland-ом и Far-ом. Не помню, чтобы я пользовался им продолжительное время.

Отладчику из Visual Studio повезло чуть больше, так как правильно держать WinDbg я научился уже после замены Far-а на Notepad2 пополам с Source Insight. Остальной инструментарий из набора Visual Studio я использую не очень часто, особенно учитывая, что компилятор и другие инструменты все равно есть в отдельно стоящем SDK. Так и получается, что сама по себе Visual Studio мне в общем-то и не нужна.

Единственная неприятность заключается в том, что такая конфигурация (SDK есть, а Visual Studio нет) явно попадает в категорию экзотики. И, как следствие, не поддерживается и не тестируется как следует. Приходится самому.

Read On →

Как перевести SDDL в двоичный дескриптор безопасности

Некторые ключи реестра хранят дескрипторы безопасности (security descriptor) в двоичной форме (REG_BINARY). Пример - значение AccessPermission, которое устанавливает дескриптор безопасности COM сервера. Редактировать такой дескриптор - одно удовольствие. :-)

Read On →

Windows Internals, Part 1, Sixth Edition

Ух ты, оказывается, первая часть 6-ой редакции Windows Internals вышла в марте: RTM’d today: Windows Internals, Sixth Edition, Part 1! В отличие от 5-ой редакции, в список резензентов которой я, можно сказать, попал просто за компанию - главным образом потому, что работал тогда в команде Window Kernel, в этот раз я ждал возможности поучаствовать в создании книги с нетерпением. В этот раз мне было что сказать - не даром я с Wow64 нянчился столько времени. Read On →

Битва титанов: Visual Studio 2010 против Sophos Antivirus

По рассылке пришло описание бага ну просто феерической кавайности: http://connect.microsoft.com/VisualStudio/feedback/details/649139/vs2010-does-complete-rebuild-based-on-completely-unrelated-file. Если вкраце, то присутсвие Sophos Antivirus на машине, заставляет Visual Studio делать полный билд вместо инкрементального. Почему? Потому что MSBuild полагает, что файл “%ProgramData%\Sophos\Sophos Anti-Virus\config\Config.bops” (который, понятно, ни к MSBuild, ни к собираемому проекту никак не относится) является вводом каждого target’а в проекте. По какой-то причине, этот файл обновляется очень часто, что и вызывает полную пересборку всего проекта. WTF?

Read On →

... плюс электрификация всей страны

Попался на глаза вот такой камень в парке: Ну а что, пожарный гидрант в лесу (на приличном расстоянии от ближайшего дома) я уже видел. Электричество тоже провели. Осталось Wi-Fi организовать и эскалатор поставить.