Чем плоха удалённая работа?

Прелесть какая. ;-) А что плохого в телекоммьюте? телекоммют плох там, где работает команда, где есть постоянный обмен идеями, где восклицание “@#$#@$@#$!!!!”, сказанное в адрес чьего-то кода, слышит весь тим. Напишите “@#$#@$@#$!!!!” в комментариях. Народ почитает-посмеётся. Это кто найдет. И всё. А вот когда тоже самое бывает сказано тихим рыком на басах, с варварским восточно-европейским акцентом, то эффект совсем другой. Виновный нервно дергается, судорожно просматривает свои последние коммиты, одновременно собирает в жменю блокнот и карандаш, т. Read On →

Проверка параметров функции

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

Read On →

Доктор Ужасный против капитана Молотка

А меня просто прёт переводить их имена буквально… Подсмотрел у Реймонда Чена. Безумный ученый доктор Ужасный ведёт блог и непримирумую борьбу с капитаном Молотком за контроль над миром сердцем Копейки – девушки из прачечной «Отмывка Монет», с которой доктор уже месяц пытается заговорить. Кроме того, доктор Ужасный мечтает о вступлении в Лигу Зла, возглавляемой злодеем Хреновая Лошадь, однако чтобы его прошение было одобрено, он должен совершить что-то по настоящему ужасное… Read On →

Освободите шоколад!

Наш администратор, Katy, держит столик со сладостями: конфеты, батончики, орешки, жвачки и т.д. Все что нужно страдающим от недостатка сахара в крови разработчикам. 5 дней назад Katy ушла в отпуск. Сегодня на закрытой двери появились надписи: «Освободите шоколад!» и «Отпустите мои кофеты!» Update: Дверь открыта! Конфеты свободны! :-)

Пустота

Цитата с астрофорума: Тогда корректно-ли следующее утверждение: если в пространстве приборы фиксируют хотя бы одно явление, это пространство не является ПУСТОТОЙ. Некорректно. Даже если приборы в пространстве не фиксируют ни одного явления, оно не является пустотой. В нем есть приборы. И действительно. :-)

Смотри, мама, я в телевизоре!

Мое интервью Russian Channel 9: PS: Забавно наблюдать за собой со стороны. Столько ляпов, просто жуть! :-)

Undefined behavior – это все, что явно не указано в документации

Навеяно постом про ExUuidCreate и в частности вот этой фразой:

Well, I suggest MSFT to documented this behavior, or at least explain this case in documentation.

Вкратце, суть статьи сводится к тому, что функция ExUuidCreate может изменять содержимое возвращаемого буфера даже в том случае, если она возвращает ошибку. Далее, в комментариях, завязался спор на тему имеет ли функция право трогать буфер в случае ошибки.

Read On →

… и концы в воду

Эта неделя началась замечательно, - а именно с безуспешных попыток выяснить, почему валиться билд. Надо сказать, что и в невоенное-то время разобраться, что именно поломалось бывает непросто. Но в этот раз все было еще веселее чем обычно. Некая утилита (не будем показывать пальцем, хотя утилита написана на .NET :-) ), выдавала примерно следующий лог:

...
> FooBar: parsing Z:\temp\tmp1234.tmp
> FooBar: error XXXX, line 123, Z:\temp\tmp1234.tmp
...
Read On →

Почему GetModuleFileName возвращает “system32” для 32-х битных библиотек под Wow64?

Вопрос: 32-х битный процесс запущен на 64-х битной системе. Почему для некоторых библиотек GetModuleFileName возвращает путь вида “%SystemRoot%\syswow64”, а для других - “%SystemRoot%\system32”, не смотря на то, что и первые, и вторые находятся в “%SystemRoot%\syswow64”? Ответ: Потому что загрузчик понятия не имеет о Wow64 и перенаправлении файловой системы в частности. Загрузчик просто сохраняет полное имя модуля во время загрузки и возвращает его копию в GetModuleFileName. Соответственно если библиотека была загружена как “%SystemRoot%\system32\foobar. Read On →

Ценителям логичности и простоты cmd.exe посвящается…

Хорошая статья: Особенности реализации командного процессора cmd.exe операционных систем WinNT. Напрочь отбивает всякое желание связываться с написанием скриптов для cmd.exe. :-)