Jan 9, 2008 · Comments
64bitМаленькие хитростиОтладкаWindows
Ключ «Image File Execution Options» знаком, наверное, всем кто вынужден тратить много времени на отладку приложений. В частности, с его помощью можно указать системе всегда запускать определённый процесс под отладчиком. В этом же ключе утилита gflags.exe сохраняет выбранные отладочные опции и т.д. За подробностями рекомендую обратиться в Google, там есть много полезного.
Read On →
Jan 3, 2008 · Comments
Всякая всячина
Фразы “I really appreciate the detailed response.” и “I’d really appreciate the detailed response.” очень похожи внешне и первая по-привычке читается как вторая. А зря…
P.S. Хорошо, что человек с чуством юмора попался.
Jan 2, 2008 · Comments
РаботаMicrosoft
Очередной цикл собеседований планируется в феврале и июне. Как обычно набираются разработчики (SDE) и тестеры (SDET). До февраля времени осталось совсем не много, так что стоит поторопиться и отправить резюме до конца января. Адрес для отправки: russrec@microsoft.com. Предполагается, что успешным кандидатам предложат позиции в Редмонде и Вакувере.
С требованиями к кандидатам и прочие подробности можно посмотреть здесь.
Upd: В феврале будут набирать в Windows Core (Deployment, Kernel/VM и Networking). В июне - еще не ясно, скорее всего тоже в Windows.
Read On →
Dec 29, 2007 · Comments
Маленькие хитростиОтладка
_Сижу дома простуженный. Ни о чём писать не хочется, поэтому буду краток. _
Команда !dreg в WinDbg позволяет просматривать содержимое реестра прямо в процессе отладки. Это особенно удобно в двух случаях:
-
При удалённой отладке, когда сессия отладчика - это единственный вид доступа к удалённой машине. Такое встречается сплошь и рядом, например, если удалённая машина находится в другой сети или домене;
-
В случае, когда отладчик пользовательского режима контролируется ядерным отладчиком. Это тоже, в общем-то, вариант удалённой отладки, только в этом случае до отлаживаемой машины достучаться кроме как через отладчик вообще никак нельзя.
К сожалению !dreg не работает в ядерном отладчике, вернее работает, но показывает реестр той машины где запущен kd.exe, а не целевой, так бы этого не хотелось. Иначе бы счастье было бы полным.
Read On →
Dec 25, 2007 · Comments
ПрограммированиеТестированиеЮнит тесты
Юнит тесты, в отличие от многих других видов тестирования, обладают одной замечательной особенностью. Они обеспечивают практически 100% (a в теории - так точно 100%) повторяемость результатов. Грубо говоря, после успешного прогона тестов можно с уверенностью говорить, что покрываемые тестами сценарии работают. Гарантированная повторяемость важна для обнаружения быстрого регрессий, рефакторинга кода и множества других вещей. Как обычно, окунание в реальность сильно портит эту радужную картину.
Read On →
Dec 16, 2007 · Comments
Новый годРождество
Ежегодно в ботаническом саду, что в Беллвью (Bellevue Botanical Garden), проходит фестиваль «Garden d’Lights». В саду выставляются светящиеся фигуры растений, птиц и животных, так что, с наступлением темноты, сад превращается в рождественскую сказку.
Read On →
Dec 12, 2007 · Comments
КосмосСтранноеЮмор
Какая прелесть!
Плотность жидкого гелия, при температуре 4,2 К составляет 0,13 г/см3. Он обладает малым коэффициентом преломления, из-за чего его трудно увидеть. В ближнем космосе должна быть сферическая поверхность , где температура достигнет точки конденсации гелия. Учитывая, что космическиая среда на 99, 9% состоит из гелия и водорода, можно допустиить наличие невидимой оболочки из жидкого но плотного гелия. Сможет ли ракета, летящая с около_световой скоростью, преодолеть этот барьер? Не разобьётся ли о плёнку из гелия?
Read On →
Dec 9, 2007 · Comments
СпамGMailWordPress
Wordpress’овский спам-фильтр (Askimet Spam) периодически пропускает спам в комментариях. А GMail’овский спам-фильтр успешно съедает уведомления о таких комментариях. В результате толку от таких уведомлений никакого. Пришлось написать соответствующий фильтр в GMail.
Dec 5, 2007 · Comments
ДизайнПрограммированиеWin32
Функцию GetRawInputDeviceList можно смело приводить в качестве антипримера правильно спроектированного API. Эта функция используется для получения списка описателей устройств ввода (raw input devices). Ничего сложного. Прототип функции тоже выглядит довольно невинно - всего три параметра, и, как кажется по началу, назначение каждого довольно очевидно.
UINT GetRawInputDeviceList(
__out_opt PRAWINPUTDEVICELIST pRawInputDeviceList,
__inout PUINT puiNumDevices,
__in UINT cbSize
);
Read On →