Archive

Archive for July, 2007

Переезд.

July 29th, 2007 7 comments

Если верить фразе «два переезда эквивалентны одному пожару», то за последние 6 лет я горел два раза (или три – это как посчитать). Причем если в начале это был маленький костерок, то со временем это начинает походить на настоящий пожар. Количество ненужного хлама очень нужных и полезных в хозяйстве вещей растет бешенными темпами. Откуда только берется?

Read more…

Пара слов о вреде алкоголизма.

July 22nd, 2007 2 comments

Я окончательно убедился в том, что алкоголь крайне вреден для здоровья. Казалось бы ещё вчера всё было в порядке и ничего не предвещало беды, а уже сегодня случилось ЭТО – у винчестера на моём ноутбуке поехала крыша. Похоже, что он вообразил себя напольными часами с кукушкой, иначе как объяснить это громкое ритмичное тиканье? А может у него в молодости был роман с симпатичной красоткой-часами, и теперь он ударился в воспоминания на старости лет? Как бы то ни было, алкоголь сыграл фатальную роль во всей этой истории. Дело в том, что чуть больше месяца винчестер с головой искупался в шампанском. Естественна такая выходка не прошла бесследно. Несколько дней он был на грани жизни и смерти. Я уже готовился написать некролог, перебирая в голове подходящие фразы: “… ушел из жизни как настоящий аристократ”, “… погиб в неравном бою с пузырками CO2” и т.п. Однако, к моему удивлению, через пару дней он перестал нести бред-блоки и быстро пошел на поправку…

После выздоровления прошел целый месяц. Этот неприятный эпизод почти забылся. А зря. Всё таки выбор напитка должен был внушить подозрения. Почему не кофе, в конце концов? Коварный зелёный змий исподтишка нанёс последний удар. Видимо что-то всё же нарушилось в его организме, так что малейшая встряска привела в печальному финалу. Прощай IC25N060ATMR04-0! Ты был надёжным, хотя и весьма неторопливым (4200 RPM, sic!), другом.

Tags:

График использования полосы пропускания…

July 20th, 2007 4 comments

Вот так должен выглядеть график использования полосы пропускания сетевого соединения (снимок из Task Manager’а):

Network utilization graph.

:-)

Во что обходится использование SEH и C++ исключений.

July 19th, 2007 Comments off

Утащил c Raider’s Programming Blog. Отличная презентация, посвященная «стоимости» исключений с точки зрения производительности кода: Exception Hanlding Cost (Google Video, 1 час 3 минуты). Автор презентации, Kevin Frei, непосредственно работал над поддержкой обработки исключений в компиляторе Visual C++ для платформы x64. Так что информация из первых рук, так сказать.

Power Point слайды: http://www.nwcpp.org/Downloads/2006/ehc.ppt

Продолжение истории про ExitProcess.

July 18th, 2007 Comments off

История про ExitProcess получила несколько неожиданное продолжение. Оказалось, что для того, чтобы избежать блокировки на критической секции, захваченной другим потоком во время ExitProcess, в функцию EnterCriticalSection был добавлен код, обрабатывающий эту ситуацию. Начиная с Windows XP EnterCriticalSection проверяет захвачена ли секция и, в случае если захвачена, сверяет идентификатор текущего потока с идентификатором захватчика. А вот дальнейшее поведение зависит от версии операционной системы.

Read more…

Маленькие зеленые человечки.

July 16th, 2007 2 comments

Pixar жжёт (11 MB):

Сценарий: http://www.pixar.com/shorts/lift/index.html.

Tags:

Опасная функция ExitProcess.

July 15th, 2007 10 comments

Как вы думаете, какая их двух функций опаснее: ExitProcess или TerminateProcess? Ответ, конечно, зависит от определения того, что считать более безопасным. Однако если задать этот вопрос нескольким людям, большинство автоматически укажет на TerminateProcess. Почему? Потому что TerminateProcess в отличие от ExitProcess не делает попыток освободить занятые ресурсы. К примеру, программа не сможет записать несохранённые данные на диск, тем самым нарушив их целостность.

Read more…