Feb 26, 2008 · Comments
Wow64
Наткнулся на вопрос на форуме iXBT. В Windows SDK помимо флагов KEY_WOW64_64KEY и KEY_WOW64_32KEY определена маска KEY_WOW64_RES. Зачем она нужна?
#ifndef KEY_WOW64_RES #define KEY_WOW64_RES (KEY_WOW64_64KEY | KEY_WOW64_32KEY) #endif Ответ: по большому счету она не нужна. В коде Wow64 она используется для выделения флагов KEY_WOW64_64KEY и KEY_WOW64_32KEY из маски доступа для дальнейшей обработки. Указывать оба флага (и KEY_WOW64_64KEY и KEY_WOW64_32KEY) при вызове RegCreateKeyEx, RegOpenKeyEx или RegDeleteKeyEx нельзя, так что приложениям эта маска ни к чему.
Read On →
Feb 19, 2008 · Comments
БлогСпамOpenID
Спаммеры и любители лёгких денег в Интернете повадились оставлять комментарии-пустышки с единственной ссылкой на какой-нибудь левый сайт. Цель этого мероприятия, как я понимаю, поднять PR рейтинг этого сайта. Причем, судя по осмысленности текста, оставляют их явно живые люди, а не боты. Или боты нынче тест Тюринга научились проходить. Так или иначе, испортить день спаммеру - наша священная обязанность. Теперь в форме комментария непустое поле «Website» будет авторизироваться как OpenID URL.
Feb 19, 2008 · Comments
MicrosoftOffice
Вслед за публикацией спецификаций, описывающих формат файлов Microsoft Office, Joel Spolsky написал неплохую статью, объясняющую почему формат этих файлов настолько сложен и, на первый взгляд, специально запутан до невозможности.
A normal programmer would conclude that Office’s binary file formats:
are deliberately obfuscated are the product of a demented Borg mind were created by insanely bad programmers and are impossible to read or create correctly. Если коротко, то проблема в том, что эти форматы имеют длинную историю и при их разработке преследовались совсем другие цели нежели преследовались бы при разработке формата «офисных» файлов сейчас.
Read On →
Feb 15, 2008 · Comments
ДизайнПрограммированиеWin32
Оказалось, что это была ошибка в документации. Её поправили и посмотрите, что получилось.
Read On →
Feb 11, 2008 · Comments
Usability
Некоторое время назад я занимался жутко интеллектуальной деятельностью - ручной проверкой результатов автоматического теста, проверяющего корректность работы популярных приложений на данной сборке операционной системы. Проще говоря, этот тест устанавливает OS, затем ставит приложение из списка и проверяет базовую функциональность на предмет не поломалось ли чего. Если что-то идет не так, то тест сообщает о найденных проблемах. Такой себе regression testing для самой OS.
Read On →
Feb 7, 2008 · Comments
КосмосМеркурийMessenger
Это уже совсем не новость, конечно. 14-ого января Messenger пролетел в двух сотнях километров от поверхности Меркурия. Это первое посещение планеты за более чем 30 лет со времен полёта Mariner 10. В отличие от своего предшественника, Messenger должен выйти на орбиту Меркурия 18 марта 2011 года, выполнив еще два пролёта в октябре 2008 и сентябре 2009 года. Кроме всего прочего, планируется полностью картографировать поверхность с разрешением 250 метров на пиксель. Будет в Google Earth слой Mercury, как пить дать.
Read On →
Feb 3, 2008 · Comments
ДизайнПрограммирование
…это возможность распараллелить код инициализации подсистем по разным процессорам. Учитывая скорость распространения многоядерных процессоров это становиться актуальной задачей. Вынести большую часть кода из DllMain и конструкторов статических объектов не сложно. Достаточно оформить доступ ко всем подсистемам через singleton-подобный интерфейс, защищённый критической секцией. Сложнее - выстроить зависимости между подсистемами так, чтобы инициализация выполнялась как можно позже, когда все рабочие потоки созданы и готовы к работе.
Не менее важно и не перестараться с отложенной инициализацией.
Read On →
Jan 31, 2008 · Comments
C/C++ПрограммированиеТестирование
Вот код, которым я пользуюсь для написания стресс тестов и фаззеров в своих проектах. Класс EntropyGenerator - обертка вокруг генератора случайных чисел.
Read On →
Jan 30, 2008 · Comments
ПрограммированиеЮморWin32
Точка входа в DLL, так же как и точка входа в программу, - это очень специальное место. Зона. В Зоне действуют свои правила касательно того, что можно делать, а что делать нельзя. В Зоне можно инициализировать локальные данные DLL, можно создавать критические секции. В Зоне нельзя динамически загружать другие Модули или создавать потоки. Любой Сталкер знает и следует правилам Зоны. Все остальные рано или поздно нарушают правила и расплачиваются за это.
Read On →
Jan 25, 2008 · Comments
Странное
Только что получил чудесный комментарий в ответ на вопрос по хороший курс лекций по C# для непрограммиста. Орфография оригинала сохранена. Выделение моё:
Как насчёт того, чтобы почитать MSDN Library? :)Настоятельно рекомендую иметь у себя Offline версию. Ибо, ИМХО, удобнее. Очень актуальной будет ‘MSDN Library for Visual Studio 2008’:
http://www.microsoft.com/downloads/details.aspx?familyid=6FF3BC60-32C8-4C22-8591-A20BF8DFF1A2&displaylang=en
Если нет 2.0 Гб внешнего трафика - добро пожаловать в MSDN Online:
http://msdn2.microsoft.com/en-us/library/default.aspx
Тебя интересуют разделы “Getting Started with Visual C#”, “C# Programming Guide”, “Writing Applications with Visual C#” и “C# Reference”.
Read On →