The old new thing practical development throughout the evolution of windows

The Old New Thing, Raymond Chen, Russian

Это перевод книги The Old New Thing: Practical Development Throughout the Evolution of Windows Реймонда Чена.

Хвала The Old New Thing

«Реймонд Чен — оригинальный рассказчик о Windows».
— Скотт Хансельман, ComputerZen.com

«Реймонд работает в Microsoft много лет и видел множество нюансов Windows, мельком увидеть которые другие могли только надеяться. В этой книге Реймонд делится своими знаниями, опытом и историями, позволяющими всем нам лучше понять операционную систему, которая ежедневно влияет на миллионы людей. В этой книге есть интересное для каждого человека, она не требует специальных знаний, и я очень рекомендую её!»
— Джеффри Рихтер, автор/консультант, соучредитель Wintellect

«Очень интересно читать. Реймонд рассказывает о том, почему Windows такая, какая она есть».
— Эрик Ганнерсон, программный менеджер, корпорация Microsoft.

«Абсолютно необходимое чтение для понимания истории Windows, её сложностей и причуд, а также причин их возникновения».
— Мэтт Питрек, обозреватель «Под капотом» в журнале MSDN.

«Реймонд Чен стал чем-то вроде легенды в индустрии программного обеспечения, и в этой книге вы узнаете почему. The Old New Thing — это увлекательная коллекция анекдотов, от его воспоминаний о дизайне кнопки «Пуск» до обсуждений GlobalAlloc, которые могут понравиться только вашему внутреннему гику. Она поможет вам по-настоящему оценить сложность, присущую проектированию и написанию качественного программного обеспечения».

— Стефан Туб, технический редактор, журнал MSDN.

Содержание

  • Предисловие
  • Благодарности
  • Об авторе
  • Глава первая. Сначала — вторжение в пользовательский интерфейс
    Если вы спросите десять человек об их мыслях по дизайну пользовательского интерфейса — вы получите десять самопровозглашенных экспертных мнений. Разработка интерфейса для одного единственного пользователя даёт вам возможность просто спросить своего клиента, чего он хочет, и сделать именно это, но разработка интерфейса для большой аудитории вынуждает вас принимать трудные решения. Вот несколько историй на тему дизайна пользовательского интерфейса, начиная с, вероятно, наиболее часто задаваемого вопроса о пользовательском интерфейсе Windows 95.

    • Почему для завершения работы нужно нажать на «Пуск»?
    • Почему в Windows нет режима для экспертов?
    • «Отмена» — вот ответ на любой диалог
    • The best setting is the one you don’t even sense, but it’s there, and it works the way you expect
    • Чтобы продемонстрировать вам превосходство нашего интеллекта, мы сейчас зададим вам вопрос, на который вы не сможете ответить
    • Why doesn’t Setup ask you if you want to keep newer versions of operating system files?
    • Thinking through a feature
    • When do you disable an option, and when do you remove it?
    • When do you put … after a button or menu?
    • User interface design for vending machines
    • Проектировка интерфейса пользователя для внутреннего дверного замка
    • Эволюция косметики в Windows UI
  • Глава вторая. Избранные воспоминания о Windows 95
    Windows 95 была, пожалуй, самым ожидаемым программным обеспечением своей эпохи. На вечеринке по случаю десятой годовщины Windows 95 я случайно натолкнулся на одного из ведущих специалистов по маркетингу Windows 95, и мы вспомнили, как люди часами выстраивались в магазинах программного обеспечения, чтобы купить их копию в полночь. Когда Джей Лено (настоящая знаменитость!) организовал у себя мероприятие по случаю запуска, операционные системы превратились из скучного программного обеспечения, которое понимали только гики, в что-то массовое (что понимали только гики). И он завершил наш краткий разговор, сказав: «И мы никогда больше не увидим ничего подобного». Хотя вы, мой дорогой читатель, не смогли присоединиться к нам в нашей маленькой ностальгической беседе, вот несколько историй, которые вы можете использовать, чтобы притвориться, что вы там были.

    • Почему мой часовой пояс не показывается на мировой карте?
    • Windows 95 не загружается на машинах с памятью 1 Гб
    • Что делают в Windows 95 функции с именами BEAR, BUNNY и PIGLET?
    • А как насчёт BOZOSLIVEHERE и TABTHETEXTOUTFORWIMPS?
    • What was in the Windows 95 Special Edition box?
    • Windows проверяет каждого тестом Роршаха
    • Изображение для входа «Боевые искусства»
    • Почему очень большой словарь является не очень хорошей идеей
    • An insight into the Windows 95 startup sound
    • Колонку в газете написать гораздо проще, если не нужно заботиться о её правдивости
    • Почему Свойства системы округляет объём оперативной памяти?
    • Why does my hard drive light flash every few seconds?
    • Охота за самой быстрой обработкой системного вызова
    • One byte used to cost a dollar
    • Each product-support call costs a sale
    • Why isn’t Tweak UI included on the Windows CD?
    • Turns out that you can’t install Windows via xcopy
    • Buying an entire Egghead Software store
    • The history of the Windows PowerToys
    • How did Windows choose its final build numbers?
    • Why doesn’t the build number increment for service packs?
  • Глава третья. Тайная жизнь GetWindowText
    Функция GetWindowText сложнее, чем вы думаете. Документация пытается объяснить её сложность краткими словами, что замечательно, если вы не понимаете длинные слова, но это также означает, что история целиком становится неясной. Вот попытка дать полную историю.

    • How windows manage their text
    • Enter GetWindowText
    • What if I don’t like these rules?
    • Can you give an example where this makes a difference?
    • Why are the rules for GetWindowText so weird?
  • Глава четвертая. Панель задач и область уведомлений
    Если наиболее заметным элементом пользовательского интерфейса Windows 95 является меню «Пуск», то вторым наиболее заметным элементом пользовательского интерфейса Windows 95, вероятно, является панель задач (taskbar). Чтобы добиться её простого и интуитивного дизайна, потребовалось немало усилий и экспериментов. После краткого обсуждения номенклатуры панели задач мы рассмотрим некоторые решения и логические обоснования, лежащие в основе её дизайна.

    • Why do some people call the taskbar the “tray”?
    • Why does the taskbar default to the bottom of the screen?
    • Why doesn’t the clock in the taskbar display seconds?
    • Why doesn’t the taskbar show an analog clock?
    • When I dock my taskbar vertically, why does the word “Start” disappear?
    • Why don’t notification icons get a message when the user clicks the “X” button?
  • Глава пятая. Загадки интерфейса
    Вот некоторые короткие ответы на простые вопросы о пользовательском интерфейсе Windows. За многими простыми вопросами лежат уроки для разработчиков программного обеспечения, потому что ситуации, которые приводят к этим вопросам, часто вызываются ошибками программирования или неоптимальным дизайном программы.

    • What are those little overlay icons?
    • Why are these unwanted files/folders opening when I log on?
    • What do the text label colors mean for files?
    • Why does my advanced options dialog say ON and OFF after every option?
    • What determines the order in which icons appear in the Alt+Tab list?
    • Why is the read-only property for folders so strange?
    • What’s with those blank taskbar buttons that go away when I click on them?
    • What is the difference between Minimize All and Show Desktop?
    • What does boldface on a menu mean?
    • Where do those customized Web site icons come from?
    • Where did my task manager tabs and buttons go?
    • Will dragging a file result in a move or a copy?
    • Why does the Links folder keep re-creating itself?
    • Why are documents printed out of order when you multiselect and choose Print?
    • Raymond spends the day doing product support
    • Blow the dust out of the connector
    • How much is that gigabyte in the window?
    • Why can’t I remove the “For test/evaluation purposes only” tag?
  • Глава шестая. История функции GlobalAlloc
    Функция GlobalAlloc когда-то была центральной для распределения памяти в Windows. Вся память приходила из GlobalAlloc, будь то код или данные, частные данные приложения или данные общего буфера обмена. В этой главе мы проследим историю этой функции (а также её близкого друга GlobalLock), начиная с того дня, когда она была королём кучи (heap), и заканчивая текущей позицией её увядшей славы в Win32. И, как вы увидите, многие странные требования, касающиеся использования памяти, выделенной в глобальной куче, относятся к тем дням, когда глобальная куча вела себя совершенно иначе, чем сегодня.

    • The early years
    • Selectors
    • Transitioning to Win32
    • A peek at the implementation
  • Глава седьмая. Краткие темы по программированию в Windows
    • The scratch program
    • Getting a custom right-click menu for the caption icon
    • What’s the difference between CreateMenu and CreatePopupMenu?
    • When does the window manager destroy menus automatically?
    • Painting only when your window is visible onscreen
    • Determining whether your window is covered
    • Using bitmap brushes for tiling effects
    • What is the DC brush good for?
    • Using ExtTextOut to draw solid rectangles
    • Using StretchBlt to draw solid rectangles
    • Displaying a string without those ugly boxes
    • Semaphores don’t have owners
    • An auto-reset event is just a stupid semaphore
  • Глава 8. Управление окнами
    • Why do I get spurious WM_MOUSEMOVE messages?
    • Why is there no WM_MOUSEENTER message?
    • The white flash
    • What is the hollow brush for?
    • What’s so special about the desktop window?
    • The correct order for disabling and enabling windows
    • A subtlety in restoring the previous window position
    • UI-modality versus code-modality
    • The WM_QUIT message and modality
    • The importance of setting the correct owner for modal UI
    • Interacting with a program that has gone modal
    • A timed MessageBox, the cheap version
    • The scratch window
    • The bonus window bytes at GWLP_USERDATA
    • A timed MessageBox, the better version
    • A timed context menu
    • Why does my window receive messages after it has been destroyed?
  • Глава девятая. Воспоминания об аппаратном обеспечении
      Hardware backward compatibility

    • The ghost CD-ROM drives
    • The Microsoft corporate network: 1.7 times worse than hell
    • When vendors insult themselves
    • Defrauding the WHQL driver certification process
    • A twenty-foot-long computer
    • The USB cart of death
    • New device detected: Boeing 747
    • There’s an awful lot of overclocking out there
  • Глава десятая. Внутренняя работа диспетчера диалогов
    • On the dialog procedure
    • The evolution of dialog templates
    • Why dialog templates, anyway?
    • How dialogs are created
    • The modal dialog loop
    • Nested dialogs and DS_CONTROL
    • Why do we need a dialog loop, anyway?
    • Why do dialog editors start assigning control IDs with 100?
    • What happens inside DefDlgProc?
    • Never leave focus on a disabled control
    • What happens inside IsDialogMessage?
    • Why is the X button disabled on my message box?
  • Глава одиннадцатая. Общие вопросы программного обеспечения
    • Why daylight saving time is nonintuitive
    • Why do timestamps change when I copy files to a floppy?
    • Don’t trust the return address
    • Writing a sort comparison function
    • You can read a contract from the other side
    • The battle between pragmatism and purity
    • Optimization is often counterintuitive
    • On a server, paging = death
    • Don’t save anything you can recalculate
    • Performance gains at the cost of other components
    • Performances consequences of polling
    • The poor man’s way of identifying memory leaks
    • A cache with a bad policy is another name for a memory leak
  • Глава двенадцатая. Копаемся в компиляторе Visual C++
    • Do you know when your destructors run?
    • The layout of a COM object
    • Adjustor thunks
    • Pointers to member functions are very strange animals
    • What is __purecall?
  • Глава тринадцатая. Обратная совместимость
    • Sometimes an app just wants to crash
    • When programs grovel into undocumented structures
    • Why not just block the applications that rely on undocumented behavior?
    • Why 16-bit DOS and Windows are still with us
    • What’s the deal with those reserved filenames such as NUL and CON?
    • Why is a drive letter permitted in front of UNC paths (sometimes)?
    • Do not underestimate the power of the game Deer Hunter
    • Sometimes the bug isn’t apparent until late in the game
    • The long and sad story of the Shell Folders key
    • The importance of error code backward compatibility
    • Sure, we do that
    • When programs patch the operating system and mess up
    • The compatibility constraints of even your internal bookkeeping
    • Why does Windows keep your BIOS clock on local time?
    • Bad version number checks
    • The ways people mess up IUnknown::QueryInterface
    • When programs assume that the system will never change, Episode 1
    • When programs assume that the system will never change, Episode 2
    • The decoy Display Control Panel
    • The decoy visual style
  • Глава четырнадцатая. Этимология и история
    • What do the letters W and L stand for in WPARAM and LPARAM?
    • Why was nine the maximum number of monitors in Windows 98?
    • Why is a registry file called a hive?
    • The management of memory for resources in 16-bit Windows
    • What is the difference between HINSTANCE and HMODULE?
    • What was the purpose of the hPrevInstance parameter to WinMain?
    • Why is the GlobalWire function called GlobalWire?
    • What was the difference between LocalAlloc and GlobalAlloc?
    • What was the point of the GMEM_SHARE flag?
    • Why do I sometimes see redundant casts before casting to LPARAM?
    • Why do the names of the registry functions randomly end in Ex?
    • What’s the difference between SHGetMalloc, SHAlloc, CoGetMalloc, and CoTaskMemAlloc?
    • Why is Windows Error Reporting nicknamed Dr. Watson?
    • What happened to DirectX 4?
    • Why are HANDLE return values so inconsistent?
    • Why do text files end in Ctrl+Z?
    • Why is the line terminator CR+LF?
    • TEXT vs. _TEXT vs. _T, and UNICODE vs. _UNICODE
    • Why are dialog boxes initially created hidden?
    • When you change the insides, nobody notices
    • If FlushInstructionCache doesn’t do anything, why do you have to call it?
    • If InitCommonControls doesn’t do anything, why do you have to call it?
    • Why did InterlockedIncrement/Decrement only return the sign of the result?
    • Why does the function WSASetLastError exist?
    • Why are there broadcast-based mechanisms in Windows?
    • Where did windows minimize to before the taskbar was invented?
    • Why didn’t the desktop window shrink to exclude the taskbar?
    • Why does the caret stop blinking when I tap the Alt key?
    • What is the deal with the ES_OEMCONVERT flag?
    • The story behind file system tunneling
    • Why do NTFS and Explorer disagree on filename sorting?
    • The Date/Time Control Panel is not a calendar
    • How did Windows 95 rebase DLLs?
    • What are SYSTEM_FONT and DEFAULT_GUI_FONT?
    • Why do up-down controls have the arrows backward?
    • A ticket to the Windows 95 launch
  • Глава пятнадцатая. Как доставляются и извлекаются оконные сообщения
    • Sent and posted messages
    • The life of a sent message
    • The life of a posted message
    • Generated posted messages
    • When does SendMessageCallback call you back?
    • What happens in SendMessageTimeout when a message times out?
    • Applying what you’ve learned to some message processing myths
    • How can you tell who sent or posted you a message?
    • You can’t simulate keyboard input with PostMessage
  • Глава шестнадцатая. Программирование для международного уровня
    • Case mapping on Unicode is hard
    • An anecdote about improper case mapping
    • Why you can’t rotate text
    • What are these directories called 0409 and 1033?
    • Keep your eye on the code page
    • Why is the default 8-bit codepage called “ANSI”?
    • Why is the default console codepage called “OEM”?
    • Why is the OEM code page often called ANSI?
    • Logical but perhaps surprising consequences of converting between Unicode and ANSI
  • Глава семнадцатая. Безопасность
    • World-writable files
    • Hiding files from Explorer
    • Stealing passwords
    • Silent install of uncertified drivers
    • Your debugging code can be a security hole
    • Why shared sections are a security hole
    • Internet Explorer’s Enhanced Security Configuration doesn’t trust the intranet
  • Глава восемнадцатая. Windows 2000 и Windows XP
    • Why doesn’t the new Start menu use Intellimenus in the All Programs list?
    • Why is there no programmatic access to the Start menu pin list?
    • Why does Windows XP Service Pack 2 sometimes forget my CD autoplay settings?
    • The unsafe device removal dialog
    • Two brief reminiscences on the Windows XP Comments? button
    • Why does Explorer eject the CD after you finish burning it?
    • Why does Windows setup lay down a new boot sector?
    • Psychic debugging: Why your expensive four-processor machine is ignoring three of its processors
    • Psychic debugging: Why your CPU usage is hovering at 50%
    • What’s the deal with the DS_SHELLFONT flag?
    • Why does DS_SHELLFONT = DS_FIXEDSYS | DS_SETFONT?
    • What other effects does DS_SHELLFONT have on property sheet pages?
  • Глава девятнадцатая. Вопросы дизайна Win32
    • Why does Win32 fail a module load if an import could not be resolved?
    • Why are structure sizes checked strictly?
    • Why do I have to return this goofy value for WM_DEVICECHANGE?
    • The arms race between programs and users
    • Why can’t you trap TerminateProcess?
    • Why do some processes stay in Task Manager after they’ve been killed?
    • Understanding the consequences of WAIT_ABANDONED
    • Why can’t I put hyperlinks in notification icon balloon tips?
    • Why can’t I use the same tree item multiple times?
    • The kooky STRRET structure
    • Why can’t you set UTF-8 as your ANSI code page?
    • When should you use a sunken client area?
    • Why is there no all-encompassing superset version of Windows?
    • Why is it even possible to disable the desktop, anyway?
    • What are the window and menu nesting limits?
    • What’s the difference between HWND_TOP and HWND_TOPMOST?
  • Глава двадцатая. Налоги
    Управление питанием попадает в категорию, которую некоторые команды разработчиков называют «налогами». Это что-то такое, что вы делаете не потому, что это принесёт выгоду конкретно вам, а потому что это принесёт выгоду чему-то большему: общей экосистеме приложений.

    • Как вы можете убедить разработчиков платить их «налоги»?
    • Иерархическое управление носителями
    • Геополитика
    • Рисование с удалённым рабочим столом
    • Быстрое переключение пользователей и службы терминала
    • Multiple users
    • Перемещаемые профили пользователя
    • Перенаправленные папки
    • Мои Документы против Application Data
    • Large address spaces
    • Power management and detecting battery power
    • Intermittent network connectivity
    • Anti-aliased fonts and ClearType
    • High DPI displays
    • Multiple monitors
    • The work area
    • Displaying your pop-up windows in the right place
    • Accessibility
  • Глава двадцать первая. Забавные глупости
    Жизнь, конечно, не вся состоит из серьёзных вещей. Вот некоторые из произошедших забавных глупостей.

    • The much-misunderstood “nop” action
    • Don’t let Marketing mess with your slides
    • Whimsical bug reports
    • Аккуратнее с этими URL для примеров
    • Ни один код не является необитаемым островом
    • Но у меня Visual Basic Professional!
    • It’s all about the translucent plastic
    • Моя первая угроза смерти
    • Вам не спастись от этих компакт-дисков AOL
    • Честно предупредим перед включением своего компьютера
    • Пасьянс «Паук» свергает господствующего чемпиона
    • В Rat Poker что-то такое есть
    • Be careful what you name your product group
    • The psychology of naming your internal distribution lists
    • Differences between managers and programmers
    • Использование дискет как семафоров
    • Когда токен меняет своё значение на середине процесса
    • Необычное смущение, как мягкая форма выговора
    • Использование физических объектов в качестве напоминания
    • The office disco party
    • The Halloween-themed lobby
  • Приложение A. Истории обратной совместимости
    Эти истории, подобные тем, что приведены в главе 13, не пытаются вас ничему научить. Это просто интересные маленькие истории. Часто рассказывать эти маленькие виньетки за обеденным столом было нашим последней хваткой за здравомыслие.

  • Приложение B. Как убедиться, что ваша программа не запустится на Windows 95

Предисловие

Несчётное число перьев исписано для описания «как» в использовании и разработке программного обеспечения для Windows, но лишь немногие авторы обращаются к «почему». То, что может показаться на первый взгляд странным, часто оказывается вполне логичным объяснением, отражающим историю, эволюцию и философию операционной системы Microsoft Windows. Эта книга пытается дать знания не столько в форме рассказа о том, что нужно делать (хотя, конечно, и этого здесь достаточно), а скорее, чтобы помочь понять, почему всё так сложилось. Получив информацию об истории и философии Windows, вы сможете стать более эффективным программистом Windows.

Акцент здесь делается на логическом обосновании Windows. Это не справочник и даже не учебник, а скорее «практическая история», в которой используется разговорный, а не дидактический подход в попытке дать вам понимание философии Windows через серию коротких, в значительной степени независимых, эссе. Поэтому вы можете свободно переходить к актуальным темам (или техническим знаниям). Эссе были сгруппированы в общие темы, и иногда тут есть педагогическая последовательная, когда тема исследуется подробно; однако даже в этих случаях тема ограничивается одной отдельной главой.

Писателя и комментатора Дэвида Седариса часто спрашивают, правдивы ли его рассказы. Он отвечает, что они «достаточно правдивы». Как и рассказы Дэвида Седариса, материал в этой книге также «достаточно правдив». Основное внимание уделяется общей картине, а не мелочам; обсуждение одной идеи, не отвлекаясь на занудные детали. Ключевые детали выделены, но несущественные из них оставлены в стороне, и потенциально интересные отступления могут быть опущены, если они не соответствуют теме.

Основная аудитория — опытные читатели, интересующиеся историей Windows. Около половины эссе не требуют знания программирования. Большинство оставшихся тем предполагают базовые знания в области проектирования и разработки программного обеспечения, хотя ничего особенно продвинутого там нет. Темы, связанные с программированием Windows, предполагают, что читатель знаком с программированием пользовательского интерфейса Win32 и COM.

Что вы получите из этой книги? Как отмечалось ранее, основная цель — донести философию и логическое обоснование того, что на первый взгляд может показаться иррациональным замыслом. Вы также поймете, что когда что-то не может быть сделано в Windows, на это есть уважительная причина; и вы получите представление о том, на какие экстремальные меры идёт Windows, чтобы сохранить обратную совместимость (и почему это важно). В конце концов, вы сможете рассказать забавные истории об истории Windows на коктейльных вечеринках (эмм… то есть на вечеринках, организованных другими гиками).

Большая часть материала в виде коротких эссе уже появилась в той или иной форме на веб-сайте автора: блоге The Old New Thing (http://blogs.msdn.com/oldnewthing/), но существенно дополнена новым материалом, чтобы лучше подходить для книжного формата.

Благодарности

Я хочу начать с благодарности Джоан Мюррей из Эддисон-Уэсли за веру в столь необычную книгу. Без её поддержки этот проект никогда бы не состоялся. Также оказали большую помощь и другие сотрудники Аддисон-Уэсли, в том числе Тиррелл Олбо, Пэтти Бойд, Кит Клайн, Курт Джонсон и Крис Зан. Бен Райан заслуживает похвалы за то, что в конце 1990-х годов он предложил мне написать книгу о Win32 (извините, что это заняло так много времени), и я обвиняю Брэда Абрамса в том, что он настойчиво велел мне запустить блог в 2003 году.

Дополнительное спасибо Бетси Аоки, Джеффу Дэвису, Генри Габриэльски, Джеффри Галиновский, Майклу Гриеру, Майк Гандерлой, Эрик Ганнерсон, Крис Гузак, Джонсон М. Харт, Фрэнсис Хогл, Алеш Холесек, Майкл Каплан, К.С. Лемсон, Шелли МакКинли, Рико Мариани, Джозеф Адриану Онею, Ларри Остерману, Мэтту Пиетреку, Джеффри Рихтеру, Майку Шмидту, Яну Шанахану, Джоэлю Спольски, Стивену Таубу и Эду Уоссу за их помощь на различных уровнях в течение всего этого проекта (умышленного или невольного). Наконец, я должен поблагодарить всех людей, которые посещают мой блог, который служит как названием, так и источником вдохновения для этой книги. Именно они убедили меня попробовать написать эту книгу.

Об авторе

Реймонд Чен (Raymond Chen) — программист в подразделении Windows в Microsoft. Его веб-сайт The Old New Thing посвящен истории Windows и программированию на Win32. Он также пишет колонку Windows Confidential для журнала TechNet.

Addison-Wesley Professional, 27 дек. 2006 г.Всего страниц: 512

2 Отзывы

Google не подтверждает отзывы, однако проверяет данные и удаляет недостоверную информацию.

«Raymond Chen is the original raconteur of Windows.»

—Scott Hanselman, ComputerZen.com

«Raymond has been at Microsoft for many years and has seen many nuances of Windows that others could only ever hope to get a glimpse of. With this book, Raymond shares his knowledge, experience, and anecdotal stories, allowing all of us to get a better understanding of the operating system that affects millions of people every day. This book has something for everyone, is a casual read, and I highly recommend it!»

—Jeffrey Richter, Author/Consultant, Cofounder of Wintellect

«Very interesting read. Raymond tells the inside story of why Windows is the way it is.»

—Eric Gunnerson, Program Manager, Microsoft Corporation

«Absolutely essential reading for understanding the history of Windows, its intricacies and quirks, and why they came about.»

—Matt Pietrek, MSDN Magazine‘s Under the Hood Columnist

«Raymond Chen has become something of a legend in the software industry, and in this book you’ll discover why. From his high-level reminiscences on the design of the Windows Start button to his low-level discussions of GlobalAlloc that only your inner-geek could love, The Old New Thing is a captivating collection of anecdotes that will help you to truly appreciate the difficulty inherent in designing and writing quality software.»

—Stephen Toub, Technical Editor, MSDN Magazine

Why does Windows work the way it does? Why is Shut Down on the Start menu? (And why is there a Start button, anyway?) How can I tap into the dialog loop? Why does the GetWindowText function behave so strangely? Why are registry files called «hives»?

Many of Windows’ quirks have perfectly logical explanations, rooted in history. Understand them, and you’ll be more productive and a lot less frustrated. Raymond Chen—who’s spent more than a decade on Microsoft’s Windows development team—reveals the «hidden Windows» you need to know.

Chen’s engaging style, deep insight, and thoughtful humor have made him one of the world’s premier technology bloggers. Here he brings together behind-the-scenes explanations, invaluable technical advice, and illuminating anecdotes that bring Windows to life—and help you make the most of it.

A few of the things you’ll find inside:

  • What vending machines can teach you about effective user interfaces
  • A deeper understanding of window and dialog management
  • Why performance optimization can be so counterintuitive
  • A peek at the underbelly of COM objects and the Visual C++ compiler
  • Key details about backwards compatibility—what Windows does and why
  • Windows program security holes most developers don’t know about
  • How to make your program a better Windows citizen

«Raymond Chen is the original raconteur of Windows.»

—Scott Hanselman, ComputerZen.com

«Raymond has been at Microsoft for many years and has seen many nuances of Windows that others could only ever hope to get a glimpse of. With this book, Raymond shares his knowledge, experience, and anecdotal stories, allowing all of us to get a better understanding of the operating system that affects millions of people every day. This book has something for everyone, is a casual read, and I highly recommend it!»

—Jeffrey Richter, Author/Consultant, Cofounder of Wintellect

«Very interesting read. Raymond tells the inside story of why Windows is the way it is.»

—Eric Gunnerson, Program Manager, Microsoft Corporation

«Absolutely essential reading for understanding the history of Windows, its intricacies and quirks, and why they came about.»

—Matt Pietrek, MSDN Magazine‘s Under the Hood Columnist

«Raymond Chen has become something of a legend in the software industry, and in this book you’ll discover why. From his high-level reminiscences on the design of the Windows Start button to his low-level discussions of GlobalAlloc that only your inner-geek could love, The Old New Thing is a captivating collection of anecdotes that will help you to truly appreciate the difficulty inherent in designing and writing quality software.»

—Stephen Toub, Technical Editor, MSDN Magazine

Why does Windows work the way it does? Why is Shut Down on the Start menu? (And why is there a Start button, anyway?) How can I tap into the dialog loop? Why does the GetWindowText function behave so strangely? Why are registry files called «hives»?

Many of Windows’ quirks have perfectly logical explanations, rooted in history. Understand them, and you’ll be more productive and a lot less frustrated. Raymond Chen—who’s spent more than a decade on Microsoft’s Windows development team—reveals the «hidden Windows» you need to know.

Chen’s engaging style, deep insight, and thoughtful humor have made him one of the world’s premier technology bloggers. Here he brings together behind-the-scenes explanations, invaluable technical advice, and illuminating anecdotes that bring Windows to life—and help you make the most of it.

A few of the things you’ll find inside:

  • What vending machines can teach you about effective user interfaces
  • A deeper understanding of window and dialog management
  • Why performance optimization can be so counterintuitive
  • A peek at the underbelly of COM objects and the Visual C++ compiler
  • Key details about backwards compatibility—what Windows does and why
  • Windows program security holes most developers don’t know about
  • How to make your program a better Windows citizen

The Old New Thing: Practical Development Throughout the Evolution of Windows

Автор: harun54 от 7-06-2019, 17:43, Коментариев: 0

Категория: КНИГИ » АРХИТЕКТУРА И ДИЗАЙН

Название: The Old New Thing: Practical Development Throughout the Evolution of Windows
Автор: Raymond Chen
Издательство: Addison-Wesley Professional
Год: 2007
Формат: EPUB
Размер: 16 Мб
Язык: английский / English

Why does Windows work the way it does? Why is Shut Down on the Start menu? (And why is there a Start button, anyway?) How can I tap into the dialog loop? Why does the GetWindowText function behave so strangely? Why are registry files called «hives»? Many of Windows’ quirks have perfectly logical explanations, rooted in history. Understand them, and you’ll be more productive and a lot less frustrated. Raymond Chen—who’s spent more than a decade on Microsoft’s Windows development team—reveals the «hidden Windows» you need to know.

Chen’s engaging style, deep insight, and thoughtful humor have made him one of the world’s premier technology bloggers. Here he brings together behind-the-scenes explanations, invaluable technical advice, and illuminating anecdotes that bring Windows to life—and help you make the most of it.


Нашел ошибку? Есть жалоба? Жми!
Пожаловаться администрации

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Old New Thing: Practical Development Throughout the Evolution of Windows, The by Raymond Chen

Author:Raymond Chen [Chen, Raymond]

Language: eng

Format: azw3

Publisher: Pearson Education

Published: 2006-12-26T16:00:00+00:00

What was the point of the GMEM_SHARE flag?

THE GLOBALALLOC FUNCTION has a GMEM_SHARE flag. What is it for?

In 16-bit Windows, the GMEM_SHARE flag controlled whether the memory should outlive the process that allocated it. By default, all memory allocated by a process was automatically freed when that process exited.

Passing the GMEM_SHARE flag suppresses this automatic cleanup. That’s why you have to use this flag when allocating memory to be placed on the clipboard or when you transfer it via OLE to another process. Because the clipboard exists after your program exits, any data you put on the clipboard needs to outlive the program. If you neglect to set this flag, then when your program exits, the memory that you put on the clipboard will be cleaned up, resulting in a crash the next time someone tries to read that data from the clipboard. (The GMEM_SHARE flag also controls whether the memory can be freed by a process other than the one that allocated it. This makes sense given the preceding semantics.)

Note that the cleanup rule applies to global memory allocated by DLLs on behalf of a process. Authors of DLLs had to be careful to keep track of whether any particular memory allocation was specific to a process (and should be freed when the process exited) or whether it was something the DLL was planning on sharing across processes for its own internal bookkeeping (in which case it shouldn’t be freed). Failure to be mindful of this distinction would lead to puzzling crashes.

Thank goodness this is all gone in Win32.


Download


Copyright Disclaimer:


This site does not store any files on its server. We only index and link
to content provided by other sites. Please contact the content providers
to delete copyright contents if any and email us, we’ll remove relevant
links or contents immediately.

The Old New Thing / Archived 2003-2019

*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please
contact me.
The content herein is an archived reproduction of entries from
Raymond Chen’s «Old New Thing» Blog (most recent link is here).
It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE?
Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here.
Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered
some of the original content previously and publicly available, had disappeared approximately early to mid 2019.
At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond’s blog is, for all practical purposes, more authoritative on Windows Development than Microsoft’s
own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details
provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online «backup» of these details
is a necessary endeavor. Specifics include:

  • A «redesign» after 2019 erased thousands of user’s comments from previous years. As many have stated, the comments are nearly as important as the postings themselves.
    The archived copies of the postings contained here retain the original comments.
  • The blog has changed domains many times and the urls have otherwise been under constant change since 2003.
    Even when proper redirection has been set up for those links, redirection only works for a limited period of time.
    For example, all of the internal blog links that were valid in early 2019, were broken by 2020 without proper redirection.
  • The blog has been under constant re-design and re-theming since its inception.
    It is downright irritating to deal with a bogged-down site experience as the result of the latest visual themes designed for cell-phone browsers.
    As of this writing, it is cumbersome to navigate titles with only 10 entries per page.
    While it is nice that the official site has a search feature, searching using this index (with all titles on a single page) is much quicker (CTRL-F in most browsers).


Date Title
2003-07-21 / #0 Tweak UI 2.10 (11 comments) / other
2003-07-22 / #1 Why do you have to click the Start button to shut down? (22 comments) / history
2003-07-23 / #2 The scratch program (23 comments) / code
2003-07-24 / #3 More terse Q&A on Tweak UI 2.10 (2 comments) / other
2003-07-25 / #4 Scrollbars, part 2 (1 comment) / code
2003-07-28 / #5 Why doesn’t Windows have an “expert mode”? (15 comments) / history
2003-07-29 / #6 Scrollbars, part 3: Optimizing the paint cycle (1 comment) / code
2003-07-30 / #7 Why doesn’t the new Start menu use Intellimenus in the All Programs list? (8 comments) / history
2003-07-30 / #8 Answer to yesterday’s exercise (5 comments) / code
2003-07-31 / #9 Scrollbars, part 4: Adding a proportional scrollbar (0 comments) / code
2003-08-05 / #10 Answer to previous exercise (0 comments) / code
2003-08-05 / #11 Changing the Windows boot logo (12 comments) / history
2003-08-05 / #12 Keyboard accessibility for scrollbars (3 comments) / code
2003-08-07 / #13 Limitations on DLL resources in Windows 95 (1 comment) / history
2003-08-07 / #14 Scrollbars bart 6 – The wheel (4 comments) / code
2003-08-07 / #15 A subtlety in the keyboard code (0 comments) / code
2003-08-08 / #16 Why is a registry file called a “hive”? (9 comments) / history
2003-08-11 / #17 Answers to exercises (0 comments) / code
2003-08-11 / #18 Scrollbars part 7 – Integrality (0 comments) / code
2003-08-12 / #19 Why can’t I remove “for test/evaluation purposes only”? (3 comments) / history
2003-08-13 / #20 Scrollbars part 8 – Integral interactive resizing (0 comments) / code
2003-08-14 / #21 Windows 95 doesn’t boot with more than 1GB of RAM (12 comments) / history
2003-08-15 / #22 Answer to exercise (0 comments) / code
2003-08-16 / #23 A day in the trenches (7 comments) / other
2003-08-18 / #24 Why does Windows 95 have functions called BEAR, BUNNY and PIGLET? (16 comments) / history
2003-08-18 / #25 There will be a part 9 in the scrollbar series (1 comment) / code
2003-08-19 / #26 Lessons from the trenches (1 comment) / other
2003-08-20 / #27 What is in the “Windows 95 Special Edition” box? (2 comments) / history
2003-08-21 / #28 The secret life of GetWindowText (3 comments) / code
2003-08-22 / #29 Why isn’t my time zone highlighted on the world map? (35 comments) / history;time
2003-08-22 / #30 Knitting a pumpkin (3 comments) / non-computer
2003-08-25 / #31 Windows brings out the Rorschach test in everyone (10 comments) / history
2003-08-26 / #32 Rotating the Z-order (1 comment) / code
2003-08-27 / #33 What are those little overlay icons? (3 comments) / code;tipssupport
2003-08-27 / #34 What are all these files in my C:WINDOWSCSC directory? (12 comments) / tipssupport
2003-08-27 / #35 Why are these unwanted files/folders opening when I log on? (5 comments) / code;tipssupport
2003-08-28 / #36 Hardware backwards compatibility (11 comments) / history
2003-08-29 / #37 Painting only when your window is visible on the screen (6 comments) / code
2003-08-31 / #38 Setup could not verify integrity of file (0 comments) / tipssupport
2003-09-01 / #39 The default answer to every dialog box is “Cancel” (39 comments) / other
2003-09-01 / #40 Suburbs make you fat, researchers conclude (2 comments) / non-computer
2003-09-01 / #41 Even the trees are falling for the media’s lies (2 comments) / non-computer
2003-09-02 / #42 Determining whether your window is covered (0 comments) / code
2003-09-02 / #43 The World Adult Kickball Association (0 comments) / non-computer
2003-09-03 / #44 Why is there no programmatic access to the Start menu pin list? (49 comments) / history
2003-09-04 / #45 Why are the rules for GetWindowText so weird? (8 comments) / history
2003-09-05 / #46 How to recognize different types of timestamps from quite a long way away (11 comments) / code
2003-09-05 / #47 Case mapping on Unicode is hard (2 comments) / code
2003-09-05 / #48 Where is my program running from? (1 comment) / code
2003-09-08 / #49 An insight into the Windows 95 startup sound (14 comments) / history
2003-09-08 / #50 It’s a lot easier to write a column if you don’t care about accuracy (9 comments) / history
2003-09-09 / #51 Scrollbars part 9 – Maintaining the metaphor (2 comments) / code
2003-09-09 / #52 If you see only one Elvis vs. Mummy movie this year, make it this one (3 comments) / non-computer
2003-09-10 / #53 Why do some people call the taskbar the «tray»? (73 comments) / history
2003-09-10 / #54 Computers are still too hard to use. (11 comments) / other
2003-09-11 / #55 You too can dress like Raymond (8 comments) / tipssupport
2003-09-11 / #56 Scrollbars part 10 – Towards a deeper understanding of the WM_NCCALCSIZE message (2 comments) / code
2003-09-12 / #57 Why does the taskbar default to the bottom of the screen? (13 comments) / history
2003-09-12 / #58 Whimsical bug reports (12 comments) / other
2003-09-13 / #59 Answers to exercises (0 comments) / code
2003-09-13 / #60 I’m not sure if this was a dare (6 comments) / non-computer
2003-09-14 / #61 Something about Microsoft employees and milk (1 comment) / other
2003-09-15 / #62 Eric’s complete guide to BSTR semantics (11 comments) / code
2003-09-15 / #63 Scrollbars part 11: Towards an even deeper understanding of the WM_NCCALCSIZE message (6 comments) / code
2003-09-16 / #64 Why does Win32 fail a module load if an import could not be resolved? (6 comments) / history
2003-09-17 / #65 Scrollbars part 12: Applying WM_NCCALCSIZE to our scrollbar sample (2 comments) / code
2003-09-17 / #66 Answers to exercise from Scrollbars Part 11 (0 comments) / code
2003-09-17 / #67 The end of the scrollbar series (60 comments) / code
2003-09-18 / #68 Emergency vacation (10 comments) / non-computer
2003-09-18 / #69 Improving the world one bad analogy at a time (9 comments) / other
2003-09-19 / #70 How much is that gigabyte in the window? (20 comments) / other
2003-09-19 / #71 Pre-travel insomnia (13 comments) / non-computer
2003-09-20 / #72 When I dock my taskbar vertically, why does the word “Start” disappear? (7 comments) / history
2003-09-29 / #73 Back from Europe (6 comments) / non-computer
2003-09-29 / #74 Why you can’t rotate text (20 comments) / history
2003-09-29 / #75 In case people got the wrong impression (16 comments) / non-computer
2003-09-30 / #76 Why is the readonly property for folders so strange? (10 comments) / history
2003-10-01 / #77 Why do I get spurious WM_MOUSEMOVE messages? (8 comments) / code
2003-10-01 / #78 Jag taler lita svenska. (13 comments) / non-computer
2003-10-01 / #79 Jag skrivar svenska inte so bra. (6 comments) / non-computer
2003-10-02 / #80 Why does my Advanced Options dialog say ON and OFF after every option? (10 comments) / tipssupport
2003-10-02 / #81 What do the text label colors mean for files? (23 comments) / tipssupport
2003-10-03 / #82 Why can’t I use &-accelerators on the Start menu? (19 comments) / history
2003-10-06 / #83 Why does the System Properties page round the memory size? (3 comments) / history
2003-10-06 / #84 Researchers discover link between music and drinking (1 comment) / non-computer
2003-10-07 / #85 Stupid memory-mapping tricks (9 comments) / code
2003-10-07 / #86 Low-tech usability testing (1 comment) / history
2003-10-08 / #87 I’m doing this instead of writing a book (24 comments) / non-computer
2003-10-08 / #88 In Explorer, you can right-click the icon in the caption (15 comments) / tipssupport
2003-10-08 / #89 Why is address space allocation granularity 64K? (8 comments) / history
2003-10-09 / #90 Other uses for bitmap brushes (13 comments) / code
2003-10-10 / #91 Why doesn’t the clock in the taskbar display seconds? (27 comments) / history
2003-10-13 / #92 Why is there no WM_MOUSEENTER message? (6 comments) / code
2003-10-14 / #93 Answer to previous exercise (0 comments) / code
2003-10-14 / #94 Why don’t notification icons get a message when the user clicks the “X” button? (9 comments) / history
2003-10-15 / #95 What about BOZOSLIVEHERE and TABTHETEXTOUTFORWIMPS? (58 comments) / history
2003-10-15 / #96 Murphy’s law for school (2 comments) / non-computer
2003-10-16 / #97 The much-misunderstood “nop” action (6 comments) / non-computer
2003-10-16 / #98 Scrollbars redux: Part 12 (0 comments) / code
2003-10-17 / #99 Don’t let Marketing mess with your slides (5 comments) / history
2003-10-18 / #100 Curling anyone? (9 comments) / non-computer
2003-10-20 / #101 The more I learn about Sweden, the weirder it gets (10 comments) / non-computer
2003-10-20 / #102 What is the Alt+Tab order? (23 comments) / history
2003-10-21 / #103 Using the TAB key to navigate in non-dialogs (4 comments) / code
2003-10-22 / #104 What’s the deal with those reserved filenames like NUL and CON? (22 comments) / history
2003-10-23 / #105 Writing a sort comparison function (8 comments) / code
2003-10-24 / #106 Why Daylight Savings Time is nonintuitive (32 comments) / history;time
2003-10-25 / #107 Kinder Überraschungen (14 comments) / non-computer
2003-10-26 / #108 Being the Nobel Peace Prize (12 comments) / non-computer
2003-10-27 / #109 Getting a custom right-click menu for the caption icon (2 comments) / code
2003-10-28 / #110 When vendors insult themselves (14 comments) / history
2003-10-29 / #111 Drawing an active-looking caption even when not active (20 comments) / code
2003-10-30 / #112 I thought you said people don’t know how to read analog clocks (19 comments) / history
2003-10-31 / #113 Why highlighting by inverting colors is a bad idea (14 comments) / code
2003-11-03 / #114 The long and sad story of the Shell Folders key (43 comments) / code;history
2003-11-04 / #115 Just follow the rules and nobody gets hurt (16 comments) / code
2003-11-05 / #116 An anecdote about improper capitalization (8 comments) / other
2003-11-06 / #117 Why are companies so worried about retraining costs? (27 comments) / other
2003-11-06 / #118 Little facts you didn’t know about concrete (7 comments) / news-flash;non-computer
2003-11-07 / #119 Returning values from a dialog procedure (15 comments) / code
2003-11-10 / #120 How much do you expect from a framework layer? (10 comments) / other
2003-11-10 / #121 A warning to people averse to code (0 comments) / other
2003-11-10 / #122 Homework assignment about window subclassing (6 comments) / code
2003-11-11 / #123 Safer subclassing (5 comments) / code
2003-11-11 / #124 Welcome Martyn Lovell (0 comments) / other
2003-11-12 / #125 A different type of dialog procedure (2 comments) / code
2003-11-13 / #126 Answer to previous exercise about m_fRecursing (0 comments) / code
2003-11-13 / #127 Another different type of dialog procedure (4 comments) / code
2003-11-13 / #128 British newspapers are much more fun to read (14 comments) / non-computer
2003-11-14 / #129 Preventing edit control text from being autoselected in a dialog box (2 comments) / code
2003-11-17 / #130 Stay healthy: Drink Guinness (4 comments) / non-computer
2003-11-17 / #131 More stories of bad hardware (6 comments) / history
2003-11-17 / #132 Another favorite from the Grauniad (18 comments) / non-computer
2003-11-18 / #133 Make sure the buttons match the question (34 comments) / code
2003-11-19 / #134 Notepad’s geek options require Word Wrap be disabled (13 comments) / tipssupport
2003-11-19 / #135 How can I tell if I have the 64-bit edition of Windows? (6 comments) / tipssupport
2003-11-20 / #136 What’s the deal with the System Volume Information folder? (53 comments) / tipssupport
2003-11-21 / #137 Why isn’t Fast User Switching enabled on domains? (30 comments) / history
2003-11-24 / #138 A shortcut to the Run dialog (6 comments) / code;tipssupport
2003-11-24 / #139 You can drag/drop to the command prompt (17 comments) / tipssupport
2003-11-25 / #140 What do the letters W and L stand for in WPARAM and LPARAM? (22 comments) / history
2003-11-26 / #141 Other tricks with WM_GETDLGCODE (8 comments) / code
2003-11-27 / #142 It’s like the Swedes don’t want you to learn their language (15 comments) / non-computer
2003-11-28 / #143 Hello Sweden, you’re on fire (8 comments) / non-computer
2003-12-01 / #144 What are these strange values returned from GWLP_WNDPROC? (10 comments) / history
2003-12-01 / #145 What did the letters “NT” originally stand for? (4 comments) / history
2003-12-02 / #146 Which message numbers belong to whom? (18 comments) / code
2003-12-02 / #147 The New Old New Thing (10 comments) / other
2003-12-03 / #148 Which window style bits belong to whom? (6 comments) / code
2003-12-04 / #149 Which access rights bits belong to whom? (2 comments) / code
2003-12-05 / #150 Why do I have to return this goofy value for WM_DEVICECHANGE? (12 comments) / history
2003-12-07 / #151 At least she represents the United States faithfully (5 comments) / non-computer
2003-12-08 / #152 What’s with the catcow and dogoldfish? (26 comments) / tipssupport
2003-12-08 / #153 If FlushInstructionCache doesn’t do anything, why do you have to call it? (7 comments) / history
2003-12-09 / #154 Why you should never suspend a thread (8 comments) / code
2003-12-09 / #155 Scoble’s rant on UI defaults (33 comments) / history
2003-12-10 / #156 What is the command line length limit? (16 comments) / code
2003-12-11 / #157 How do I pass a lot of data to a process when it starts up? (18 comments) / code
2003-12-11 / #158 Voyage to Our Hollow Earth (4 comments) / non-computer
2003-12-12 / #159 Why are structure sizes checked strictly? (40 comments) / history
2003-12-12 / #160 Tote Hose in Weilburg (32 comments) / non-computer
2003-12-15 / #161 Welcome to the New Old New Thing (4 comments) / code;other
2003-12-15 / #162 The migration continues (4 comments) / other
2003-12-16 / #163 The unsafe device removal dialog (27 comments) / history
2003-12-17 / #164 Tinkering with the look (6 comments) / non-computer
2003-12-17 / #165 When marketing designs a screenshot (17 comments) / other
2003-12-18 / #166 What is the window nesting limit? (10 comments) / code
2003-12-18 / #167 How to void your warranty (21 comments) / code
2003-12-18 / #168 Rip-it (9 comments) / non-computer
2003-12-19 / #169 Sometimes, an app just wants to crash (14 comments) / history
2003-12-21 / #170 German sounds more and more like “Alles Lookenpeepers” every day (3 comments) / non-computer
2003-12-22 / #171 How do I determine whether I own a critical section if I am not supposed to look at internal fields? (16 comments) / code
2003-12-22 / #172 One in five Swedes steal their Christmas tree (5 comments) / non-computer
2003-12-22 / #173 The cult of PowerPoint (3 comments) / other
2003-12-23 / #174 When programs grovel into undocumented structures… (58 comments) / history
2003-12-24 / #175 Why not just block the apps that rely on undocumented behavior? (47 comments) / history
2003-12-25 / #176 What order do programs in the startup group execute? (22 comments) / tipssupport
2003-12-26 / #177 You can read a contract from the other side (8 comments) / code
2003-12-26 / #178 Famous people doing mundane things = news! (7 comments) / news-flash;non-computer
2003-12-27 / #179 How to hide privacy violations in a privacy disclosure statement (6 comments) / non-computer;reading-the-fine-print
2003-12-28 / #180 Danish so-called “pronunciation” (10 comments) / non-computer
2003-12-28 / #181 Another privacy policy that isn’t very private (6 comments) / non-computer
2003-12-29 / #182 What’s with those blank taskbar buttons that go away when I click on them? (41 comments) / tipssupport
2003-12-29 / #183 “Beam me up” is not yet recognized (2 comments) / other
2003-12-30 / #184 At least the Danes know how to count (17 comments) / non-computer
2003-12-30 / #185 What’s the difference between CreateMenu and CreatePopupMenu? (16 comments) / code
2003-12-30 / #186 People with almanacs may be terrorists, FBI warns (6 comments) / non-computer
2003-12-31 / #187 How to stop delivery of telephone books (29 comments) / non-computer
2003-12-31 / #188 College football commercialized? What ever gave you that idea? (1 comment) / non-computer

2004


Date Title
2004-01-01 / #0 Don’t trust the return address (17 comments) / code
2004-01-02 / #1 The history of calling conventions, part 1 (27 comments) / history
2004-01-05 / #2 Why does the x86 have so few registers? (23 comments) / history
2004-01-06 / #3 Why does the copy dialog give such horrible estimates? (34 comments) / other
2004-01-07 / #4 Words I’d like to ban in 2004 (39 comments) / microspeak;other
2004-01-07 / #5 The history of calling conventions, part 2 (15 comments) / history
2004-01-08 / #6 Budget cuts strike Swedish radio (4 comments) / other
2004-01-08 / #7 The history of calling conventions, part 3 (35 comments) / history
2004-01-08 / #8 It’s called “proofreading”, give it a shot why don’t you (28 comments) / other
2004-01-09 / #9 Ten-year-old + Microsoft Flight Simulator = terrorist (11 comments) / non-computer
2004-01-09 / #10 Why do member functions need to be “static” to be used as a callback? (17 comments) / history
2004-01-11 / #11 Is there an exclusionary rule in Sweden? (18 comments) / non-computer
2004-01-11 / #12 What’s old is new again… well it’s still old (3 comments) / other
2004-01-12 / #13 Why can’t I GetProcAddress a function I dllexport’ed? (17 comments) / code
2004-01-12 / #14 “Friends” is so trendsetting (9 comments) / non-computer
2004-01-13 / #15 The history of calling conventions, part 4: ia64 (35 comments) / history
2004-01-13 / #16 If you know Swedish, the world is funnier (31 comments) / non-computer
2004-01-14 / #17 The history of calling conventions, part 5: amd64 (32 comments) / history
2004-01-15 / #18 What can go wrong when you mismatch the calling convention? (75 comments) / code
2004-01-15 / #19 Google just keeps adding stuff (3 comments) / non-computer
2004-01-16 / #20 Aw, poor guy, he’s so depressed (2 comments) / non-computer
2004-01-16 / #21 How can a program survive a corrupted stack? (10 comments) / code
2004-01-19 / #22 Uninitialized garbage on ia64 can be deadly (23 comments) / code
2004-01-20 / #23 ia64 – misdeclaring near and far data (22 comments) / code
2004-01-21 / #24 Fixing security holes in other programs (36 comments) / other
2004-01-21 / #25 What tools should I assume everybody has? (24 comments) / other
2004-01-22 / #26 Cell phones: Can’t live with ’em, can’t live without ’em, but maybe can ban ’em (2 comments) / non-computer
2004-01-22 / #27 What happened to DirectX 4? (19 comments) / history
2004-01-23 / #28 German, the language of love? (35 comments) / non-computer
2004-01-23 / #29 The white flash (12 comments) / history
2004-01-24 / #30 In defense of the German language (24 comments) / non-computer
2004-01-25 / #31 German as RPN (23 comments) / non-computer
2004-01-26 / #32 David Hasselhoff’s daughters normal in every way (10 comments) / non-computer
2004-01-26 / #33 The hollow brush (8 comments) / code
2004-01-26 / #34 Blog going on autopilot for a while (3 comments) / other
2004-01-27 / #35 Undermining your own proclamation (4 comments) / non-computer
2004-01-27 / #36 Some reasons not to do anything scary in your DllMain (24 comments) / code
2004-01-28 / #37 Passenger announcements in the airport (4 comments) / non-computer
2004-01-28 / #38 Another reason not to do anything scary in your DllMain: Inadvertent deadlock (17 comments) / code
2004-01-29 / #39 Ikea walk-through (29 comments) / non-computer
2004-01-29 / #40 Integer overflow in the new[] operator (21 comments) / code
2004-01-30 / #41 How do we decide what features make it into a product? (0 comments) / other
2004-01-30 / #42 The format of string resources (34 comments) / code
2004-01-31 / #43 “Section 419” scammers arrested in Netherlands; Danish flag flies proudly (9 comments) / non-computer
2004-02-02 / #44 What goes wrong when you add “Copy To” to the context menu (17 comments) / tipssupport
2004-02-02 / #45 The management of memory for resources in 16-bit Windows (13 comments) / history
2004-02-03 / #46 Mismatching scalar and vector new and delete (16 comments) / code
2004-02-04 / #47 Answers to exercises – mismatching new/delete (13 comments) / code
2004-02-04 / #48 The Glass Engine and Ishkur’s Guide to Electronic Music (4 comments) / non-computer
2004-02-05 / #49 The layout of a COM object (39 comments) / history
2004-02-06 / #50 Adjustor thunks (15 comments) / history
2004-02-09 / #51 Pointers to member functions are very strange animals (19 comments) / code
2004-02-09 / #52 I think this counts as having come full circle (4 comments) / non-computer
2004-02-10 / #53 Answer to exercise: Pointer to member function cast (3 comments) / code
2004-02-10 / #54 Orkut’s privacy policy and terms of service (23 comments) / non-computer
2004-02-11 / #55 Sure, we do that (50 comments) / history
2004-02-11 / #56 Dunkin Donuts vs. Krispy Kreme (70 comments) / non-computer
2004-02-12 / #57 TEXT vs. _TEXT vs. _T, and UNICODE vs. _UNICODE (40 comments) / code
2004-02-12 / #58 Improbable Research comes to Seattle (1 comment) / non-computer
2004-02-13 / #59 Stories of going through airport security (13 comments) / non-computer
2004-02-13 / #60 Bad version number checks (33 comments) / history
2004-02-14 / #61 The Seattle Improbable Show (2004) (0 comments) / non-computer
2004-02-16 / #62 So what’s to do in Sweden? (104 comments) / non-computer
2004-02-16 / #63 The arms race between programs and users (69 comments) / history
2004-02-17 / #64 GetDialogBaseUnits is a crock (27 comments) / code
2004-02-17 / #65 The social skills of a thermonuclear device (48 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2004-02-18 / #66 Why are RECTs endpoint-exclusive? (38 comments) / history
2004-02-19 / #67 No code is an island (13 comments) / history
2004-02-19 / #68 Sorry the posts are late lately (11 comments) / non-computer
2004-02-20 / #69 Why do I get a QueryInterface(IID_IMarshal) and then nothing? (8 comments) / code
2004-02-21 / #70 Raymond’s comment policy (8 comments) / non-computer
2004-02-22 / #71 And we will build a processor with… ONE MILLION TRANSISTORS! (14 comments) / other
2004-02-23 / #72 Invalid thread and process IDs (21 comments) / code
2004-02-24 / #73 What’s so special about the desktop window? (26 comments) / code
2004-02-25 / #74 Why can’t I put hotlinks in notification icon balloon tips? (34 comments) / history
2004-02-26 / #75 Why do timestamps change when I copy files to a floppy? (17 comments) / history;time
2004-02-27 / #76 The correct order for disabling and enabling windows (42 comments) / code
2004-03-01 / #77 Why 16-bit DOS and Windows are still with us (65 comments) / history
2004-03-02 / #78 Why are HANDLE return values so inconsistent? (21 comments) / history
2004-03-02 / #79 Went to a Seattle Thunderbirds game this weekend (10 comments) / non-computer;the-wisdom-of-seventh-graders
2004-03-03 / #80 Calling the irony patrol (12 comments) / other
2004-03-03 / #81 Blow the dust out of the connector (42 comments) / tipssupport
2004-03-04 / #82 Sorry, my kitchen is on fire (21 comments) / non-computer
2004-03-04 / #83 Where do those customized web site icons come from? (63 comments) / tipssupport
2004-03-05 / #84 Defrauding the WHQL driver certification process (81 comments) / history
2004-03-05 / #85 Money can burn a hole in your pocket (17 comments) / non-computer
2004-03-08 / #86 Can you pass “Coaching Principles and Strategies of Basketball”? (15 comments) / non-computer
2004-03-08 / #87 C++ scoped static initialization is not thread-safe, on purpose! (49 comments) / code
2004-03-09 / #88 Char.IsDigit() matches more than just “0” through “9” (38 comments) / code
2004-03-09 / #89 Returning to Sweden, this time with some actual knowledge of Swedish (4 comments) / non-computer
2004-03-10 / #90 The Department of Homeland Security, the television series? (8 comments) / non-computer
2004-03-10 / #91 Why do operations on “byte” result in “int”? (38 comments) / history
2004-03-11 / #92 Why are dialog boxes initially created hidden? (17 comments) / history
2004-03-11 / #93 Tony Harding laces up again (15 comments) / non-computer
2004-03-12 / #94 What happens to those “To Any Soldier” care packages (5 comments) / non-computer
2004-03-12 / #95 What is the default security descriptor? (19 comments) / code
2004-03-15 / #96 How do I convert a SID between binary and string forms? (9 comments) / other
2004-03-15 / #97 Senators are really good at stock-picking (6 comments) / non-computer
2004-03-16 / #98 Why do text files end in Ctrl+Z? (34 comments) / history
2004-03-16 / #99 Still more creative uses for CAPTCHA (25 comments) / other
2004-03-17 / #100 Ännu skriver jag inte bra (11 comments) / non-computer
2004-03-17 / #101 More on the AMD64 calling convention (2 comments) / history
2004-03-17 / #102 On a server, paging = death (40 comments) / history
2004-03-18 / #103 Why is the line terminator CR+LF? (40 comments) / history
2004-03-18 / #104 The car with no user-serviceable parts inside (68 comments) / non-computer
2004-03-19 / #105 Catholic baseball fans want to eat meat on opening day (14 comments) / non-computer
2004-03-19 / #106 Why does the Resource Compiler complain about strings longer than 255 characters? (12 comments) / history
2004-03-20 / #107 The only logical conclusion is that he was cloned (6 comments) / non-computer
2004-03-22 / #108 A privacy policy that doesn’t actively offend me (8 comments) / non-computer
2004-03-22 / #109 Why an object cannot be its own enumerator (3 comments) / code
2004-03-23 / #110 @-notation was never legal in HTTP URLs anyway (21 comments) / other
2004-03-23 / #111 the qUirKY jaPan HomEPage (2 comments) / non-computer
2004-03-24 / #112 Some files come up strange in Notepad (29 comments) / history
2004-03-24 / #113 Out of the deep fryer (13 comments) / non-computer
2004-03-25 / #114 The SAS in-flight safety video (13 comments) / other
2004-03-25 / #115 Regular expressions and the dreaded *? operator (10 comments) / code
2004-03-25 / #116 URLs too small? Here comes hugeurl.com (7 comments) / other
2004-03-25 / #117 Swedish spicy food (3 comments) / non-computer
2004-03-26 / #118 The ways people mess up IUnknown::QueryInterface (33 comments) / history
2004-03-26 / #119 Yahoo’s privacy policy regarding web bugs (10 comments) / other
2004-03-27 / #120 What U.S. college students miss from home (11 comments) / other
2004-03-28 / #121 You know you’ve been in Sweden too long when… (14 comments) / other
2004-03-29 / #122 The army is cool, except for the part where you have to fight (26 comments) / other
2004-03-29 / #123 Why Ctrl+Alt shouldn’t be used as a shortcut modifier (22 comments) / history
2004-03-29 / #124 It’s embarrassing how little Swedish you need to know (27 comments) / other
2004-03-30 / #125 Where did my Task Manager tabs and buttons go? (33 comments) / tipssupport
2004-03-30 / #126 “Special skills” draft on the drawing board (5 comments) / other
2004-03-31 / #127 When temperance backfires (9 comments) / other
2004-03-31 / #128 The look of Luna (76 comments) / history
2004-04-01 / #129 The martial arts logon picture (20 comments) / history
2004-04-02 / #130 Why a really large dictionary is not a good thing (42 comments) / history
2004-04-05 / #131 How can I format my USB drive as NTFS? (26 comments) / tipssupport
2004-04-06 / #132 Reference counting is hard. (48 comments) / code
2004-04-07 / #133 A very brief anecdote about Windows 3.0 (14 comments) / history
2004-04-08 / #134 Where does the taskbar get grouped button titles from? (52 comments) / code
2004-04-09 / #135 A story about USB floppy drives (9 comments) / history
2004-04-09 / #136 Comparing the Norwegian, Swedish, and Danish languages. (14 comments) / other
2004-04-12 / #137 Extraterrestrial income (2 comments) / non-computer
2004-04-12 / #138 The random number seed can be the weakest link (19 comments) / code
2004-04-13 / #139 Unicode collation is hard (8 comments) / code
2004-04-13 / #140 First thing we do is kill all the jerks (38 comments) / non-computer
2004-04-14 / #141 Playing on an entirely different level (11 comments) / non-computer
2004-04-14 / #142 Not all short filenames contain a tilde (50 comments) / code
2004-04-15 / #143 Astonishingly, rules apply to everyone. (48 comments) / non-computer
2004-04-15 / #144 Why can’t I install Windows on my USB drive? (35 comments) / other
2004-04-16 / #145 Sorry, no free ice cream in Tennessee; it’s illegal (6 comments) / non-computer
2004-04-16 / #146 Mapping all those “strange” digits to “0” through “9” (14 comments) / code
2004-04-19 / #147 A $2 billion bridge to one person (27 comments) / non-computer
2004-04-19 / #148 WM_KILLFOCUS is the wrong time to do field validation (31 comments) / code
2004-04-20 / #149 Why can’t the system hibernate just one process? (48 comments) / history
2004-04-20 / #150 Beethoven as ambient music (7 comments) / non-computer
2004-04-21 / #151 Why the compiler can’t autoconvert foreach to for (11 comments) / code
2004-04-21 / #152 Good-Bye, Lenin! (30 comments) / non-computer
2004-04-22 / #153 NFL cracks down on grandstanding (11 comments) / non-computer
2004-04-22 / #154 Cleaner, more elegant, and wrong (84 comments) / code
2004-04-23 / #155 How to retrieve text under the cursor (mouse pointer) (23 comments) / code
2004-04-23 / #156 News flash: People are fooled by the Onion (7 comments) / news-flash;non-computer
2004-04-26 / #157 In order to demonstrate our superior intellect, we will now ask you a question you cannot answer. (54 comments) / other
2004-04-26 / #158 Musings on formal and informal address (22 comments) / non-computer
2004-04-27 / #159 Why doesn’t C# have “const”? (45 comments) / history
2004-04-27 / #160 Nobody said it was a democracy (10 comments) / non-computer
2004-04-28 / #161 What, going to Sweden *again*? (10 comments) / non-computer
2004-04-28 / #162 What is __purecall? (39 comments) / code
2004-04-29 / #163 Using the echo command to remember what you were doing. (43 comments) / tipssupport
2004-04-29 / #164 $501 for 510g of peanut butter (8 comments) / non-computer
2004-04-30 / #165 Where does the taskbar get grouped button icons from? (20 comments) / other
2004-04-30 / #166 Extreme croquet (7 comments) / non-computer
2004-05-01 / #167 You wanted Extreme Crochet? (3 comments) / non-computer
2004-05-03 / #168 Today is Swedish tax day (16 comments) / non-computer
2004-05-03 / #169 Why does my hard drive light flash every few second? (22 comments) / code
2004-05-04 / #170 Truckers block highway to protest high gas prices (21 comments) / non-computer
2004-05-04 / #171 Is open source the new monoculture? (63 comments) / other
2004-05-05 / #172 Dead man running (7 comments) / non-computer
2004-05-05 / #173 Broadcasting user-defined messages (5 comments) / history
2004-05-06 / #174 Why did InterlockedIncrement/Decrement only return the sign of the result? (16 comments) / history
2004-05-06 / #175 Chris Pratley’s history lesson (9 comments) / history
2004-05-06 / #176 Scripting is a two-edged sword (15 comments) / other
2004-05-07 / #177 When should your destructor be virtual? (20 comments) / code
2004-05-07 / #178 Batman and Robin patrolling Whitley (2 comments) / non-computer
2004-05-07 / #179 Image File Execution Options (5 comments) / other
2004-05-10 / #180 There are two types of scrollbars (26 comments) / code
2004-05-10 / #181 A guide to British pub etiquette (25 comments) / non-computer
2004-05-11 / #182 Links about COM threading models (2 comments) / code
2004-05-11 / #183 How do the FILE_SHARE_* bits interact with the desired access bits? (19 comments) / code
2004-05-12 / #184 Varför läser jag svenska? (16 comments) / non-computer
2004-05-12 / #185 Is your web site an open relay? (20 comments) / other
2004-05-13 / #186 Thinking through a feature (75 comments) / other
2004-05-13 / #187 Norway: Pros and cons (13 comments) / non-computer
2004-05-14 / #188 When do you disable an option and when do you remove it? (18 comments) / other
2004-05-14 / #189 Who’ll be where for whom? (1 comment) / non-computer
2004-05-14 / #190 How did those FILE_SHARE_* values come to be? (0 comments) / history
2004-05-17 / #191 Plane-spotters to require government license (3 comments) / non-computer
2004-05-17 / #192 When do you put … after a button or menu? (34 comments) / other
2004-05-18 / #193 String sorting is not done by ASCII code any more. (31 comments) / code
2004-05-18 / #194 The coolest thing you can do with a Gameboy is not “play a game on it” (5 comments) / non-computer
2004-05-19 / #195 Beware the hash reset attack (18 comments) / other
2004-05-19 / #196 Letterboxing: Geocaching without the GPS (4 comments) / non-computer
2004-05-20 / #197 Coffee machine or assault weapon? (12 comments) / non-computer
2004-05-20 / #198 Do you know when your destructors run? Part 1. (11 comments) / code
2004-05-21 / #199 You can do anything at zombo.com, anything at all (15 comments) / non-computer
2004-05-21 / #200 Do you know when your destructors run? Part 2. (33 comments) / code
2004-05-24 / #201 Callback, the safety newsletter for the aviation community (9 comments) / non-computer
2004-05-24 / #202 Extending the Internet Explorer context menu (46 comments) / code
2004-05-25 / #203 The F*deral Bur*au of Inv*stigations (12 comments) / non-computer
2004-05-25 / #204 When you change the insides, nobody notices (74 comments) / history
2004-05-26 / #205 Art too bad to be ignored (1 comment) / non-computer
2004-05-26 / #206 How does the desktop choose the icon label color? (16 comments) / tipssupport
2004-05-27 / #207 Meet Anton Chekhov (7 comments) / non-computer
2004-05-27 / #208 What is the difference between Minimize All and Show Desktop? (40 comments) / tipssupport
2004-05-28 / #209 How do you undo Minimize All and Show Desktop? (18 comments) / tipssupport
2004-05-28 / #210 High-performance multithreading is very hard (11 comments) / code
2004-05-28 / #211 Kipping (10 comments) / non-computer
2004-05-31 / #212 Chewing gum legalized in Singapore (16 comments) / non-computer
2004-05-31 / #213 Why is the default 8-bit codepage called “ANSI”? (14 comments) / history
2004-06-01 / #214 What does SHGFI_USEFILEATTRIBUTES mean? (12 comments) / code
2004-06-01 / #215 French schoolchildren invited to draw their impressions of the United States (56 comments) / non-computer
2004-06-02 / #216 The dreaded “main” threading model (7 comments) / history
2004-06-02 / #217 Letter carriers rebel (19 comments) / non-computer
2004-06-03 / #218 Need to add 1.5kg and 350g? (36 comments) / non-computer
2004-06-03 / #219 My first death threat (32 comments) / history
2004-06-04 / #220 An easy way to determine whether you have a particular file permission (21 comments) / code
2004-06-04 / #221 Do not underestimate the power of the game Deer Hunter (35 comments) / history
2004-06-07 / #222 Deleted but not yet forgotten (18 comments) / code
2004-06-07 / #223 The suburbs make you fat, more researchers conclude (12 comments) / non-computer
2004-06-08 / #224 When can a thread receive window messages? (16 comments) / code
2004-06-08 / #225 Let there be a grand clubhouse feast! (3 comments) / non-computer
2004-06-09 / #226 Calculate the speed of light by microwaving marshmallows (4 comments) / non-computer
2004-06-09 / #227 What are these directories called 0409 and 1033? (34 comments) / other
2004-06-10 / #228 Speeding up adding items to a combobox or listbox (33 comments) / code
2004-06-10 / #229 Did you know that Baltimore has a Rumor Control Center? (11 comments) / non-computer
2004-06-11 / #230 A hidden performance cost of regional windows (22 comments) / code
2004-06-11 / #231 Taiwan law requires writing to go left-to-right instead of top-to-bottom (29 comments) / non-computer
2004-06-14 / #232 What is the difference between HINSTANCE and HMODULE? (15 comments) / history
2004-06-14 / #233 Norway works to lengthen its lead (25 comments) / non-computer
2004-06-15 / #234 What was the purpose of the hPrevInstance parameter to WinMain? (28 comments) / history
2004-06-15 / #235 Augusto Pinochet’s beverage preferences are a matter of national security (26 comments) / non-computer
2004-06-16 / #236 Verifying that your system files are digitally signed (13 comments) / tipssupport
2004-06-16 / #237 Anybody remember Blade Squad or MV24? (12 comments) / non-computer
2004-06-17 / #238 The evolution of dialog templates – Introduction (10 comments) / history
2004-06-17 / #239 Exploding frying pans (8 comments) / non-computer
2004-06-18 / #240 Tweaked comment policy (0 comments) / other
2004-06-18 / #241 The evolution of dialog templates – 16-bit Classic Templates (14 comments) / history
2004-06-18 / #242 Too late, Mr. Jenkins. You were an F7 back at question 2 (9 comments) / non-computer
2004-06-21 / #243 Drug dealers have to pay taxes too. (19 comments) / non-computer
2004-06-21 / #244 The evolution of dialog templates – 32-bit Classic Templates (21 comments) / history
2004-06-22 / #245 The evolution of dialog templates – 16-bit Extended Templates (4 comments) / history
2004-06-22 / #246 When cafeteria pricing meets mathematics (38 comments) / non-computer
2004-06-23 / #247 The only way you’re going to wake up next to Claudia Schiffer (3 comments) / non-computer
2004-06-23 / #248 The evolution of dialog templates – 32-bit Extended Templates (10 comments) / history
2004-06-24 / #249 The evolution of dialog templates – Summary (4 comments) / history
2004-06-24 / #250 At least it’s easier than learning Finnish (38 comments) / non-computer
2004-06-25 / #251 Monitor giving you a headache? Check the refresh rate. (46 comments) / tipssupport
2004-06-25 / #252 Hong Kong crocodile caught at last. (6 comments) / non-computer
2004-06-25 / #253 Suggestion box (142 comments) / pages
2004-06-25 / #254 The suggestion box is now open (0 comments) / other
2004-06-28 / #255 When does SHLoadInProc unload a DLL? (13 comments) / code
2004-06-28 / #256 Ringside seats at Fruit Fly Fight Club (7 comments) / non-computer
2004-06-29 / #257 The difference between thread-safety and re-entrancy (19 comments) / code
2004-06-29 / #258 You can already see the bug report that led to this dialog box (24 comments) / other
2004-06-30 / #259 Fees disguised as taxes (16 comments) / non-computer
2004-06-30 / #260 Why does the Links folder keep re-creating itself? (49 comments) / history
2004-07-01 / #261 What’s this fascination with Germanic languages? (28 comments) / non-computer
2004-07-01 / #262 Why can’t I use the same tree item multiple times? (17 comments) / history
2004-07-02 / #263 Being in upper management must damage certain portions of your brain (18 comments) / other
2004-07-02 / #264 Don’t name your DLL “Security.dll” (32 comments) / history
2004-07-05 / #265 What’s the difference between SHGetMalloc, SHAlloc, CoGetMalloc, and CoTaskMemAlloc (16 comments) / history
2004-07-05 / #266 Another chance to see Elvis take on a mummy (10 comments) / non-computer
2004-07-06 / #267 Diagnosing a problem with calling conventions (3 comments) / code
2004-07-06 / #268 Differences between managers and programmers (50 comments) / other
2004-07-07 / #269 Obtaining a window’s size and position while it is minimized (14 comments) / code
2004-07-07 / #270 Differences between managers and programmers, part 2 (29 comments) / other
2004-07-08 / #271 Lighting organic material and sucking it into your lungs (29 comments) / non-computer
2004-07-08 / #272 Why does icon text get a solid background if drop shadows are disabled? (49 comments) / other
2004-07-09 / #273 How does Add/Remove Programs get the size and other information? (120 comments) / other
2004-07-12 / #274 Welcoming a new era in Swiss army knives (18 comments) / non-computer
2004-07-12 / #275 Positioned vs. non-positioned listview views (7 comments) / code
2004-07-13 / #276 Watch out for those sample URLs (29 comments) / history
2004-07-13 / #277 There are two things you can do if you have a mad crush on a boy (3 comments) / non-computer
2004-07-14 / #278 How do you detect “Large Fonts”? (58 comments) / code
2004-07-15 / #279 Why “Under Construction” should be made illegal on the web (29 comments) / other
2004-07-15 / #280 Don’t forget to #define UNICODE if you want Unicode (9 comments) / code
2004-07-16 / #281 How to display a string without those ugly boxes (17 comments) / code
2004-07-19 / #282 Wrapper templates to make writing callback functions slightly easier (18 comments) / code
2004-07-20 / #283 Querying information from an Explorer window (37 comments) / code
2004-07-21 / #284 Why was nine the maximum number of monitors in Windows 98? (44 comments) / history
2004-07-22 / #285 Why can’t you trap TerminateProcess? (25 comments) / other
2004-07-23 / #286 Why do some process stay in Task Manager after they’ve been killed? (35 comments) / code
2004-07-26 / #287 A twenty-foot-long computer (20 comments) / history
2004-07-26 / #288 Slightly closer to a proper football (i.e., soccer) match (25 comments) / non-computer
2004-07-27 / #289 Disabling the program crash dialog (48 comments) / code
2004-07-27 / #290 Norway, drunk on success, becomes a country of layabouts (11 comments) / non-computer
2004-07-28 / #291 The evolution of mascara in Windows UI (86 comments) / history
2004-07-29 / #292 When should you use a sunken client area? (23 comments) / code
2004-07-30 / #293 What is the DS_CONTROL style for? (16 comments) / code
2004-08-02 / #294 The company picnic, sponsored by Microsoft (11 comments) / non-computer
2004-08-02 / #295 How to set focus in a dialog box (22 comments) / code
2004-08-04 / #296 Never leave focus on a disabled control (16 comments) / code
2004-08-04 / #297 Why .shared sections are a security hole (30 comments) / code
2004-08-04 / #298 Spammers look stupid when they don’t read the blog they spam on (8 comments) / non-computer
2004-08-05 / #299 The oft-misunderstood /3GB switch (32 comments) / other
2004-08-06 / #300 Kernel address space consequences of the /3GB switch (22 comments) / other
2004-08-09 / #301 Myth: Without /3GB the total amount of memory that can be allocated across all programs is 2GB (10 comments) / other
2004-08-10 / #302 Myth: Without /3GB a single program can’t allocate more than 2GB of virtual memory (40 comments) / other
2004-08-11 / #303 Myth: You need /3GB if you have more than 2GB of physical memory (38 comments) / other
2004-08-12 / #304 Myth: The /3GB switch expands the user-mode address space of all programs (46 comments) / other
2004-08-13 / #305 Why does Exchange recommend /3GB if you have more than 1GB of physical memory? (17 comments) / other
2004-08-16 / #306 Myth: The /3GB switch lets me map one giant 3GB block of memory (20 comments) / other
2004-08-17 / #307 Why is the virtual address space 4GB anyway? (58 comments) / other
2004-08-18 / #308 Myth: PAE increases the virtual address space beyond 4GB (13 comments) / other
2004-08-18 / #309 Why all these articles about PAE and /3GB? (22 comments) / other
2004-08-19 / #310 Myth: In order to use AWE, you must enable PAE (15 comments) / other
2004-08-20 / #311 Writing your own menu-like window (32 comments) / code
2004-08-20 / #312 The curious interaction between PAE and NX (5 comments) / other
2004-08-22 / #313 Summary of the recent spate of /3GB articles (36 comments) / other
2004-08-23 / #314 The kooky STRRET structure (10 comments) / history
2004-08-23 / #315 Finished competing in your event? Let the games begin! (10 comments) / non-computer
2004-08-24 / #316 Beware of non-null-terminated registry strings (25 comments) / code
2004-08-25 / #317 Why can’t you treat a FILETIME as an __int64? (27 comments) / code;time
2004-08-26 / #318 Why do some structures end with an array of size 1? (41 comments) / code
2004-08-27 / #319 Importance of alignment even on x86 machines (17 comments) / history
2004-08-30 / #320 Importance of alignment even on x86 machines, part 2 (7 comments) / history
2004-08-30 / #321 The sociology of the mobile phone (9 comments) / non-computer
2004-08-31 / #322 Reading a contract from the other side: Application publishers (7 comments) / code
2004-09-01 / #323 How to find the Internet Explorer binary (45 comments) / code
2004-09-02 / #324 Why does Windows keep your BIOS clock on local time? (44 comments) / history
2004-09-03 / #325 Even in computing, simultaneity is relative (31 comments) / code
2004-09-06 / #326 The shift key overrides NumLock (22 comments) / other
2004-09-06 / #327 More dictionaries you didn’t realize you needed (5 comments) / non-computer
2004-09-07 / #328 What about Steve? (3 comments) / non-computer
2004-09-07 / #329 Converting a byte[] to a System.String (7 comments) / code
2004-09-08 / #330 Why is the page size on ia64 8K? (31 comments) / history
2004-09-09 / #331 Why isn’t the original window order always preserved when you undo a Show Desktop? (52 comments) / code
2004-09-10 / #332 Storsjöodjur hunting season will opening soon (3 comments) / non-computer
2004-09-10 / #333 Sometimes the bug isn’t apparent until late in the game (42 comments) / history
2004-09-13 / #334 How does Windows exploit hyperthreading? (42 comments) / other
2004-09-14 / #335 The x86 architecture is the weirdo (67 comments) / other
2004-09-15 / #336 Interlocked operations don’t solve everything (17 comments) / code
2004-09-16 / #337 A visual history of spam (and virus) email (156 comments) / other
2004-09-16 / #338 What happens when you specify RegexOptions.ECMAScript? (8 comments) / code
2004-09-17 / #339 Why does my mouse/touchpad sometimes go berzerk? (67 comments) / tipssupport
2004-09-20 / #340 How to host an IContextMenu, part 1 – Initial foray (20 comments) / code
2004-09-21 / #341 Pitfalls in handling the WM_CONTEXTMENU message (29 comments) / code
2004-09-21 / #342 Swedes struggle with the meaning of sick leave (7 comments) / non-computer
2004-09-22 / #343 How to host an IContextMenu, part 2 – Displaying the context menu (6 comments) / code
2004-09-22 / #344 How to contact Raymond (0 comments) / pages
2004-09-23 / #345 How to host an IContextMenu, part 3 – Invocation location (5 comments) / code
2004-09-23 / #346 Penguins do not fall over! (20 comments) / non-computer
2004-09-24 / #347 How to host an IContextMenu, part 4 – Key context (6 comments) / code
2004-09-24 / #348 The unrecognized assistants on those do-it-yourself shows (28 comments) / non-computer
2004-09-27 / #349 How to host an IContextMenu, part 5 – Handling menu messages (2 comments) / code
2004-09-28 / #350 How to host an IContextMenu, part 6 – Displaying menu help (14 comments) / code
2004-09-29 / #351 What does boldface on a menu mean? (5 comments) / tipssupport
2004-09-29 / #352 Still more goofy terms of service – restrictions on information disclosure (20 comments) / non-computer
2004-09-30 / #353 How to host an IContextMenu, part 7 – Invoking the default verb (3 comments) / code
2004-10-01 / #354 How to host an IContextMenu, part 8 – Optimizing for the default command (5 comments) / code
2004-10-04 / #355 How to host an IContextMenu, part 9 – Adding custom commands (5 comments) / code
2004-10-04 / #356 Those partisan non-partisan groups (31 comments) / non-computer
2004-10-05 / #357 The macros for declaring and implementing COM interfaces (16 comments) / history
2004-10-06 / #358 How to host an IContextMenu, part 10 – Composite extensions – groundwork (11 comments) / code
2004-10-07 / #359 How to host an IContextMenu, part 11 – Composite extensions – composition (6 comments) / code
2004-10-08 / #360 Cooking for engineers (22 comments) / non-computer
2004-10-08 / #361 Why is there a separate GetSystemDirectory function? (18 comments) / history
2004-10-11 / #362 What’s the atom returned by RegisterClass useful for? (8 comments) / history
2004-10-12 / #363 People lie on surveys and focus groups, often unwittingly (81 comments) / other
2004-10-13 / #364 Dispatching items collected from the suggestion box (62 comments) / other
2004-10-14 / #365 The procedure entry point SHCreateThreadRef could not be located… (86 comments) / tipssupport
2004-10-14 / #366 Little facts you didn’t know about volcanoes (9 comments) / news-flash;non-computer
2004-10-15 / #367 Logical consequences of the way Windows converts single-clicks into double-clicks (39 comments) / code
2004-10-18 / #368 Implementing higher-order clicks (35 comments) / code
2004-10-19 / #369 The compatibility constraints of even your internal bookkeeping (51 comments) / history
2004-10-20 / #370 How does Explorer detect whether your program supports long file names? (70 comments) / history
2004-10-21 / #371 Let WMI do the heavy lifting of determining system information (35 comments) / code
2004-10-22 / #372 Why doesn’t Setup asks you if you want to keep newer versions of OS files? (34 comments) / history
2004-10-25 / #373 Accessing the current module’s HINSTANCE from a static library (21 comments) / code
2004-10-25 / #374 If the Euro 2004 tournament were a video game (7 comments) / non-computer
2004-10-26 / #375 The strangest way of detecting Windows NT (20 comments) / other
2004-10-27 / #376 Sometimes you can’t read the text under the cursor (13 comments) / other
2004-10-28 / #377 Where did windows minimize to before the taskbar was invented? (39 comments) / history
2004-10-29 / #378 Why didn’t the desktop window shrink to exclude the taskbar? (36 comments) / history
2004-11-01 / #379 What was the difference between LocalAlloc and GlobalAlloc? (26 comments) / history
2004-11-02 / #380 What was the point of the GMEM_SHARE flag? (4 comments) / history
2004-11-02 / #381 And to think they let me get away with it for five years (23 comments) / non-computer
2004-11-03 / #382 Why do I sometimes see redundant casts before casting to LPARAM? (25 comments) / history
2004-11-04 / #383 A history of GlobalLock, part 1: The early years (33 comments) / history
2004-11-05 / #384 A history of GlobalLock, part 2: Selectors (15 comments) / history
2004-11-08 / #385 Ein hundert Dinge, die in den Vereinigten Staaten besser bleiben (22 comments) / non-computer
2004-11-08 / #386 A history of GlobalLock, part 3: Transitioning to Win32 (14 comments) / history
2004-11-09 / #387 A history of GlobalLock, part 4: A peek at the implementation (11 comments) / history
2004-11-10 / #388 Why does Windows not recognize my USB device as the same device if I plug it into a different port? (66 comments) / other
2004-11-11 / #389 Advantages of knowing your x86 machine code (74 comments) / code
2004-11-12 / #390 Will dragging a file result in a move or a copy? (80 comments) / tipssupport
2004-11-15 / #391 Asking questions where the answer is unreliable anyway (39 comments) / other
2004-11-16 / #392 What is this Xerox directory doing in Program Files? (47 comments) / tipssupport
2004-11-16 / #393 Exploiting the inattentive (32 comments) / exploiting-the-inattentive;non-computer
2004-11-17 / #394 How do I break an integer into its component bytes? (20 comments) / code
2004-11-17 / #395 Poking at diploma mills: Kennedy-Western University (41 comments) / non-computer
2004-11-18 / #396 If a program and a folder have the same name, the shell prefers the program (26 comments) / history
2004-11-18 / #397 Am I sorry or not? (14 comments) / class=
2004-11-19 / #398 The various ways of sending a message (51 comments) / code
2004-11-22 / #399 When people ask for security holes as features: World-writable files (39 comments) / history;when-people-ask-for-security-holes-as-features
2004-11-23 / #400 Why do folders like “My Pictures” come back after I delete them? (47 comments) / code
2004-11-24 / #401 Why can’t you drop directly onto a taskbar button? (73 comments) / other
2004-11-25 / #402 A sample of desktop icon text effects (66 comments) / other
2004-11-26 / #403 Simple things you can do with the ShellExecuteEx function (29 comments) / code
2004-11-29 / #404 Why doesn’t the RunAs program accept a password on the command line? (57 comments) / other
2004-11-30 / #405 What’s the difference between GetKeyState and GetAsyncKeyState? (14 comments) / code
2004-12-01 / #406 What is the purpose of the bmPlanes member of the BITMAP structure? (21 comments) / history
2004-12-02 / #407 Why did Windows 95 run the timer at 55ms? (32 comments) / history
2004-12-03 / #408 Why are documents printed out of order when you multiselect and choose “Print”? (26 comments) / other
2004-12-06 / #409 Dragging a shell object, part 1: Getting the IDataObject (20 comments) / code
2004-12-07 / #410 Dragging a shell object, part 2: Enabling the Move operation (24 comments) / code
2004-12-07 / #411 Researchers find connection between lack of sleep and weight gain (31 comments) / non-computer
2004-12-08 / #412 Dragging a shell object, part 3: Detecting an optimized move (4 comments) / code
2004-12-08 / #413 It is not illegal to use James Bond style tactics for winning at the roulette wheel (10 comments) / non-computer
2004-12-09 / #414 Time to dust off your conspiracy theories (15 comments) / non-computer
2004-12-09 / #415 Dragging a shell object, part 4: Adding a prettier drag icon (0 comments) / code
2004-12-10 / #416 For all your chicken sequencing needs (11 comments) / non-computer
2004-12-10 / #417 Dragging a shell object, part 5: Making somebody else do the heavy lifting (3 comments) / code
2004-12-13 / #418 Why do I get E_NOINTERFACE when creating an object that supports that interface? (5 comments) / code
2004-12-13 / #419 Tintin goes to the neurologist (38 comments) / non-computer
2004-12-14 / #420 Why do dialog editors start assigning control IDs with 100? (13 comments) / history
2004-12-14 / #421 Scientists come one step closer to the perfect poppy-seed bagel (10 comments) / non-computer
2004-12-15 / #422 This Game Boy won’t hurt a bit, just help the Powerpuff Girls count backwards from ten (6 comments) / non-computer
2004-12-15 / #423 The hunt for a faster syscall trap (14 comments) / history
2004-12-16 / #424 Optimization is often counter-intuitive (25 comments) / other
2004-12-16 / #425 How to get more hits on Google than even Steve Ballmer (36 comments) / other
2004-12-17 / #426 How did Windows 95 rebase DLLs? (23 comments) / history
2004-12-17 / #427 Excellent blog about Windows and Unicode (23 comments) / other
2004-12-20 / #428 Don’t save anything you can recalculate (15 comments) / history
2004-12-21 / #429 Sometimes people don’t like it when you enforce a standard (50 comments) / other
2004-12-22 / #430 BOOL vs. VARIANT_BOOL vs. BOOLEAN vs. bool (29 comments) / code
2004-12-23 / #431 Do you need clean up one-shot timers? (12 comments) / code
2004-12-24 / #432 Why does the system convert TEMP to a short file name? (22 comments) / code
2004-12-24 / #433 How to open those plastic packages of electronics without injuring yourself (57 comments) / non-computer
2004-12-27 / #434 Alton Brown book tour 2005: I’m Just Here for More Food (11 comments) / non-computer
2004-12-27 / #435 You can create an infinitely recursive directory tree (40 comments) / other
2004-12-28 / #436 Computing the size of a directory is more than just adding file sizes (30 comments) / other
2004-12-29 / #437 Using fibers to simplify enumerators, part 1: When life is easier for the enumerator (28 comments) / code
2004-12-30 / #438 Using fibers to simplify enumerators, part 2: When life is easier for the caller (16 comments) / code
2004-12-31 / #439 Using fibers to simplify enumerators, part 3: Having it both ways (28 comments) / code

2005


Date Title
2005-01-03 / #0 Using fibers to simplify enumerators, part 4: Filtering (1 comment) / code
2005-01-04 / #1 Using fibers to simplify enumerators, part 5: Composition (11 comments) / code
2005-01-05 / #2 You don’t need to run away from home to join the circus (6 comments) / non-computer
2005-01-05 / #3 PulseEvent is fundamentally flawed (44 comments) / code
2005-01-06 / #4 A rant against flow control macros (53 comments) / other
2005-01-07 / #5 How can code that tries to prevent a buffer overflow end up causing one? (65 comments) / code;history
2005-01-10 / #6 Taskbar notification balloon tips don’t penalize you for being away from the keyboard (70 comments) / code
2005-01-10 / #7 Seattle Snowstorm 2005 (insert swooshy sound effect) (50 comments) / non-computer
2005-01-11 / #8 Why doesn’t autocomplete to all the computers on the network? (63 comments) / history
2005-01-11 / #9 Marriage as a cross-branding opportunity (10 comments) / non-computer
2005-01-12 / #10 User interface design for vending machines (75 comments) / non-computer
2005-01-13 / #11 User interface design for interior door locks (75 comments) / non-computer
2005-01-13 / #12 User interface design for vending machines – answer to puzzle (38 comments) / non-computer
2005-01-14 / #13 Cleaner, more elegant, and harder to recognize (116 comments) / other
2005-01-17 / #14 How did MS-DOS report error codes? (62 comments) / history
2005-01-18 / #15 The importance of error code backwards compatibility (83 comments) / history
2005-01-19 / #16 CreateProcess does not wait for the process to start (16 comments) / code
2005-01-20 / #17 A 90-byte “whereis” program (41 comments) / tipssupport
2005-01-20 / #18 Hyperlinking to Hutchison Whampoa Limited forbidden (47 comments) / other
2005-01-21 / #19 Why are kernel HANDLEs always a multiple of four? (27 comments) / code
2005-01-24 / #20 Bringing cryptic command lines to Windows (46 comments) / other
2005-01-24 / #21 Alton Brown book appearance report (18 comments) / non-computer
2005-01-25 / #22 Why do files and directories with no time/date mess up sorting in Explorer? (24 comments) / tipssupport
2005-01-26 / #23 The strangest way of rounding down to the nearest quarter (38 comments) / other
2005-01-27 / #24 Control how much network bandwith Automatic Updates will use (50 comments) / tipssupport
2005-01-28 / #25 Capturing the current directory from a batch file (37 comments) / tipssupport
2005-01-31 / #26 Why did the Win64 team choose the LLP64 model? (110 comments) / history
2005-02-01 / #27 How to detect programmatically whether you are running on 64-bit Windows (46 comments) / code
2005-02-02 / #28 The history of the Windows PowerToys (81 comments) / history
2005-02-03 / #29 Why is breadth-first searching better for file system tree walking? (17 comments) / history
2005-02-04 / #30 What’s the deal with the DS_SHELLFONT flag? (34 comments) / code
2005-02-07 / #31 Why does DS_SHELLFONT = DS_FIXEDSYS | DS_SETFONT? (23 comments) / history
2005-02-08 / #32 What other effects does DS_SHELLFONT have on property sheet pages? (22 comments) / code;history
2005-02-09 / #33 The dangers of filtering window messages (21 comments) / code
2005-02-10 / #34 Why do minimized windows have an apparent size of 160×31? (31 comments) / history
2005-02-11 / #35 Windowless controls are not magic (61 comments) / other
2005-02-14 / #36 LoadLibraryEx(DONT_RESOLVE_DLL_REFERENCES) is fundamentally flawed (25 comments) / code
2005-02-14 / #37 How to act like you know Chinese even though you don’t (34 comments) / excursions-into-east-asian-pop-music;non-computer
2005-02-15 / #38 You cannot globally reserve user-mode address space (41 comments) / code
2005-02-16 / #39 Limitations of the shell animation control (15 comments) / code
2005-02-17 / #40 MsgWaitForMultipleObjects and the queue state (37 comments) / code
2005-02-18 / #41 Modality, part 1: UI-modality vs code-modality (26 comments) / code;modality
2005-02-21 / #42 Modality, part 2: Code-modality vs UI-modality (19 comments) / code;modality
2005-02-22 / #43 Modality, part 3: The WM_QUIT message (23 comments) / code;modality
2005-02-23 / #44 Modality, part 4: The importance of setting the correct owner for modal UI (19 comments) / code;modality
2005-02-24 / #45 Modality, part 5: Setting the correct owner for modal UI (10 comments) / code;modality
2005-02-25 / #46 Two brief reminiscences on the Windows XP “Comments?” button (35 comments) / history
2005-02-28 / #47 Modality, part 6: Interacting with a program that has gone modal (14 comments) / code;modality
2005-02-28 / #48 “Support our troops” wristbands provide only 1/3 support (43 comments) / non-computer
2005-03-01 / #49 Modality, part 7: A timed MessageBox, the cheap version (34 comments) / code;modality
2005-03-01 / #50 Suggestion Box 2 (191 comments) / pages
2005-03-02 / #51 The scratch window (14 comments) / code
2005-03-02 / #52 Curling proves itself much more exciting than hockey this year (14 comments) / non-computer
2005-03-03 / #53 The bonus window bytes at GWLP_USERDATA (35 comments) / code
2005-03-03 / #54 Raymond’s random walk, from Swedish designers to Mr. Monkey (9 comments) / non-computer
2005-03-04 / #55 Modality, part 8: A timed MessageBox, the better version (16 comments) / code;modality
2005-03-07 / #56 A timed context menu (25 comments) / code
2005-03-08 / #57 Keep your eye on the code page (47 comments) / other
2005-03-09 / #58 Using SystemParametersInfo to access user interface settings (54 comments) / code
2005-03-10 / #59 Why does SystemParametersInfo hang when I pass the SPIF_SENDCHANGE flag? (5 comments) / code
2005-03-11 / #60 Performance gains at the cost of other components (64 comments) / other
2005-03-11 / #61 VegFest 2005 this weekend – and – vegetarian is as vegetarian does (35 comments) / non-computer
2005-03-14 / #62 A subtlety in restoring previous window position (34 comments) / other
2005-03-14 / #63 Dot-Con Job: How InfoSpace took its investors for a ride (8 comments) / non-computer
2005-03-15 / #64 Windows are not cheap objects (73 comments) / history
2005-03-16 / #65 Windows NT Security in Theory and Practice (4 comments) / other
2005-03-16 / #66 The great Alaskan ice sculpture (3 comments) / non-computer
2005-03-17 / #67 Your exception handler can encounter an exception (26 comments) / code
2005-03-17 / #68 Competing to be the worst-dressed couple in America (24 comments) / non-computer
2005-03-18 / #69 Confusion over whether you have Windows XP SP1 or SP2 (38 comments) / tipssupport
2005-03-21 / #70 Psychic debugging: Why your expensive four-processor machine is ignoring three of its processors (57 comments) / other
2005-03-22 / #71 Why does the debugger show me the wrong function? (44 comments) / code
2005-03-23 / #72 Why does the debugger show me the wrong virtual function? (22 comments) / code
2005-03-24 / #73 Pointers to virtual functions with adjustors (8 comments) / code
2005-03-25 / #74 If you disable drag/drop on the Start menu, you also disable right-click (26 comments) / tipssupport
2005-03-25 / #75 The invisible price reduction (17 comments) / non-computer
2005-03-28 / #76 When a program asks you a question and then gets upset if you answer it (33 comments) / history
2005-03-28 / #77 The CEO-to-English Phrase Book, a continuing series from Slate (10 comments) / non-computer
2005-03-29 / #78 The dialog manager, part 1: Warm-ups (20 comments) / code
2005-03-29 / #79 Adventures in product testing: Candles that catch fire (8 comments) / non-computer
2005-03-30 / #80 The dialog manager, part 2: Creating the frame window (16 comments) / code
2005-03-31 / #81 The dialog manager, part 3: Creating the controls (14 comments) / code
2005-03-31 / #82 Neuroscience in the service of basketball fans (3 comments) / non-computer
2005-04-01 / #83 The dialog manager, part 4: The dialog loop (24 comments) / code
2005-04-04 / #84 The dialog manager, part 5: Converting a non-modal dialog box to modal (9 comments) / code
2005-04-05 / #85 The dialog manager, part 6: Subtleties in message loops (3 comments) / code
2005-04-06 / #86 The dialog manager, part 7: More subtleties in message loops (10 comments) / code
2005-04-07 / #87 The dialog manager, part 8: Custom navigation in dialog boxes (1 comment) / code
2005-04-08 / #88 The dialog manager, part 9: Custom accelerators in dialog boxes (2 comments) / code
2005-04-11 / #89 The end of one of the oldest computers at Microsoft still doing useful work (45 comments) / dead-computers;other
2005-04-12 / #90 There’s an awful lot of overclocking out there (76 comments) / other
2005-04-13 / #91 Using the powers of mathematics to simplify multi-level comparisons (15 comments) / code
2005-04-14 / #92 Computing the interval between two moments in time (20 comments) / code
2005-04-15 / #93 Tweaking our computation of the interval between two moments in time (6 comments) / code
2005-04-15 / #94 News flash: Everybody has to pay income tax (24 comments) / news-flash;non-computer
2005-04-18 / #95 What is the HINSTANCE passed to CreateWindow and RegisterClass used for? (10 comments) / code
2005-04-18 / #96 Project update: Voyage to Our Hollow Earth (4 comments) / non-computer
2005-04-19 / #97 When people ask for security holes as features: Hiding files from Explorer (40 comments) / history;when-people-ask-for-security-holes-as-features
2005-04-20 / #98 What is the DC brush good for? (21 comments) / code
2005-04-21 / #99 The Itanium’s so-called stack (6 comments) / code
2005-04-21 / #100 Sweden’s Worst Driver (19 comments) / non-computer
2005-04-22 / #101 The new scratch program (49 comments) / code
2005-04-25 / #102 What is the HINSTANCE passed to SetWindowsHookEx used for? (20 comments) / code
2005-04-25 / #103 Welcome to Millennium Tower, due for completion in May 2005 (15 comments) / non-computer
2005-04-26 / #104 Thread messages are eaten by modal loops (3 comments) / code
2005-04-26 / #105 If you pull a 1920’s fire extinguisher out of the ocean, for pete’s sake don’t drink it! (5 comments) / non-computer
2005-04-27 / #106 Watching thread messages disappear (3 comments) / code
2005-04-28 / #107 Rescuing thread messages from modal loops via message filters (11 comments) / code
2005-04-29 / #108 Building a dialog template at run-time (21 comments) / code
2005-05-02 / #109 Another dead computer: My personal laptop (33 comments) / dead-computers;other
2005-05-03 / #110 Managing the UI state of accelerators and focus rectangles (15 comments) / code
2005-05-04 / #111 When people ask for security holes as features: Stealing passwords (33 comments) / history;when-people-ask-for-security-holes-as-features
2005-05-05 / #112 How do I cover the taskbar with a fullscreen window? (44 comments) / code
2005-05-06 / #113 How to query properties of the taskbar (14 comments) / code
2005-05-09 / #114 Developing a Chinese/English dictionary: Introduction (28 comments) / code
2005-05-10 / #115 Loading the dictionary, part 1: Starting point (33 comments) / code
2005-05-11 / #116 Loading the dictionary, part 2: Character conversion (24 comments) / code
2005-05-12 / #117 The Microsoft corporate network: 1.7 times worse than hell (17 comments) / history
2005-05-13 / #118 Loading the dictionary, part 3: Breaking the text into lines (28 comments) / code
2005-05-16 / #119 Loading the dictionary, part 4: Character conversion redux (24 comments) / code
2005-05-17 / #120 You can’t escape those AOL CDs (15 comments) / other
2005-05-18 / #121 Loading the dictionary, part 5: Avoiding string copying (28 comments) / code
2005-05-19 / #122 Loading the dictionary, part 6: Taking advantage of our memory allocation pattern (25 comments) / code
2005-05-20 / #123 When is a window visible yet not visible? (6 comments) / code
2005-05-20 / #124 I’d like to register my stolen car, please (7 comments) / non-computer
2005-05-23 / #125 Why are DLLs unloaded in the «wrong» order? (15 comments) / other
2005-05-24 / #126 Boil first, then mash (40 comments) / non-computer
2005-05-24 / #127 Understanding ternary raster operations (9 comments) / code
2005-05-25 / #128 The effect of SetCursor lasts only until the next SetCursor (8 comments) / code
2005-05-26 / #129 Why does Add or Remove Programs show a large blank space? (43 comments) / tipssupport
2005-05-27 / #130 When is x/2 different from x>>1? (25 comments) / code
2005-05-30 / #131 You can’t simulate keyboard input with PostMessage (15 comments) / code
2005-05-30 / #132 Shocked (shocked!) that patronage exists in Chicago politics (4 comments) / non-computer
2005-05-31 / #133 Using modular arithmetic to avoid timing overflow problems (21 comments) / code
2005-06-01 / #134 Using /LARGEADDRESSAWARE on 64-bit Windows for 32-bit programs (11 comments) / other
2005-06-01 / #135 Why don’t you ever see a rat vomiting? (10 comments) / non-computer
2005-06-02 / #136 If strncpy is so dangerous, why does Visual Studio 2005 still support it? (45 comments) / other
2005-06-02 / #137 The 2005 Seattle Chicken Tour (4 comments) / non-computer
2005-06-03 / #138 Why does Windows XP SP2 sometimes forget my CD autoplay settings? (34 comments) / tipssupport
2005-06-06 / #139 A quick puzzle about security and synchronization (14 comments) / code
2005-06-06 / #140 Adam Felber teaches us how to avoid setting off motion detectors (15 comments) / non-computer
2005-06-07 / #141 What if two programs did this? (54 comments) / other
2005-06-07 / #142 Answer to quick puzzle about security and synchronization (5 comments) / code
2005-06-08 / #143 Why don’t control panel programs and property sheets show up in the taskbar? (50 comments) / history
2005-06-08 / #144 Can you trust the Man on the Street interview? (13 comments) / non-computer
2005-06-09 / #145 Why can’t the default drag/drop behavior be changed? (44 comments) / other
2005-06-10 / #146 Why does Explorer eject the CD after you finish burning it? (44 comments) / tipssupport
2005-06-10 / #147 Maintaining high standards at the International Frederic Chopin Piano Competition (12 comments) / non-computer
2005-06-13 / #148 Displaying the dictionary, part 1: Naive version (14 comments) / code
2005-06-13 / #149 Seattle International Juggling Festival 2005 (6 comments) / non-computer
2005-06-14 / #150 Displaying the dictionary, part 2: Using text callbacks (12 comments) / code
2005-06-15 / #151 Displaying the dictionary, part 3: Using an owner-data listview (26 comments) / code
2005-06-16 / #152 What is the difference between «Unpin from Start menu» and «Remove from this list»? (34 comments) / tipssupport
2005-06-17 / #153 Why do NTFS and Explorer disagree on filename sorting? (11 comments) / other
2005-06-17 / #154 Is there ever such a thing as a good letter from the IRS? (22 comments) / non-computer
2005-06-20 / #155 What’s the difference between autocomplete and dropdown history? (5 comments) / tipssupport
2005-06-20 / #156 Perhaps this is what airport security is worried about (12 comments) / non-computer
2005-06-21 / #157 The Date/Time control panel is not a calendar (85 comments) / history
2005-06-21 / #158 Google is the cute two-year-old girl with curly blond hair that gets all the attention (85 comments) / other
2005-06-22 / #159 Why does the Run dialog autocorrect but not the Run key? (3 comments) / code
2005-06-22 / #160 I’ll see (some of) you in Los Angeles in September (49 comments) / other
2005-06-23 / #161 Why does the CreateProcess function do autocorrection? (64 comments) / history
2005-06-24 / #162 Why can’t I get the pixels of a window that isn’t visible on screen? (30 comments) / code
2005-06-27 / #163 Why are there broadcast-based mechanisms in Windows? (22 comments) / history
2005-06-28 / #164 Why do Microsoft code samples tend to use ZeroMemory instead of { 0 }? (24 comments) / other
2005-06-28 / #165 Drink at work: The blog of a cartoonist (10 comments) / non-computer
2005-06-29 / #166 A simple story in pictures (6 comments) / non-computer
2005-06-29 / #167 Why isn’t Windows Setup just a disk reimage plus a registry dump? (21 comments) / other
2005-06-30 / #168 Beware of roaming user profiles (38 comments) / code
2005-07-01 / #169 What’s the difference between My Documents and Application Data? (21 comments) / code
2005-07-01 / #170 I hope you weren’t using those undocumented critical section fields (25 comments) / code
2005-07-04 / #171 Some holiday fun: Puzzle #1 (1 comment) / non-computer
2005-07-04 / #172 Some holiday fun: Puzzle #2 (1 comment) / non-computer
2005-07-04 / #173 Some holiday fun: Puzzle #3 (3 comments) / non-computer
2005-07-04 / #174 Some holiday fun: Puzzle #4 (0 comments) / non-computer
2005-07-04 / #175 Some holiday fun: Puzzle #5 (0 comments) / non-computer
2005-07-04 / #176 Some holiday fun: Puzzle #6 (2 comments) / non-computer
2005-07-04 / #177 Some holiday fun: Puzzle supplementary material (6 comments) / non-computer
2005-07-05 / #178 Using script to query information from Internet Explorer windows (14 comments) / code
2005-07-05 / #179 Answers to yesterday’s holiday fun puzzles (3 comments) / non-computer
2005-07-06 / #180 What’s the point of DeferWindowPos? (23 comments) / code
2005-07-07 / #181 What are SYSTEM_FONT and DEFAULT_GUI_FONT? (22 comments) / history
2005-07-07 / #182 What struck me about life in the Republic (41 comments) / non-computer
2005-07-08 / #183 How can I recover the dialog resource ID from a dialog window handle? (4 comments) / other
2005-07-08 / #184 The best book on ActiveX programming ever written (14 comments) / other
2005-07-11 / #185 Converting from traditional to simplified Chinese, part 1: Loading the dictionary (10 comments) / code
2005-07-12 / #186 Converting from traditional to simplified Chinese, part 2: Using the dictionary (8 comments) / code
2005-07-13 / #187 Converting from traditional to simplified Chinese, part 3: Highlighting differences (5 comments) / code
2005-07-14 / #188 Where did the names of the computer Hearts opponents come from? (13 comments) / history
2005-07-14 / #189 When Marketing edits your PDC talk description (23 comments) / other
2005-07-15 / #190 The apocryphal history of file system tunnelling (34 comments) / history
2005-07-18 / #191 If InitCommonControls doesn’t do anything, why do you have to call it? (13 comments) / history
2005-07-18 / #192 Watching the game of «Telephone» play out on the Internet (21 comments) / other
2005-07-19 / #193 What is the deal with the ES_OEMCONVERT flag? (14 comments) / history
2005-07-20 / #194 Why does FindFirstFile find short names? (21 comments) / history
2005-07-20 / #195 The Northwest Mahler Festival performs Mahler’s Second Symphony («Resurrection») (8 comments) / non-computer
2005-07-21 / #196 News flash: Going for a walk on a nice day makes you feel better (10 comments) / news-flash;non-computer
2005-07-21 / #197 FindFirstFile is not a SQL query (15 comments) / code
2005-07-22 / #198 The importance of passing the WT_EXECUTELONGFUNCTION flag to QueueUserWorkItem (17 comments) / code
2005-07-22 / #199 Marin Alsop to be music director of the Baltimore Symphony Orchestra (16 comments) / non-computer
2005-07-25 / #200 Dinner at the Herbfarm in Woodinville (9 comments) / non-computer
2005-07-25 / #201 On paying for your meal upon leaving a restaurant (14 comments) / other
2005-07-26 / #202 What is the difference between WM_DESTROY and WM_NCDESTROY? (16 comments) / code
2005-07-27 / #203 When the normal window destruction messages are thrown for a loop (17 comments) / code
2005-07-28 / #204 What is this «web site» thing you are talking about? (29 comments) / history
2005-07-29 / #205 Does Windows have a limit of 2000 threads per process? (30 comments) / other
2005-08-01 / #206 Microsoft Company Picnic 2005 (14 comments) / non-computer
2005-08-01 / #207 Rendering standard Windows elements (15 comments) / code
2005-08-02 / #208 Rendering menu glyphs is slightly trickier (11 comments) / code
2005-08-03 / #209 Drawing a monochrome bitmap with transparency (6 comments) / code
2005-08-03 / #210 Watch out, there are Swedes in the hallway! (10 comments) / non-computer
2005-08-04 / #211 Double-clicking radio buttons (9 comments) / code
2005-08-04 / #212 On speaking a particular language in the presence of non-speakers (30 comments) / non-computer
2005-08-05 / #213 Why does the Internet Explorer animated logo arrange its frame vertically? (17 comments) / code
2005-08-05 / #214 Have you made any assignments in this space? (35 comments) / other
2005-08-08 / #215 The dangers of playing focus games when handling a WM_KILLFOCUS message (8 comments) / code
2005-08-08 / #216 Hey, who flattened the hills? (4 comments) / non-computer
2005-08-09 / #217 That’s about the size of it (37 comments) / non-computer
2005-08-09 / #218 The dangers of messing with activation when handling a WM_ACTIVATE message (5 comments) / code
2005-08-10 / #219 How can a company get access to Windows Error Reporting data? (38 comments) / other
2005-08-10 / #220 Why is Windows Error Reporting nicknamed «Dr. Watson»? (33 comments) / history
2005-08-11 / #221 Adding a lookup control to the dictionary: Just getting it on the screen (0 comments) / code
2005-08-11 / #222 Whatever you do, don’t ask for coffee (9 comments) / non-computer
2005-08-12 / #223 Adding a lookup control to the dictionary: Searching Pinyin (4 comments) / code
2005-08-15 / #224 The poor man’s way of identifying memory leaks (17 comments) / code
2005-08-15 / #225 On being attacked by a sidewalk (23 comments) / non-computer
2005-08-16 / #226 When people ask for security holes as features: Silent install of uncertified drivers (79 comments) / history;when-people-ask-for-security-holes-as-features
2005-08-17 / #227 Why is processor affinity inherited by child processes? (23 comments) / code
2005-08-17 / #228 What I’ll be doing at this year’s PDC (6 comments) / other
2005-08-18 / #229 Let’s just make up some dollar values and print them as fact (35 comments) / other
2005-08-18 / #230 What are the access rights and privileges that control changing ownership of an object? (11 comments) / other
2005-08-19 / #231 Justifiable assault with folding chair (23 comments) / other
2005-08-19 / #232 How many floppy disks did Windows 95 come on? (36 comments) / history
2005-08-19 / #233 This might be for real, even though it comes out at 7am (37 comments) / non-computer
2005-08-22 / #234 How do you convince developers to pay their «taxes»? (68 comments) / other
2005-08-23 / #235 Why are icons multiples of 8 pixels in width? (20 comments) / other
2005-08-24 / #236 Buying an entire Egghead Software store (22 comments) / history
2005-08-24 / #237 A ticket to the Windows 95 launch (23 comments) / history
2005-08-24 / #238 Marymoor Park summer movie series 2005 is nearly over (7 comments) / non-computer
2005-08-25 / #239 Windows 95 crashes a cash register (46 comments) / history
2005-08-26 / #240 Free bicycles to borrow at Marymoor Park (7 comments) / non-computer
2005-08-26 / #241 If you squint you might be able to make out my name (4 comments) / other
2005-08-29 / #242 Why is the default console codepage called “OEM”? (7 comments) / history
2005-08-29 / #243 What program did you get, Danny? (0 comments) / history
2005-08-30 / #244 Program names in file type handlers need to be fully-qualified (29 comments) / code
2005-08-30 / #245 On the adult appeal of dodgeball (7 comments) / other
2005-08-31 / #246 Understanding hash codes (23 comments) / code
2005-08-31 / #247 Hoping the worst-case scenario doesn’t come to pass (15 comments) / non-computer
2005-09-01 / #248 More undocumented behavior and the people who rely on it: Output buffers (42 comments) / code
2005-09-02 / #249 Precision is not the same as accuracy (44 comments) / other
2005-09-05 / #250 Spider Solitaire unseats the reigning champion (38 comments) / other
2005-09-06 / #251 Windows Server 2003 can take you back in time (34 comments) / tipssupport
2005-09-07 / #252 Declared unsuitable for minors in Australia! Sort of. (17 comments) / non-computer
2005-09-07 / #253 Why aren’t low-level hooks injected? (10 comments) / code
2005-09-08 / #254 Why does the function WSASetLastError exist? (10 comments) / history
2005-09-08 / #255 I won’t be signing books but don’t let that stop you (12 comments) / other
2005-09-09 / #256 Reading the output of a command from batch (48 comments) / code
2005-09-12 / #257 Understanding the consequences of WAIT_ABANDONED (27 comments) / code
2005-09-12 / #258 Richard E. Grant as Dr. Who (10 comments) / non-computer
2005-09-13 / #259 Annoying renditions of the songs of Elvis (6 comments) / non-computer
2005-09-13 / #260 Why is there no all-encompassing superset version of Windows? (55 comments) / other
2005-09-13 / #261 Sorry I missed you all this morning (4 comments) / other
2005-09-14 / #262 The double-Ctrl+Alt+Del feature is really a kludge (39 comments) / other
2005-09-14 / #263 Like an invention out of Harry Potter, except that Harry’s would use a quill (4 comments) / non-computer
2005-09-14 / #264 Typo patrol at the PDC (10 comments) / other
2005-09-15 / #265 Fiddling with the fonts, part 1: Making the Chinese characters larger (16 comments) / code
2005-09-16 / #266 Fiddling with the fonts, part 2: Keeping the English font small (14 comments) / code
2005-09-19 / #267 Why doesn’t Microsoft give every employee a UPS? (30 comments) / other
2005-09-19 / #268 Corrections to the answers I gave at the end of my PDC talk (16 comments) / other
2005-09-20 / #269 Please disconnect all cell phones, signal watches, and pagers (4 comments) / non-computer
2005-09-20 / #270 Things to do at Microsoft when the power goes out (46 comments) / other
2005-09-21 / #271 Giving fair warning before plugging in your computer (17 comments) / other
2005-09-21 / #272 Black(out) humor at the 2005 PDC (7 comments) / other
2005-09-22 / #273 Coming to the completely opposite conclusion on Windows versions (22 comments) / other
2005-09-22 / #274 Contradictory feedback from my 2005 PDC talk (10 comments) / other
2005-09-23 / #275 Ten things I noticed at the 2005 PDC (13 comments) / other
2005-09-23 / #276 The Double-E Half Hour of Pain (4 comments) / non-computer
2005-09-25 / #277 This is an unsupported ride, so if you stop, you will fall over (5 comments) / non-computer
2005-09-26 / #278 Kurt would have wanted it that way (10 comments) / history
2005-09-26 / #279 Raymond’s 2005 MVP Global Summit event diary (21 comments) / other
2005-09-27 / #280 COM object destructors are very sensitive functions (20 comments) / code
2005-09-28 / #281 Avoiding double-destruction when an object is released (23 comments) / code
2005-09-29 / #282 On objects with a reference count of zero (12 comments) / code
2005-09-29 / #283 The DHS television show was all a scam, it appears (2 comments) / non-computer
2005-09-30 / #284 English Cut: Bringing bespoke tailoring into the general consciousness (12 comments) / non-computer
2005-09-30 / #285 But I have Visual Basic Professional (39 comments) / history
2005-09-30 / #286 The reverse-engineering of PDC 2005 pass colors (11 comments) / other
2005-10-03 / #287 Consequences of the scheduling algorithm: Low priority threads can run even when higher priority threads are running (31 comments) / code
2005-10-03 / #288 Perhaps I like the phrase «withered hand» a bit too much (13 comments) / non-computer
2005-10-04 / #289 Consequences of the scheduling algorithm: Sleeping doesn’t always help (20 comments) / code
2005-10-04 / #290 Katamari Damacy: The most screwed-up video game ever (22 comments) / excursions-into-east-asian-pop-music;non-computer
2005-10-05 / #291 My history of time is briefer than yours (7 comments) / non-computer
2005-10-05 / #292 Running old programs in a virtual machine doesn’t necessarily create a good user experience (37 comments) / other
2005-10-06 / #293 The unfortunate interaction between LOAD_LIBRARY_AS_DATAFILE and DialogBox (6 comments) / code;history
2005-10-06 / #294 Jensen Harris joins the 7am club (5 comments) / other
2005-10-07 / #295 On the dangers of sharing your apartment (1 comment) / code
2005-10-07 / #296 Your profiling tools can manufacture performance issues where there were none (14 comments) / other
2005-10-10 / #297 The difficult balancing act between customization and supportability (9 comments) / other
2005-10-10 / #298 Thread affinity of user interface objects, part 1: Window handles (7 comments) / code
2005-10-11 / #299 Thread affinity of user interface objects, part 2: Device contexts (9 comments) / code
2005-10-11 / #300 New blog on integrating Groove with Office (25 comments) / other
2005-10-12 / #301 Thread affinity of user interface objects, part 3: Menus, icons, cursors, and accelerator tables (3 comments) / code
2005-10-12 / #302 Newark Liberty International Airport Terminal A travel tips (35 comments) / non-computer
2005-10-13 / #303 Thread affinity of user interface objects, part 4: GDI objects and other notes on affinity (4 comments) / code
2005-10-13 / #304 Make money working at home in your pajamas, and it’s completely legal! (13 comments) / non-computer
2005-10-14 / #305 Thread affinity of user interface objects, part 5: Object clean-up (23 comments) / code
2005-10-14 / #306 The history of the path separator in Japanese and Korean Windows (10 comments) / history
2005-10-17 / #307 The undeletable Outlook folder (35 comments) / tipssupport
2005-10-18 / #308 Answering the phone, a classic rookie mistake (17 comments) / other
2005-10-18 / #309 Be careful what you name your product group (20 comments) / history
2005-10-19 / #310 There’s something about Rat Poker (56 comments) / other
2005-10-19 / #311 Follow-up: Portsmouth Spinnaker Tower now open, but maybe you should take the stairs (10 comments) / non-computer
2005-10-20 / #312 Quick and dirty buzzword bingo cards in Excel (5 comments) / code
2005-10-20 / #313 The things in the PDC 2005 introductory video (29 comments) / other
2005-10-21 / #314 Why is it even possible to disable the desktop anyway? (13 comments) / history
2005-10-24 / #315 Fair Isle: Knitters Wanted (4 comments) / non-computer
2005-10-24 / #316 New device detected: Boeing 747 (29 comments) / history
2005-10-25 / #317 One person’s discoverable feature is another person’s annoyance (28 comments) / other
2005-10-25 / #318 It’s like being at the PDC, but without the lines or the tote bag (7 comments) / other
2005-10-25 / #319 Seattle Twenty-Five for $25 November 2005 restaurant list is available (12 comments) / non-computer
2005-10-26 / #320 When programs assume that the system will never change, episode 1 (100 comments) / history
2005-10-26 / #321 PC Magazine interviews «the team behind Windows» on its twentieth birthday (18 comments) / history
2005-10-27 / #322 Why is the OEM code page often called ANSI? (15 comments) / history
2005-10-27 / #323 Without a doubt, the world’s worst online Swedish lessons (16 comments) / non-computer
2005-10-28 / #324 How to recognize different types of sentinel timestamps from quite a long way away (21 comments) / code;time
2005-10-28 / #325 Even in the enlightened year of 2005, we have programs that don’t handle long file names (42 comments) / other
2005-10-31 / #326 The Hallowe’en-themed lobby (12 comments) / history
2005-10-31 / #327 Night of the Knitting Dead (1 comment) / non-computer
2005-11-01 / #328 The COM interface contract rules exist for a reason (17 comments) / code
2005-11-01 / #329 Välkommen till Saerige? (4 comments) / non-computer
2005-11-01 / #330 Bicycling from Mercer Island to Microsoft main campus (8 comments) / non-computer
2005-11-02 / #331 Why is inline autocomplete disabled by default? (33 comments) / history
2005-11-02 / #332 Blog design as a form of reality programming (12 comments) / non-computer
2005-11-02 / #333 Found blog: The Piehole (8 comments) / non-computer
2005-11-03 / #334 To be a leader you must know when to follow (17 comments) / history
2005-11-03 / #335 Look what the hurricanes blew into Lafayette, LA (3 comments) / non-computer
2005-11-04 / #336 Why is there a special PostQuitMessage function? (12 comments) / code
2005-11-04 / #337 It’s not a book, but it’s slightly closer (23 comments) / other
2005-11-07 / #338 Take it easy on the automatic retries (54 comments) / code
2005-11-08 / #339 Why was GlobalWire called GlobalWire? (10 comments) / history
2005-11-08 / #340 Hiding from the police? Try knitting a sweater (5 comments) / non-computer
2005-11-09 / #341 The psychology of naming your internal distribution lists (8 comments) / other
2005-11-09 / #342 Content owners need to review the designer art, too (14 comments) / non-computer
2005-11-10 / #343 When was the last time you formatted a floppy disk? (55 comments) / history
2005-11-10 / #344 The etymology of the word «traffic light» (62 comments) / non-computer
2005-11-11 / #345 I just have a plain standard-issue guest chair (42 comments) / other
2005-11-14 / #346 What was Dr. Watson’s original name? (11 comments) / history
2005-11-14 / #347 Raymond’s review of Pride and Prejudice (Keira Knightley version) (14 comments) / non-computer
2005-11-15 / #348 In real life, nobody upgrades their server (42 comments) / other
2005-11-16 / #349 Sampling every flavor of dogfood in the store (13 comments) / history
2005-11-16 / #350 Another Schadenfreude-filled look back at the dot-com zaniness (15 comments) / non-computer
2005-11-17 / #351 Force-feeding the dogfood (27 comments) / history
2005-11-17 / #352 I didn’t see Stephen Hawking in Seattle yesterday (10 comments) / non-computer
2005-11-18 / #353 What does the word «supported» mean? (18 comments) / other
2005-11-18 / #354 Mini-conversations at the stoplight during the bicycle commute (4 comments) / non-computer
2005-11-21 / #355 What’s the difference between HWND_TOP and HWND_TOPMOST? (19 comments) / history
2005-11-22 / #356 The world’s worst celebrity recasting of the American version of Harry Potter (32 comments) / non-computer
2005-11-22 / #357 Why is a drive letter permitted in front of UNC paths (sometimes)? (19 comments) / history
2005-11-23 / #358 Semaphores don’t have owners (16 comments) / code
2005-11-24 / #359 What causes a program to be marked as «new» on the Start menu? (50 comments) / other
2005-11-25 / #360 This video universally gets one of two reactions (27 comments) / non-computer
2005-11-25 / #361 How to get Raymond to stop being interested in talking with you (46 comments) / other
2005-11-28 / #362 Taxes: Hierarchical Storage Management (11 comments) / code
2005-11-28 / #363 Where does an IT guy from a major hotel chain stay at the PDC? (9 comments) / other
2005-11-29 / #364 Taxes: Geopolitics (23 comments) / code
2005-11-29 / #365 The craft of UI design: flow|state (41 comments) / other
2005-11-30 / #366 Sometimes the fault is not in our stars but in ourselves (14 comments) / other
2005-11-30 / #367 The Airline Screening Playset (6 comments) / non-computer
2005-12-01 / #368 What one Windows XP feature am I most proud of? (56 comments) / other
2005-12-02 / #369 Psychic debugging: Why your CPU usage is hovering at 50% (24 comments) / other
2005-12-02 / #370 Derren Brown’s tips on being a psychic (17 comments) / non-computer
2005-12-05 / #371 Using floppy disks as semaphore tokens (19 comments) / history
2005-12-05 / #372 It’s always a good idea to check your sources (35 comments) / non-computer
2005-12-06 / #373 When a token changes its meaning mid-stream (11 comments) / history
2005-12-06 / #374 Humanity’s greatest invention, according to seventh grade students (42 comments) / non-computer;the-wisdom-of-seventh-graders
2005-12-07 / #375 Whimsical embarrassment as a gentle form of reprimand (39 comments) / history
2005-12-07 / #376 Rory Blyth explains the difference between 720p and 1080i (7 comments) / other
2005-12-08 / #377 Using a physical object as a reminder (8 comments) / history
2005-12-08 / #378 The not-entirely-unwitting victims of the Daily Show interview (7 comments) / non-computer
2005-12-09 / #379 On the inability to support hardware that nobody makes any more (67 comments) / history
2005-12-12 / #380 Your debugging code can be a security hole (18 comments) / code
2005-12-12 / #381 Experiencing the world from flight level 210 (8 comments) / non-computer
2005-12-13 / #382 We Microsoft bloggers do talk to each other occasionally, y’know (11 comments) / other
2005-12-14 / #383 On the ambiguity of uniqueness (27 comments) / code
2005-12-14 / #384 Whole lotta cranking going on (10 comments) / non-computer
2005-12-15 / #385 You probably don’t want to run programs directly off your USB memory drive (42 comments) / other
2005-12-15 / #386 A note to headhunters: Check your links (15 comments) / other
2005-12-16 / #387 The Dead Sea Scrolls are coming to Seattle (13 comments) / non-computer
2005-12-16 / #388 When hyperthreading is enabled, all the processors are virtual (25 comments) / other
2005-12-19 / #389 Beware the Image File Execution Options key (20 comments) / other
2005-12-19 / #390 Music to slip into a playlist to see if anybody is listening (10 comments) / non-computer
2005-12-20 / #391 Why does Windows setup lay down a new boot sector? (77 comments) / other
2005-12-20 / #392 «Pro forma» was so 1990’s (12 comments) / non-computer
2005-12-21 / #393 The office disco party (34 comments) / history
2005-12-22 / #394 Why do up-down controls have the arrows backwards? (29 comments) / history
2005-12-23 / #395 On the «Days without a pony» web page (22 comments) / other

2006


Date Title
2006-01-03 / #0 Why did the Windows 95 CD have extra fun stuff? (13 comments) / history
2006-01-03 / #1 If one certification is good, more must be better (13 comments) / other
2006-01-03 / #2 There’s more to calling a function than just getting the types to match (15 comments) / code
2006-01-03 / #3 On the abuse of properties (15 comments) / code
2006-01-03 / #4 2005 end-of-year link blowout sale (11 comments) / other
2006-01-03 / #5 The world’s slowest RET instruction (4 comments) / code
2006-01-03 / #6 Taxes: Remote Desktop Connection and painting (40 comments) / code
2006-01-04 / #7 Taxes: Detecting session state changes, such as a locked workstation (23 comments) / code
2006-01-04 / #8 Don’t underestimate the resourcefulness of people trying to be annoying (17 comments) / other
2006-01-05 / #9 The first rule about knit club… (7 comments) / non-computer
2006-01-05 / #10 Converting between LCIDs and RFC 1766 language codes (17 comments) / code
2006-01-06 / #11 Why do image lists and tool bars use horizontal strips if vertical is so much better? (12 comments) / code
2006-01-06 / #12 Where do call signs come from? (18 comments) / non-computer
2006-01-09 / #13 When programs assume that the system will never change, episode 3 (37 comments) / history
2006-01-09 / #14 Beware the MSJ subscription scam (7 comments) / other
2006-01-10 / #15 The decoy display control panel (25 comments) / history
2006-01-11 / #16 The decoy visual style (79 comments) / history
2006-01-12 / #17 When web sites rely on security holes (44 comments) / history
2006-01-13 / #18 Why do words beginning with «home» get treated as URLs? (21 comments) / tipssupport
2006-01-13 / #19 France, she is, how you say, on sale! (46 comments) / non-computer
2006-01-16 / #20 Understanding what things mean in context: Dispatch interfaces (23 comments) / code
2006-01-16 / #21 At least there’s a funny side to spam (7 comments) / non-computer
2006-01-17 / #22 ReadProcessMemory is not a preferred IPC mechanism (32 comments) / code
2006-01-18 / #23 The cost of trying too hard: Splay trees (22 comments) / code
2006-01-18 / #24 From Doom to Gloom: The story of a video game (15 comments) / other
2006-01-19 / #25 The cost of trying too hard: String searching (22 comments) / code
2006-01-19 / #26 How air conditioning revolutionized competitive bicycling (7 comments) / non-computer
2006-01-20 / #27 The vtable does not always go at the start of the object (15 comments) / code
2006-01-23 / #28 If your callback fails, it’s your responsibility to set the error code (39 comments) / code
2006-01-23 / #29 There are two types of rebates, and you need to be on the alert (34 comments) / non-computer
2006-01-24 / #30 Performance consequences of polling (52 comments) / code
2006-01-24 / #31 Creepy messages in your baggage (19 comments) / non-computer
2006-01-25 / #32 You can call MsgWaitForMultipleObjects with zero handles (11 comments) / code
2006-01-25 / #33 Welcome to the United States, unless you’re a Canadian technologist who is an invited guest at a Microsoft conference, in which case, keep out (32 comments) / non-computer
2006-01-26 / #34 Pumping messages while waiting for a period of time (13 comments) / code
2006-01-26 / #35 Stephen Tolouse’s reminiscences of Windows 95 RTM day (12 comments) / history
2006-01-27 / #36 Waiting for all handles with MsgWaitForMultipleObjects is a bug waiting to happen (14 comments) / code
2006-01-30 / #37 Liquefied NBA points apparently cannot be sold on eBay (3 comments) / non-computer
2006-01-30 / #38 Why does a corrupted binary sometimes result in «Program too big to fit in memory»? (44 comments) / history
2006-01-31 / #39 Why does the Recycle Bin have different file system names on FAT and NTFS? (24 comments) / history
2006-01-31 / #40 «I attack the kobold wearing the headdress made of human ears» (7 comments) / non-computer
2006-02-01 / #41 The military marriage of convenience (15 comments) / non-computer
2006-02-01 / #42 The per-class window styles and things really are per-class (13 comments) / code
2006-02-02 / #43 Be careful when interpreting security descriptors across machine boundaries (6 comments) / code
2006-02-02 / #44 The pornography of food (4 comments) / non-computer
2006-02-03 / #45 Mysterious things Steve Yi has eaten (18 comments) / non-computer
2006-02-03 / #46 You can’t even trust the identity of the calling executable (15 comments) / code
2006-02-06 / #47 Beware of redirected folders, too (32 comments) / code
2006-02-06 / #48 You know you’re in trouble when your channel loses to dead air (35 comments) / non-computer
2006-02-07 / #49 Viewing function composition as transformation of the domain (12 comments) / code
2006-02-07 / #50 Apparently I can’t take myself anywhere (23 comments) / non-computer
2006-02-08 / #51 Comparing writing specifications to writing code (35 comments) / other
2006-02-09 / #52 Shifting from program management to programming also affects your social life (29 comments) / other
2006-02-10 / #53 The dangers of sleeping on a UI thread (48 comments) / code
2006-02-13 / #54 That’s just super (and a note on baking) (20 comments) / microspeak;other
2006-02-14 / #55 Other things people do with beta versions of the operating system (5 comments) / history
2006-02-14 / #56 Studs from Microsoft (11 comments) / other
2006-02-15 / #57 The «symmetric» in symmetric multiprocessing really means «symmetric» (19 comments) / other
2006-02-15 / #58 Recycling old PCs and cell phones (12 comments) / other
2006-02-16 / #59 Because programmers were trusted to do the right thing, part 2 (133 comments) / code
2006-02-17 / #60 Not all team integrations go smoothly (23 comments) / history
2006-02-17 / #61 Diving into kernel mode with Doron (3 comments) / other
2006-02-20 / #62 Why does my program run faster if I click and hold the caption bar? (46 comments) / code
2006-02-20 / #63 How the study of languages influences one’s appreciation of international competition (9 comments) / non-computer
2006-02-21 / #64 In pursuit of Michael Cassini, «the king of con» (15 comments) / non-computer
2006-02-21 / #65 In pursuit of the message queue (16 comments) / code
2006-02-22 / #66 The performance cost of reading a registry key (48 comments) / code
2006-02-22 / #67 Games give you hand-eye coordination and spatial intelligence together with map-reading skills (16 comments) / non-computer
2006-02-23 / #68 Enumerating threads in a process (11 comments) / code
2006-02-23 / #69 That $9 you got from the PayPal settlement? Taxable income. (12 comments) / non-computer
2006-02-24 / #70 Why can’t I disable the Cancel button in a wizard? (40 comments) / other
2006-02-24 / #71 The Top Gear Winter Olympics 2006 (28 comments) / non-computer
2006-02-27 / #72 Changing a window class affects all windows which belong to that class (12 comments) / code
2006-02-27 / #73 Ry Jones seems particularly amused by things I’ve written (16 comments) / other;things-ive-written-that-have-amused-other-people
2006-02-28 / #74 Raymond, you so write like a girl (21 comments) / non-computer
2006-03-01 / #75 Keep your eye on the code page, practical exam (24 comments) / code
2006-03-02 / #76 Restating the obvious about the WM_COMMAND message (27 comments) / code
2006-03-02 / #77 Martha, Martha, Martha! (17 comments) / non-computer
2006-03-03 / #78 Very late remarks on the original Chinese dictionary series (5 comments) / code
2006-03-03 / #79 The peculiar appeal of the Baseball Uncyclopedia (3 comments) / other
2006-03-06 / #80 The ForceAutoLogon setting doesn’t do what most people think (12 comments) / tipssupport
2006-03-06 / #81 Other things happen for a reason, too (23 comments) / other
2006-03-07 / #82 The consequences of invalidating the null window (32 comments) / code
2006-03-07 / #83 Raymond, you even pose like a girl (22 comments) / non-computer
2006-03-08 / #84 Why is there no message for disabling the Cancel button on a wizard? (12 comments) / code
2006-03-08 / #85 Reading the fine print, episode 2: Portable headphones (23 comments) / non-computer;reading-the-fine-print
2006-03-09 / #86 Reading the fine print, episode 3: What’s in the bottle? (44 comments) / non-computer;reading-the-fine-print
2006-03-09 / #87 If you ask for a window caption, you also get a border (26 comments) / code
2006-03-10 / #88 Why does the size of a combo box include the size of the drop-down? (21 comments) / history
2006-03-10 / #89 Betsy’s interview tip: Wear pants (10 comments) / non-computer
2006-03-13 / #90 A thread waiting on a synchronization object could be caught napping (14 comments) / code
2006-03-13 / #91 The social skills of a thermonuclear device, part 2 (17 comments) / other;the-social-skills-of-a-thermonuclear-device
2006-03-14 / #92 Controlling resource consumption by meting out work items (23 comments) / code
2006-03-14 / #93 Top ten things to do to make your application a Vista application (45 comments) / other
2006-03-15 / #94 On the fuzzy definition of a «Unicode application» (33 comments) / other
2006-03-15 / #95 Das Buch der verrückten Experimente (24 comments) / non-computer
2006-03-16 / #96 Really, college athletics is about education (not) (29 comments) / highly-scientific;non-computer
2006-03-16 / #97 Why does the version 6 animation control not use a background thread? (23 comments) / code
2006-03-17 / #98 Raymond’s highly scientific predictions for the 2006 NCAA men’s basketball tournament (3 comments) / highly-scientific;non-computer
2006-03-17 / #99 You never know until you test it with real users (16 comments) / other
2006-03-20 / #100 Basic ground rules for programming – function parameters and how they are used (48 comments) / code
2006-03-21 / #101 Why doesn’t Windows File Protection use ACLs to protect files? (57 comments) / other
2006-03-21 / #102 On the alert for expired food-handling licenses (30 comments) / non-computer
2006-03-22 / #103 Solving one problem by creating a bigger problem (84 comments) / other
2006-03-22 / #104 Make sure to handle carcinogens safely before inhaling a different carcinogen (17 comments) / non-computer
2006-03-23 / #105 Before you develop a solution, make sure you really understand the problem (21 comments) / other
2006-03-23 / #106 Where technology names came from: WiFi and FireWire (4 comments) / history
2006-03-24 / #107 The simplified office (24 comments) / other
2006-03-27 / #108 Why doesn’t the window manager just take over behavior that used to be within the application’s purview? (59 comments) / code
2006-03-27 / #109 Public service announcement for Roman Catholics: Sunday is not a fast day (46 comments) / non-computer
2006-03-28 / #110 Why are there two copies of Notepad? (85 comments) / history
2006-03-28 / #111 The rise and fall of the German language (32 comments) / non-computer
2006-03-29 / #112 Inadvertently passing large objects by value (41 comments) / code
2006-03-30 / #113 How would you solve this compatibility problem: Network interoperability (200 comments) / other
2006-03-30 / #114 Diese Briefe wurden von unserem chinesischen Freund übersetzt (26 comments) / non-computer
2006-03-31 / #115 The network interoperability compatibility problem, first follow-up of many (133 comments) / other
2006-04-03 / #116 Doing the best we can until time travel has been perfected (64 comments) / other
2006-04-03 / #117 What seventh-grade students want to be when they grow up (19 comments) / non-computer;the-wisdom-of-seventh-graders
2006-04-04 / #118 Spamming the event log doesn’t make things any better (19 comments) / other
2006-04-04 / #119 German adjectives really aren’t that hard; they just look that way (19 comments) / non-computer
2006-04-05 / #120 Adding flags to APIs to work around driver bugs doesn’t scale (20 comments) / other
2006-04-05 / #121 USER and GDI compatibility in Windows Vista (7 comments) / other
2006-04-06 / #122 It’s more efficient when you buy in bulk (29 comments) / other
2006-04-06 / #123 Sometimes you just have to make a snap decision (41 comments) / non-computer
2006-04-07 / #124 Computing over a high-latency network means you have to bulk up (65 comments) / other
2006-04-07 / #125 News for dummies now available in podcast form (17 comments) / non-computer
2006-04-10 / #126 Be very careful if you decide to change the rules after the game has ended (35 comments) / other
2006-04-10 / #127 You’d think it’d be easy to give away a ticket to the symphony (11 comments) / non-computer
2006-04-11 / #128 What’s the deal with the house in front of Microsoft’s RedWest campus? (23 comments) / history
2006-04-12 / #129 Why is the Microsoft Protection Service called «msmpsvc»? (40 comments) / history
2006-04-12 / #130 News for dummies in French and English (21 comments) / non-computer
2006-04-13 / #131 Where did the name for Microsoft Access come from? (15 comments) / history
2006-04-13 / #132 Chain tax preparers do not fare well in undercover investigation (16 comments) / non-computer
2006-04-14 / #133 Where did start.com get its name? (14 comments) / history
2006-04-17 / #134 Locale-sensitive number grouping (67 comments) / code
2006-04-17 / #135 Merchandise your food with pride (43 comments) / microspeak;non-computer
2006-04-18 / #136 How to fill in that number grouping member of NUMBERFMT (9 comments) / code
2006-04-18 / #137 Maybe you don’t sound like Carl Kasell, but you can have his job (3 comments) / non-computer
2006-04-19 / #138 Adding a new flag to enable behavior that previously was on by default (73 comments) / other
2006-04-19 / #139 The 2006/2007 Seattle Symphony subscription season at a glance (10 comments) / non-computer
2006-04-20 / #140 More about the house in front of Microsoft’s RedWest campus (8 comments) / history
2006-04-21 / #141 Then again, it might not be overclocking after all (22 comments) / other
2006-04-24 / #142 Troubleshooting tips are not formal product documentation (20 comments) / other
2006-04-24 / #143 Ich habe meinen Computer zu Deutsch gewechselt (49 comments) / non-computer
2006-04-25 / #144 No, really, you need to pass all unhandled messages to DefWindowProc (22 comments) / code
2006-04-25 / #145 Correctly spell xerophthalmia and the crowd goes wild (7 comments) / non-computer
2006-04-26 / #146 No good deed goes unpunished: Bug assignment (36 comments) / no-good-deed-goes-unpunished;other
2006-04-27 / #147 A new scripting language doesn’t solve everything (96 comments) / other
2006-04-28 / #148 What does CS_SAVEBITS do? (35 comments) / code
2006-04-28 / #149 Grace period for Swedish currency conversion extended to the end of the year (35 comments) / non-computer
2006-05-01 / #150 What’s so special about bitmaps and DCs? (31 comments) / code
2006-05-01 / #151 Tips from an American on on driving in Taiwan (19 comments) / non-computer
2006-05-02 / #152 A cache with a bad policy is another name for a memory leak (37 comments) / code
2006-05-03 / #153 The alertable wait is the non-GUI analog to pumping messages (20 comments) / code
2006-05-04 / #154 Doing quick arithmetic from the command prompt (64 comments) / tipssupport
2006-05-04 / #155 On the bogusness of reporting the winning word in a spelling bee (33 comments) / non-computer
2006-05-05 / #156 What can I do with the HINSTANCE returned by the ShellExecute function? (17 comments) / history
2006-05-08 / #157 It rather involved being on the other side of this airtight hatchway (47 comments) / other
2006-05-08 / #158 Seattle boating season opens but never closes (4 comments) / non-computer
2006-05-09 / #159 Subtle ways your innocent program can be Internet-facing (26 comments) / other
2006-05-09 / #160 Why doesn’t Ethan Hunt have to wear identification? (51 comments) / non-computer
2006-05-10 / #161 Solutions that don’t actually solve anything (48 comments) / other
2006-05-11 / #162 Automatic messages when you’re not in the office – the infamous OOF (28 comments) / other
2006-05-12 / #163 When people mimic the display rather than the actual data (25 comments) / other
2006-05-12 / #164 On languages and spelling (43 comments) / non-computer
2006-05-15 / #165 The first word on the command line is the program name only by convention (28 comments) / other
2006-05-16 / #166 Command line redirection is performed by the command line interpreter (31 comments) / tipssupport
2006-05-16 / #167 The real scoop on the the x64 calling convention on 64-bit Windows (19 comments) / code
2006-05-17 / #168 Beware of digits before the redirection operator (29 comments) / tipssupport
2006-05-17 / #169 Don’t mention the war. I mentioned it once, but I think I got away with it all right (14 comments) / non-computer
2006-05-18 / #170 The redirection operator can occur in the middle of the command line (10 comments) / tipssupport
2006-05-18 / #171 Making up new Winter Olympic events (13 comments) / non-computer
2006-05-19 / #172 Redirecting output can result in altered program behavior (15 comments) / code
2006-05-19 / #173 Raymond 1, Sidewalk 1 (12 comments) / non-computer
2006-05-22 / #174 How do I write a regular expression that matches an IPv4 dotted address? (54 comments) / code
2006-05-23 / #175 That mysterious J (33 comments) / other
2006-05-23 / #176 Raymond makes a psychic prediction for 2006 (99 comments) / other
2006-05-24 / #177 Beware the C++ implicit conversion (47 comments) / code
2006-05-25 / #178 Using Yoda on an x86 may be hazardous to your systems’ health (20 comments) / history
2006-05-26 / #179 Assaulting users with dialog box after dialog box (61 comments) / other
2006-05-27 / #180 Wordplay (the movie) (5 comments) / non-computer
2006-05-29 / #181 Every discipline has its crackpots: Stories of mathematics (31 comments) / non-computer
2006-05-30 / #182 People are very sensitive to how the icons look (37 comments) / other
2006-05-30 / #183 Mellifluous NPR reporter name: Ofeibea Quist-Arcton (18 comments) / non-computer
2006-05-31 / #184 Do it for Katie (18 comments) / history
2006-06-01 / #185 What does the CS_OWNDC class style do? (34 comments) / code;history
2006-06-02 / #186 What does the CS_CLASSDC class style do? (26 comments) / code;history
2006-06-05 / #187 Why can’t you say </script> in a script block? (61 comments) / code
2006-06-06 / #188 The forgotten common controls: The page scroller (25 comments) / history
2006-06-06 / #189 Apparently driving is messed up in a lot of countries (25 comments) / non-computer
2006-06-07 / #190 If you’re going to try to simulate user actions, make sure the user can do them (5 comments) / code
2006-06-07 / #191 Disaster averted, thanks to undisclosed government action, no really (16 comments) / non-computer
2006-06-08 / #192 The forgotten common controls: The MenuHelp function (4 comments) / code
2006-06-09 / #193 Why did the Add or Remove Programs control panel try to guess all that information? (38 comments) / history
2006-06-09 / #194 What happened to the traffic circle at the corner of 156th Ave NE and NE 56th Way? (57 comments) / non-computer
2006-06-12 / #195 Remember what happens when you broadcast a message (20 comments) / code
2006-06-13 / #196 Fumbling around in the dark and stumbling across the wrong solution (68 comments) / other
2006-06-13 / #197 Lies and statistics: 600,000 Chinese engineers (43 comments) / non-computer
2006-06-14 / #198 Pitfalls of transparent rendering of anti-aliased fonts (41 comments) / code
2006-06-15 / #199 Window class properties apply to all windows that belong to the class (6 comments) / code
2006-06-15 / #200 It’s a good idea to get somebody who knows the language to be your proofreader (22 comments) / non-computer
2006-06-16 / #201 Understanding what significant digits really mean (40 comments) / other
2006-06-19 / #202 Why can’t you programmatically reorder the items on the Start menu? (47 comments) / other
2006-06-19 / #203 Announcements on the ferry, one self-explanatory, one not (13 comments) / non-computer
2006-06-20 / #204 A single-instance program is its own denial of service (35 comments) / other
2006-06-20 / #205 Three-Minute Masterpieces (2006) (1 comment) / non-computer
2006-06-21 / #206 Psychic debugging: Understanding DDE initiation (11 comments) / code
2006-06-21 / #207 It’s still not a democracy, but at least other people have noticed, too (14 comments) / non-computer
2006-06-22 / #208 An auto-reset event is just a stupid semaphore (31 comments) / code
2006-06-22 / #209 The continuing phenomenon of size inflation in fast food (67 comments) / non-computer
2006-06-23 / #210 The subtle usability considerations of conference nametags (44 comments) / non-computer
2006-06-26 / #211 Coding in-place tooltips (17 comments) / code
2006-06-26 / #212 Look who bought my name (36 comments) / other
2006-06-27 / #213 Using custom-draw in tooltips to adjust the font (2 comments) / code
2006-06-27 / #214 … so it doesn’t poop all over your office (14 comments) / non-computer
2006-06-28 / #215 Multiplexing multiple tools into one in a tooltip (8 comments) / code
2006-06-29 / #216 Generating tooltip text dynamically (15 comments) / code
2006-06-30 / #217 2006 mid-year link clearance (8 comments) / non-computer
2006-06-30 / #218 Congratulations, Montréal, on finally paying for the 1976 Olympic Games (11 comments) / non-computer
2006-07-03 / #219 Security: Don’t forget to initialize the stuff you don’t care about (16 comments) / code
2006-07-03 / #220 How do you use the bike rack on a Metro bus? (24 comments) / non-computer
2006-07-04 / #221 Things I’ve written that have amused other people, Episode 2 (7 comments) / non-computer;things-ive-written-that-have-amused-other-people
2006-07-05 / #222 Retail companies allegedly not collecting personal information as aggressively (45 comments) / non-computer
2006-07-06 / #223 Is the maximum size of the environment 32K or 64K? (39 comments) / code
2006-07-06 / #224 Nearly 20 percent of daily smokers say they exercise three or more times a week (18 comments) / non-computer
2006-07-07 / #225 No, really, why is it 160×31? (15 comments) / history
2006-07-07 / #226 Mr. T prefers a double-shot of espresso with two graham crackers, go figure (5 comments) / non-computer
2006-07-10 / #227 Before you can learn to recognize what’s wrong, you must learn to recognize what’s right (11 comments) / code
2006-07-10 / #228 Wenn Ausländer Deutsch phonetisch singen (18 comments) / non-computer
2006-07-11 / #229 Not everybody with a non-Windows partition type is a geek (79 comments) / other
2006-07-11 / #230 News flash: Big houses have bigger heating bills (18 comments) / news-flash;non-computer
2006-07-12 / #231 Pidls and monikers do roughly the same thing, just backwards (11 comments) / other
2006-07-12 / #232 Win $5000 every summer for life (some restrictions on your life apply) (17 comments) / non-computer
2006-07-13 / #233 Glass houses are great places to throw stones (105 comments) / other
2006-07-14 / #234 How were DLL functions exported in 16-bit Windows? (20 comments) / history
2006-07-17 / #235 How were DLL functions imported in 16-bit Windows? (16 comments) / history
2006-07-17 / #236 The day the peloton lost its way (21 comments) / non-computer
2006-07-18 / #237 How are DLL functions exported in 32-bit Windows? (27 comments) / other
2006-07-19 / #238 Exported functions that are really forwarders (15 comments) / other
2006-07-19 / #239 The traffic gods are punishing me for bicycling (8 comments) / non-computer
2006-07-20 / #240 Rethinking the way DLL exports are resolved for 32-bit Windows (17 comments) / other
2006-07-20 / #241 Buy me some peanuts and a set of double-pointed 2’s (8 comments) / non-computer
2006-07-21 / #242 Calling an imported function, the naive way (14 comments) / other
2006-07-21 / #243 I didn’t realize that it was International Group B Strep Awareness Month (4 comments) / non-computer
2006-07-21 / #244 Floyd Landis stuns everybody on stage 17; Raymond less impressive (17 comments) / non-computer
2006-07-24 / #245 How a less naive compiler calls an imported function (9 comments) / other
2006-07-24 / #246 Raise la lanterne rouge (6 comments) / non-computer
2006-07-25 / #247 Issues related to forcing a stub to be created for an imported function (16 comments) / other
2006-07-25 / #248 If you know German, the world is, well, slightly more confusing (36 comments) / non-computer
2006-07-26 / #249 What happens when you get dllimport wrong? (12 comments) / other
2006-07-26 / #250 Real Madrid (i.e., proper football) comes to Seattle (7 comments) / non-computer
2006-07-27 / #251 Names in the import library are decorated for a reason (23 comments) / other
2006-07-27 / #252 Index to the series on DLL imports and exports (9 comments) / other
2006-07-27 / #253 Handy tip: If you’re going to break into vehicles, the police vehicle service center is probably a bad place (5 comments) / non-computer
2006-07-28 / #254 The efficiency of ordinal-based imports while still being name-based (10 comments) / other
2006-07-28 / #255 The Seattle Monorail has two trains, and they collided (26 comments) / non-computer
2006-07-31 / #256 Just because I don’t write about .NET doesn’t mean that I don’t like it (48 comments) / other
2006-07-31 / #257 Christmas gift idea for your favorite glasses-wearing geek (8 comments) / non-computer
2006-08-01 / #258 C# nested classes are like C++ nested classes, not Java inner classes (24 comments) / code
2006-08-02 / #259 The implementation of anonymous methods in C# and its consequences (part 1) (50 comments) / code
2006-08-03 / #260 The implementation of anonymous methods in C# and its consequences (part 2) (15 comments) / code
2006-08-03 / #261 News Flash: Big houses also cost more to cool (5 comments) / news-flash;non-computer
2006-08-04 / #262 The implementation of anonymous methods in C# and its consequences (part 3) (38 comments) / code
2006-08-07 / #263 The day Tully’s ran out of coffee (17 comments) / non-computer
2006-08-07 / #264 Even more about C# anonymous methods, from the source (81 comments) / other
2006-08-08 / #265 Candidate for most obscure keyboard shortcut: Shift+F8 (28 comments) / other
2006-08-08 / #266 A look inside WinInet’s index.dat file and changes in IE7 and Vista (5 comments) / non-computer;tipssupport
2006-08-09 / #267 How were window hooks implemented in 16-bit Windows? (9 comments) / history
2006-08-10 / #268 One way people abused hooks in 16-bit Windows (11 comments) / history
2006-08-10 / #269 Space scientist James Van Allen (1914–2006) (16 comments) / non-computer
2006-08-11 / #270 Why does SetWindowsHookEx take an HINSTANCE parameter? (10 comments) / history
2006-08-11 / #271 Exploiting the inattentive, episode 2: The unlabeled line (42 comments) / exploiting-the-inattentive;non-computer
2006-08-14 / #272 Why can’t I see all of the 4GB of RAM in my machine? (34 comments) / other
2006-08-14 / #273 The cultural anthropology of getting on a bicycle (53 comments) / non-computer
2006-08-15 / #274 Do not change program semantics in the debug build (36 comments) / code
2006-08-15 / #275 Cool web site: Bill Monk (9 comments) / non-computer
2006-08-16 / #276 Accessibility is not just for people with disabilities (21 comments) / code
2006-08-16 / #277 Computer monitors float, screen upwards (7 comments) / non-computer
2006-08-17 / #278 Don’t trust the return address, no really (18 comments) / code
2006-08-17 / #279 A modest proposal: On allowing mobile phones on airplanes (48 comments) / a-modest-proposal;non-computer
2006-08-18 / #280 Applications and DLLs don’t have privileges; users do (75 comments) / other
2006-08-18 / #281 We encourage everyone to pack gel-filled bras in their checked baggage (23 comments) / non-computer
2006-08-21 / #282 Sucking the exception pointers out of a stack trace (20 comments) / code
2006-08-21 / #283 [6] days since last monorail breakdown (11 comments) / non-computer
2006-08-22 / #284 Who says there’s only one? There can be more than one logon session (60 comments) / code
2006-08-22 / #285 Raymond’s excursions into East Asian pop music, episode 2: China Dolls (中國娃娃) (16 comments) / excursions-into-east-asian-pop-music;non-computer
2006-08-23 / #286 Environment variable expansion occurs when the command is read (27 comments) / code
2006-08-24 / #287 Those folks from Birmingham talk funny, and I mean that in a scientific way (18 comments) / non-computer
2006-08-24 / #288 Moving a file does not recalculate inherited permissions (39 comments) / other
2006-08-25 / #289 We know it’s insecure, but we want to do it anyway (25 comments) / other
2006-08-28 / #290 Try to avoid having BOOL function parameters (66 comments) / code
2006-08-28 / #291 How did «Start Me Up» become the theme for the Windows 95 launch? (11 comments) / history
2006-08-29 / #292 As I recall, Germany did not ratify the United States Constitution (37 comments) / other
2006-08-30 / #293 If you work at a company, it’s not your computer any more (24 comments) / other
2006-08-30 / #294 How do you wash soap? (30 comments) / non-computer
2006-08-31 / #295 The dialog class goes under the sneaky name WC_DIALOG (15 comments) / code
2006-08-31 / #296 The wisdom of seventh graders: Contributions to class discussion (5 comments) / non-computer;the-wisdom-of-seventh-graders
2006-09-01 / #297 On the unanswerability of the maximum number of user interface objects a program can create (23 comments) / code
2006-09-01 / #298 You’re white. Do you want to be in my friend’s soap opera? (12 comments) / non-computer
2006-09-04 / #299 I think I’ve just broken the internet (15 comments) / other
2006-09-05 / #300 Just change that 15 to a 1 (51 comments) / other
2006-09-06 / #301 You already know what your target architecture is (or at least you should) (30 comments) / code
2006-09-06 / #302 In case of fire, go to lunch (22 comments) / non-computer
2006-09-07 / #303 You have to free memory with the same allocator that allocated it: Logical consequences (31 comments) / code
2006-09-07 / #304 What you don’t apologize for is as important as what you do (25 comments) / non-computer
2006-09-08 / #305 Const pointers: Logical consequences (19 comments) / code
2006-09-08 / #306 Turns out you can’t learn Mandarin Chinese by watching television (16 comments) / non-computer
2006-09-11 / #307 If you ask a Yes/No question, make sure the user also knows what happens when they say No (63 comments) / other
2006-09-12 / #308 Grammar review: Verb+particle versus compound noun (32 comments) / non-computer
2006-09-13 / #309 Philosophical discussion on when to mark a method as virtual (30 comments) / code
2006-09-13 / #310 Raymond’s excursions into East Asian pop music, episode 3: Morning Musume (モーニング娘) (26 comments) / excursions-into-east-asian-pop-music;non-computer
2006-09-14 / #311 The danger of using boldface for Chinese characters (34 comments) / code
2006-09-14 / #312 The lost follow-ups: Products and people that appear to have vanished without a trace (29 comments) / other
2006-09-15 / #313 Allocating and freeing memory across module boundaries (55 comments) / code
2006-09-15 / #314 Disaster averted, thanks to international time zones (14 comments) / non-computer
2006-09-18 / #315 Sometimes my psychic powers are weak (11 comments) / other
2006-09-18 / #316 Project Update 2: Voyage to Our Hollow Earth (12 comments) / non-computer
2006-09-19 / #317 Why doesn’t the Shutdown dialog use Alt to get alternate behavior? (59 comments) / other
2006-09-19 / #318 The tale of the radioactive Boy Scout (7 comments) / non-computer
2006-09-20 / #319 Don’t forget to unregister your window classes when your DLL shuts down dynamically (11 comments) / code
2006-09-20 / #320 It is as if our leaders have not been educated in orbital space colonization (7 comments) / non-computer
2006-09-21 / #321 If you don’t trust your administrators, you’ve already lost (34 comments) / other
2006-09-21 / #322 It’s that season again: The Microsoft Company Meeting (16 comments) / other
2006-09-22 / #323 Things you already know: How do I wait until my dialog box is displayed before doing something? (53 comments) / code
2006-09-22 / #324 Hand gestures for numbers (21 comments) / non-computer
2006-09-25 / #325 Waiting until the dialog box is displayed before doing something (30 comments) / code
2006-09-25 / #326 Filming for The Battle in Seattle has begun (21 comments) / non-computer
2006-09-26 / #327 Isn’t DDE all asynchronous anyway? (12 comments) / code
2006-09-26 / #328 News flash: The heart produces urine (17 comments) / news-flash;non-computer
2006-09-27 / #329 IsBadXxxPtr should really be called CrashProgramRandomly (81 comments) / code
2006-09-28 / #330 Saturday is Museum Day, courtesy of Smithsonian Magazine (3 comments) / non-computer
2006-09-28 / #331 When you crash, make sure you crash in the right place (20 comments) / code
2006-09-29 / #332 Quotation marks around spaces aren’t necessary in the PATH environment variable (28 comments) / tipssupport
2006-09-29 / #333 Eating Belgian food at Brouwer’s Cafe in Fremont (39 comments) / non-computer
2006-10-02 / #334 Does a dual-core processor count as one or two for licensing purposes? (24 comments) / other
2006-10-02 / #335 Any similarity to actual German or Swedish words is purely coincidental (25 comments) / non-computer
2006-10-03 / #336 There’s a reason why envelopes have backs (34 comments) / other
2006-10-03 / #337 If only he’d known to offer to back up their PC instead (2 comments) / non-computer
2006-10-04 / #338 You can invent new adjectives too (27 comments) / microspeak;non-computer
2006-10-05 / #339 Why does Windows hide keyboard accelerators and focus rectangles by default? (92 comments) / history
2006-10-06 / #340 A very brief return to part 6 of Loading the Chinese/English dictionary (14 comments) / code
2006-10-09 / #341 How Raymond learns languages (and why it’s not working) (54 comments) / non-computer
2006-10-10 / #342 When something is available for the user, which user are we talking about? (22 comments) / code
2006-10-11 / #343 Proto-Microspeak: The goat rodeo (14 comments) / microspeak;other
2006-10-12 / #344 How do I prevent multi-line edit controls from eating the Enter key? (9 comments) / code
2006-10-12 / #345 Shifting fortunes at Airbus over the A380 (20 comments) / non-computer
2006-10-13 / #346 Why do I see the same fake names in Microsoft samples over and over? (27 comments) / other
2006-10-16 / #347 640 x 480 is still not dead (52 comments) / other
2006-10-16 / #348 Raymond’s excursions into East Asian pop music, episode 4: Yuki (15 comments) / excursions-into-east-asian-pop-music;non-computer
2006-10-17 / #349 What does the letter «T» in LPTSTR stand for? (35 comments) / code
2006-10-17 / #350 Answering phones at KUOW for their Fall 2006 pledge drive (10 comments) / non-computer
2006-10-18 / #351 Don’t require your users to have a degree in philosophy (61 comments) / other
2006-10-18 / #352 Dead Sea Scrolls lectures available online (or in person if you can get there) (3 comments) / non-computer
2006-10-19 / #353 No good deed goes unpunished, part 2 (33 comments) / code;email;no-good-deed-goes-unpunished
2006-10-20 / #354 How do I shut down a workstation via Remote Desktop? (35 comments) / tipssupport
2006-10-20 / #355 Wired Magazine’s report on that bizarro Ferarri crash (11 comments) / non-computer
2006-10-23 / #356 Psychic debugging: Why doesn’t my program show up when I call ShellExecute? (22 comments) / code
2006-10-23 / #357 Quick and dirty Hallowe’en costume for physics geeks (10 comments) / non-computer
2006-10-24 / #358 More tales of dead computers: My home desktop (75 comments) / dead-computers;other
2006-10-24 / #359 Invalidating the null window redux (51 comments) / history
2006-10-25 / #360 Offline mode silently prevents you from streaming media content (14 comments) / tipssupport
2006-10-25 / #361 Non-resolution of the dead home desktop problem (90 comments) / dead-computers;other
2006-10-26 / #362 For a brief shining moment, DirectX was more popular than another word that ends in x (29 comments) / history
2006-10-26 / #363 Let the dead computer scavenging commence! (28 comments) / dead-computers;other
2006-10-27 / #364 The great Polish Sea -or- We forgot Poland! (56 comments) / history;time
2006-10-27 / #365 Now it looks like I speak far more languages than I actually do (18 comments) / other
2006-10-30 / #366 Why can’t I get my program to use more than 50% of the CPU? (22 comments) / tipssupport
2006-10-30 / #367 Руками не трогать! (31 comments) / non-computer
2006-10-31 / #368 Separated at birth: The Windows XP SP2 launch team (11 comments) / non-computer
2006-10-31 / #369 So that’s what daddy does at work (16 comments) / non-computer
2006-11-01 / #370 I bet somebody got a really nice bonus for that feature (132 comments) / other
2006-11-02 / #371 Make sure you disable the correct window for modal UI (10 comments) / code
2006-11-03 / #372 How do I convert an HRESULT to a Win32 error code? (32 comments) / code
2006-11-06 / #373 On the importance of backwards compatibility for large corporations (62 comments) / other
2006-11-06 / #374 Tonya and Nancy: The Opera (4 comments) / non-computer
2006-11-07 / #375 There’s going to be an awful lot more overclocking out there (39 comments) / other
2006-11-07 / #376 Aspiring to the wrong office on election day (28 comments) / non-computer
2006-11-08 / #377 How do I test that return value of ShellExecute against 32? (39 comments) / code
2006-11-09 / #378 Why can’t you use the Tab key to select items from the auto-complete drop-down? (17 comments) / other
2006-11-09 / #379 A modest proposal: Solving the problem of steroids in baseball (25 comments) / a-modest-proposal;non-computer
2006-11-10 / #380 Converting an HRESULT to a Win32 error code: Diagram and answer to exercise (60 comments) / code
2006-11-13 / #381 What do bitwise operations mean for colors? (9 comments) / code
2006-11-13 / #382 New dessert lounge: Coco la ti da (8 comments) / non-computer
2006-11-14 / #383 Blitting between color and monochrome DCs (7 comments) / code
2006-11-14 / #384 Keeping classic hardware alive through emulation (25 comments) / history
2006-11-15 / #385 Manipulating the DIB color table for fun and profit (17 comments) / code
2006-11-16 / #386 Using DIB sections to perform bulk color mapping (6 comments) / code
2006-11-17 / #387 The window manager moves the mouse; applications choose the cursor (34 comments) / tipssupport
2006-11-20 / #388 It takes only one program to foul an upgrade (32 comments) / code
2006-11-20 / #389 Paradoxically, you should remove the smart card when logging on with a smart card (23 comments) / tipssupport
2006-11-21 / #390 What is the process by which the cursor gets set? (10 comments) / code
2006-11-22 / #391 The quiet dream of placebo settings (35 comments) / history
2006-11-23 / #392 Placebo setting: QoS bandwidth reservation (27 comments) / tipssupport
2006-11-24 / #393 Sometimes you need to recalibrate your progress reports (11 comments) / history
2006-11-27 / #394 It’s not surprising at all that people search for Yahoo (99 comments) / other
2006-11-28 / #395 What went wrong in Windows 95 if you use a system color brush as your background brush? (24 comments) / code;history
2006-11-29 / #396 A fork is an easy-to-find nonstandard USB device (43 comments) / other
2006-11-30 / #397 It took two of us to keep up with one Bob (32 comments) / other
2006-12-01 / #398 Nailing down what constitutes valuable consideration (59 comments) / other
2006-12-04 / #399 The name WinMain is just a convention (37 comments) / code
2006-12-04 / #400 The wisdom of seventh graders: What to do with a time machine (part 1) (96 comments) / non-computer;the-wisdom-of-seventh-graders
2006-12-05 / #401 How do I find all files with at least one space in their name? (44 comments) / tipssupport
2006-12-05 / #402 The wisdom of seventh graders: What to do with a time machine (part 2) (38 comments) / non-computer;the-wisdom-of-seventh-graders
2006-12-06 / #403 If you let people read a file, then they can copy it (67 comments) / other
2006-12-06 / #404 The wisdom of seventh graders: What to do with a time machine (part 3) (23 comments) / non-computer;the-wisdom-of-seventh-graders
2006-12-07 / #405 Okay, I changed my mind, I wrote a book after all (97 comments) / other
2006-12-08 / #406 Do not overload the E_NOINTERFACE error (26 comments) / code
2006-12-08 / #407 Throwing things into a blender and seeing what happens (10 comments) / non-computer
2006-12-11 / #408 What does an invalid handle exception in LeaveCriticalSection mean? (27 comments) / other
2006-12-12 / #409 A high waiter count on a free critical section may indicate a lock convoy (16 comments) / code
2006-12-12 / #410 Jeanne Martinet teaches you how to survive a party where you don’t know anybody (10 comments) / non-computer
2006-12-13 / #411 Displaying infotips for folded and unfolded listview items (13 comments) / code
2006-12-13 / #412 Maybe if it had characters and stuff and different levels, it would be OK (19 comments) / non-computer
2006-12-14 / #413 Computing listview infotips in the background (21 comments) / code
2006-12-16 / #414 Why do user interface actions tend to occur on the release, not on the press? (39 comments) / code
2006-12-18 / #415 Do not write in-process shell extensions in managed code (42 comments) / code
2006-12-18 / #416 Some call it context, others call it reference data, but whatever it is, it’s yours (24 comments) / code
2006-12-19 / #417 I bet somebody is looking to get a really nice bonus for that feature: Attention (73 comments) / other
2006-12-19 / #418 Pacific Northwest storm recovery continues (16 comments) / non-computer
2006-12-20 / #419 The evolution of version resources – 16-bit version resources (14 comments) / history
2006-12-21 / #420 The evolution of version resources – 32-bit version resources (6 comments) / history
2006-12-21 / #421 The unanswered Explainer questions (12 comments) / non-computer
2006-12-22 / #422 The evolution of version resources – corrupted 32-bit version resources (11 comments) / history
2006-12-25 / #423 The Old New Thing book will also be available electronically (13 comments) / other
2006-12-26 / #424 The first parameter to VerQueryValue really must be a buffer you obtained from GetFileVersionInfo (3 comments) / code
2006-12-26 / #425 I can’t believe they actually can’t think of a name for the recent storm (10 comments) / non-computer
2006-12-27 / #426 The social skills of a thermonuclear device, part 3 (34 comments) / other;the-social-skills-of-a-thermonuclear-device
2006-12-28 / #427 Linda Hunt’s advice for Oscar-winners (3 comments) / non-computer
2006-12-28 / #428 Stop the madness: Subdirectories of My Documents (118 comments) / other
2006-12-29 / #429 2006 end-of-year link clearance (24 comments) / non-computer

2007


Date Title
2007-01-01 / #0 The family technical support department: Everything is Outlook (63 comments) / other
2007-01-02 / #1 Why can’t I GetProcAddress for CreateWindow? (18 comments) / code
2007-01-03 / #2 Wait, but why can I GetProcAddress for IsDialogMessage? (21 comments) / history
2007-01-04 / #3 How a bullet turns into a beep (20 comments) / other
2007-01-05 / #4 What(‘s) a character! (53 comments) / code
2007-01-08 / #5 Why do property sheets sometimes take a first-chance exception? (19 comments) / history
2007-01-09 / #6 What triggers the recall of an offline file? (4 comments) / code
2007-01-09 / #7 Article of clothing or tasty dessert? (21 comments) / non-computer
2007-01-10 / #8 How do I load an entire file into a rich text control? (5 comments) / code
2007-01-10 / #9 Ken Levine teaches us about television script writing (2 comments) / non-computer
2007-01-11 / #10 How do I put more than 32,000 characters into a rich text control? (10 comments) / code
2007-01-11 / #11 The history of the RichEdit control from Murray Sargent (0 comments) / history
2007-01-12 / #12 How do I print the contents of a rich text control? (5 comments) / code
2007-01-15 / #13 Does Microsoft internally use MFC for writing Windows apps? (38 comments) / other
2007-01-15 / #14 The wisdom of sev^H^H^Heighth graders: It was not just white people who were helped by Martin Luther King (26 comments) / non-computer;the-wisdom-of-seventh-graders
2007-01-16 / #15 EnumChildWindows already enumerates recursively (15 comments) / code
2007-01-16 / #16 One Armstrong = 13.5 mph (42 comments) / non-computer
2007-01-17 / #17 Should all windows appear in the taskbar? (63 comments) / other
2007-01-17 / #18 Iced-over roads + people who can’t drive = very expensive (and dangerous) game of billiards (64 comments) / non-computer
2007-01-18 / #19 Email tip: Choose a subject line that is meaningful to the recipient, not to the sender (40 comments) / email;non-computer
2007-01-19 / #20 What does the fCreate parameter to SHCreateStreamOnFileEx mean? (9 comments) / code
2007-01-19 / #21 2006 storm aftermath: A look back (34 comments) / non-computer
2007-01-22 / #22 The cost of continuously-visible affordances with dynamic states (18 comments) / code
2007-01-23 / #23 Non-psychic debugging: If you can’t find something, make sure you’re looking in the right place (21 comments) / code
2007-01-23 / #24 Unexpected consequences of writing a book: Public appearances (31 comments) / non-computer
2007-01-24 / #25 The undeletable Outlook folder, episode 2 (11 comments) / tipssupport
2007-01-24 / #26 Walking through packed snow and ice with a little more confidence (17 comments) / non-computer
2007-01-25 / #27 Where did the Windows Vista wallpaper images come from? (49 comments) / history
2007-01-25 / #28 Not my finest hour: Where are my keys? (44 comments) / non-computer
2007-01-26 / #29 The /MAXMEM switch doesn’t set the maximum amount of memory Windows will use (12 comments) / other
2007-01-26 / #30 The real underground (and subway) (10 comments) / non-computer
2007-01-29 / #31 If vertical strips are better, why do toolbars use horizontal strips? (12 comments) / code
2007-01-30 / #32 Unusual uses for a ball-point pen: Breaking into the debugger (27 comments) / history
2007-01-31 / #33 Crackpots in computer security: A complete solution to computer security (33 comments) / other
2007-01-31 / #34 If you ask an author to sign a book, you have to tell him/her what to write (17 comments) / non-computer
2007-02-01 / #35 The network interoperability compatibility problem, second follow-up (60 comments) / other
2007-02-02 / #36 The ironic thing about fixing a bug (42 comments) / other
2007-02-02 / #37 Super Bowl Sunday: The day the entire country stops doing anything (23 comments) / non-computer
2007-02-02 / #38 The publicity machine doesn’t stop: TechNet podcast interview (14 comments) / non-computer
2007-02-05 / #39 Why did Explorer say «The target you specified is on the desktop»? (34 comments) / history
2007-02-05 / #40 Public service announcement for United States taxpayers: In tax year 2006, you can claim a $30 refund if you owned a telephone (75 comments) / non-computer
2007-02-06 / #41 Bonus material for The Old New Thing (the book) is now available for download (28 comments) / non-computer
2007-02-06 / #42 Why can’t I create my dialog box? Rookie mistake #1 (21 comments) / code
2007-02-07 / #43 Why can’t I create my dialog box? Rookie mistake #2 (8 comments) / code
2007-02-07 / #44 Maintaining standards of Japanese food abroad (47 comments) / non-computer
2007-02-08 / #45 Why does my property sheet blink and the immediately disappear? (15 comments) / code
2007-02-08 / #46 Who is most likely to be awarded a MacArthur Fellowship? (1 comment) / non-computer
2007-02-09 / #47 Do I need rush processing? Beats me! (23 comments) / other
2007-02-09 / #48 Long Zheng interviews Hamad Darwish about those Windows Vista wallpapers (2 comments) / other
2007-02-12 / #49 Why doesn’t the window manager unregister window classes when the owning DLL unloads? (15 comments) / history
2007-02-12 / #50 Performance evaluation euphemisms invading everyday speech (ironically) (16 comments) / non-computer
2007-02-13 / #51 Email tip: Don’t add people to a thread without saying why (27 comments) / email;non-computer
2007-02-13 / #52 Email tip: Barry Leiba expounds on subject lines (4 comments) / email;non-computer
2007-02-14 / #53 Technology hypochondriacs (21 comments) / other
2007-02-15 / #54 Why can’t you set the command prompt’s current directory to a UNC? (53 comments) / history
2007-02-15 / #55 There’s not much luggage space, unless you dump the snow (7 comments) / non-computer
2007-02-16 / #56 Why don’t I use any class libraries in my sample code? (28 comments) / code
2007-02-16 / #57 News flash: Professional athletes do it for the money (33 comments) / news-flash;non-computer
2007-02-19 / #58 What does LockWindowUpdate do? (28 comments) / code
2007-02-20 / #59 How is LockWindowUpdate meant to be used? (16 comments) / code
2007-02-20 / #60 Crush Finder experiment gets off the ground at Princeton (25 comments) / non-computer
2007-02-21 / #61 With what operations is LockWindowUpdate meant to be used? (19 comments) / code
2007-02-21 / #62 Mandarin Chinese gaining popularity in public schools (31 comments) / non-computer
2007-02-22 / #63 With what operations is LockWindowUpdate not meant to be used? (28 comments) / code
2007-02-22 / #64 How to get your laptop to resume from standby in under two seconds (49 comments) / tipssupport
2007-02-23 / #65 Final remarks on LockWindowUpdate (38 comments) / code
2007-02-23 / #66 The 2007/2008 Seattle Symphony subscription season at a glance (9 comments) / non-computer
2007-02-23 / #67 I wouldn’t be surprised if O. J. Simpson wrote a new book (9 comments) / non-computer
2007-02-26 / #68 Please feel free to stop using DDE (62 comments) / code
2007-02-26 / #69 The politician’s fallacy and the politician’s apology (35 comments) / non-computer
2007-02-27 / #70 What does an NMI error mean? (The infamous «Hardware Malfunction») (28 comments) / tipssupport
2007-02-27 / #71 How hard could it be? Must provide own garage. (22 comments) / non-computer
2007-02-28 / #72 Another retired computer: The Alpha Rawhide (22 comments) / dead-computers;other
2007-02-28 / #73 More Vista wallpapers from Hamad Darwish (5 comments) / tipssupport
2007-03-01 / #74 If you have to ask, you’re probably doing something wrong (79 comments) / other
2007-03-01 / #75 West Bank Story, the movie that sells itself in five seconds (5 comments) / non-computer
2007-03-02 / #76 The .Default user is not the default user (30 comments) / other
2007-03-02 / #77 Public service announcement for Seattle area taxpayers: Some transit taxes can be itemized and deducted (11 comments) / non-computer
2007-03-05 / #78 Hiding files is not the same as protecting them (55 comments) / other
2007-03-05 / #79 It’s official, it’s the Hannukah Eve Storm of 2006 (2 comments) / non-computer
2007-03-06 / #80 Things I’ve written that have amused other people, Episode 3 (9 comments) / non-computer;things-ive-written-that-have-amused-other-people
2007-03-06 / #81 What was the first parameter to CoInitialize used for? (2 comments) / history
2007-03-07 / #82 Microspeak: Sit in it! (14 comments) / microspeak;other
2007-03-07 / #83 The wisdom of seventh graders: John Locke and influential persons (17 comments) / non-computer;the-wisdom-of-seventh-graders
2007-03-08 / #84 The GETDISPINFO notifications tell you what information they want (1 comment) / code
2007-03-08 / #85 Just what the world has been wishing for: Surströmming ice cream (17 comments) / non-computer
2007-03-09 / #86 Don’t be so fast to discount those oddball time zones (38 comments) / other;time
2007-03-09 / #87 This American Life: What I Learned From Television, Seattle edition (4 comments) / non-computer
2007-03-12 / #88 Raymond’s highly scientific predictions for the 2007 NCAA men’s basketball tournament (17 comments) / highly-scientific;non-computer
2007-03-12 / #89 What is a SM_SLOWMACHINE? (26 comments) / history
2007-03-13 / #90 The only thing you can do with display names is display them (23 comments) / code
2007-03-13 / #91 Out there gathering map data, one intersection at a time (20 comments) / non-computer
2007-03-14 / #92 Don’t require your users to have a degree in philosophy, episode 2 (69 comments) / other
2007-03-14 / #93 News flash: Snacks at the theater concession stand are not good for you (4 comments) / news-flash;non-computer
2007-03-15 / #94 Email tip: Don’t forget to ask your question (45 comments) / non-computer
2007-03-16 / #95 The format of accelerator table resources (9 comments) / code
2007-03-16 / #96 Verizon backs down on made-up fees and then adds them anyway (31 comments) / non-computer
2007-03-19 / #97 How do the menu functions find items? (7 comments) / code
2007-03-20 / #98 I bet somebody is looking to get a really nice bonus for that feature: Uninstall (59 comments) / other
2007-03-20 / #99 The early stages of Joshua Roman groupie-dom (6 comments) / non-computer
2007-03-21 / #100 You don’t know what you do until you know what you don’t do (45 comments) / other
2007-03-22 / #101 Excursions in composition: Sequential stream concatenation (18 comments) / code
2007-03-23 / #102 Excursions in composition: Adding rewind support to a sequential stream (15 comments) / code
2007-03-23 / #103 The wisdom of seventh graders and you: Design a course (70 comments) / non-computer;the-wisdom-of-seventh-graders
2007-03-26 / #104 Passing by address versus passing by reference, a puzzle (29 comments) / code
2007-03-26 / #105 The publicity machine continues: A chat with Scott Hanselman and Hanselminutes (11 comments) / non-computer
2007-03-27 / #106 Microspeak: Calibration (38 comments) / microspeak;other
2007-03-28 / #107 Why are there both TBSTYLE_EX_VERTICAL and CCS_VERT? (13 comments) / other
2007-03-28 / #108 The social skills of a thermonuclear device, part 4 (27 comments) / other;the-social-skills-of-a-thermonuclear-device
2007-03-29 / #109 The buffer size parameter to GetFileVersionInfo is the size of your buffer, no really (30 comments) / code
2007-03-29 / #110 How to talk like Marketing: The awareness space (13 comments) / non-computer
2007-03-30 / #111 On the effect of dandruff on climate (4 comments) / non-computer
2007-03-30 / #112 What do the colors in the elevation dialog mean? (73 comments) / tipssupport
2007-04-02 / #113 Why do operating system files still adhere to the old 8.3 naming convention? (44 comments) / history
2007-04-02 / #114 Groundwork being laid for Vladimir Putin to run for his fourth term (out of a maximum of two) (32 comments) / non-computer
2007-04-03 / #115 Why does my thread pool use only one thread? (32 comments) / code
2007-04-04 / #116 His lips are moving: In order to serve you better (44 comments) / non-computer
2007-04-04 / #117 Your chance to meet Raymond if you are near Palo Alto on the 23rd (28 comments) / non-computer
2007-04-05 / #118 Why can’t I display a tooltip for a disabled window? (16 comments) / code
2007-04-05 / #119 On the enduring appeal of Walker, Texas Ranger (11 comments) / non-computer
2007-04-06 / #120 Code is read much more often than it is written, so plan accordingly (53 comments) / other
2007-04-06 / #121 When very young children try too hard to act nonchalant (5 comments) / non-computer
2007-04-09 / #122 Why doesn’t the taskbar return to its original size when I return my settings to their original values? (36 comments) / code
2007-04-10 / #123 What is the default version of a header file? (34 comments) / code
2007-04-10 / #124 What’s the row of numbers on the copyright page of books? (21 comments) / non-computer
2007-04-10 / #125 Enjoy our Bluetooth devices with a glass of beer or wine (Bluetooth device optional) (27 comments) / non-computer
2007-04-11 / #126 What’s the difference between WINVER, _WIN32_WINNT, _WIN32_WINDOWS, and _WIN32_IE? (33 comments) / code
2007-04-11 / #127 Oh no, I have an obstructed view of Joshua Roman! (9 comments) / non-computer
2007-04-12 / #128 What is the default version of the shell common controls? (14 comments) / code
2007-04-13 / #129 Email tip: People didn’t answer your first email for a reason (60 comments) / email;non-computer
2007-04-16 / #130 Changes to power management in Windows Vista (70 comments) / other
2007-04-16 / #131 See the Seattle Symphony on television in high definition (2 comments) / non-computer
2007-04-17 / #132 The Notepad file encoding problem, redux (65 comments) / other
2007-04-17 / #133 No farting please, we’re Americans (20 comments) / non-computer
2007-04-18 / #134 Psychic debugging: Why you can’t control page navigation when using PSP_DLGINDIRECT (6 comments) / code
2007-04-18 / #135 Trivia: Pea, marble, dime, nickel, quarter, half dollar, walnut… (16 comments) / non-computer
2007-04-19 / #136 Perhaps the movies made too literal a translation (29 comments) / non-computer
2007-04-20 / #137 The format of bitmap resources (6 comments) / code
2007-04-20 / #138 The wisdom of seventh graders: Designing an elective course (43 comments) / non-computer;the-wisdom-of-seventh-graders
2007-04-23 / #139 Psychic debugging: When reading unfamiliar code, assume it’s mostly correct (14 comments) / other
2007-04-23 / #140 Given a choice between two options, you influence the result by adding a third, inferior, alternative (33 comments) / non-computer
2007-04-24 / #141 What is the underlying object behind a COM interface pointer? (9 comments) / other
2007-04-24 / #142 How much time does it take for a pedestrian to cross the street? (28 comments) / non-computer
2007-04-25 / #143 Identifying an object whose underlying DLL has been unloaded (10 comments) / other
2007-04-25 / #144 There’s something about Christopher Walken (12 comments) / non-computer
2007-04-26 / #145 Using the «gu» debugger command to find the infinite loop (15 comments) / other
2007-04-26 / #146 The intermediate value theory helps your table but not necessarily your beer (28 comments) / non-computer
2007-04-27 / #147 Stupid debugger tricks: Calling functions and methods (14 comments) / code
2007-04-27 / #148 News Flash: Not being able to watch Jay Leno is not an emergency (10 comments) / news-flash;non-computer
2007-04-30 / #149 The default verb is not necessarily «open» (19 comments) / code
2007-04-30 / #150 Everyone should have a house pianist (18 comments) / non-computer
2007-05-01 / #151 Microspeak: Operationalize (27 comments) / microspeak;other
2007-05-01 / #152 Two web sites that read the fine print (22 comments) / non-computer
2007-05-02 / #153 The old-fashioned theory on how processes exit (27 comments) / code
2007-05-02 / #154 Male perceptions of body image in Taiwan (9 comments) / non-computer
2007-05-03 / #155 Quick overview of how processes exit on Windows XP (37 comments) / other
2007-05-03 / #156 Unexpected consequences of self-checkout (45 comments) / non-computer
2007-05-04 / #157 How my lack of understanding of how processes exit on Windows XP forced a security patch to be recalled (78 comments) / code
2007-05-04 / #158 But they’re not (puts on sunglasses) going to get away with murder (12 comments) / non-computer
2007-05-07 / #159 Drag and drop is a general purpose transfer model, not exclusive to Explorer directories (15 comments) / code
2007-05-07 / #160 Metromint: What were they thinking? (30 comments) / non-computer
2007-05-08 / #161 The administrator is an idiot (104 comments) / other
2007-05-08 / #162 Session 0 isolation: Where backward compatibility loses to security (39 comments) / code
2007-05-09 / #163 Don’t be helpless: At least look at the function you’re using (61 comments) / other
2007-05-09 / #164 Revelations of My Friends: An ancestor of today’s Mad Libs (1 comment) / non-computer
2007-05-10 / #165 Email tip: Don’t ask the same question multiple times in different groups (28 comments) / email;non-computer
2007-05-11 / #166 Performing an operation in each subdirectory of a directory tree from batch (46 comments) / tipssupport
2007-05-11 / #167 Evergreen Philharmonic Baroque Festival 2007 (7 comments) / non-computer
2007-05-14 / #168 Service required * Brewer error * (26 comments) / non-computer
2007-05-15 / #169 Command lines need to be quoted; paths don’t (27 comments) / other
2007-05-15 / #170 Get Sea-Tac flight information (including gate and baggage claim) via email (3 comments) / non-computer
2007-05-16 / #171 Why are console windows limited to Lucida Console and raster fonts? (59 comments) / other
2007-05-16 / #172 Please refer to the instructions that don’t exist (30 comments) / non-computer
2007-05-17 / #173 We’re all in this together: No good deed goes unpunished, redux (18 comments) / no-good-deed-goes-unpunished;other
2007-05-17 / #174 Store Wars and the Meatrix (4 comments) / non-computer
2007-05-18 / #175 Getting in on the action while it’s still there (12 comments) / other
2007-05-18 / #176 Don’t drive your pick-up onto the roof of a house, especially if, well, read on (19 comments) / non-computer
2007-05-21 / #177 Don’t be helpless: I don’t know anything about MFC modal loops, but unlike some people, I’m not afraid to find out (24 comments) / code
2007-05-21 / #178 The unidentified award (39 comments) / non-computer
2007-05-22 / #179 You’re not my manager, so I’m not going to ask how high when you tell me to jump (44 comments) / other
2007-05-22 / #180 Another chapter in Swedish political hypocrisy (2007 edition) (18 comments) / non-computer
2007-05-23 / #181 Suggestion Box 3 (469 comments) / pages
2007-05-23 / #182 Microspeak: The forcing function (12 comments) / microspeak;other
2007-05-23 / #183 Das Leben der Anderen (28 comments) / non-computer
2007-05-24 / #184 We should just get rid of that stupid middle tier (28 comments) / other
2007-05-24 / #185 Being nominated for the Nobel Prize isn’t as big a deal as it sounds (20 comments) / non-computer
2007-05-25 / #186 The parameters to PostQueuedCompletionStatus are not interpreted (6 comments) / code
2007-05-25 / #187 Raymond’s SIFF schedule (2007) (16 comments) / non-computer
2007-05-28 / #188 Cool, they’re using Roman numerals! (26 comments) / other
2007-05-29 / #189 Psychic debugging: Why does FormatMessage say the resource couldn’t be found? (25 comments) / code
2007-05-29 / #190 Let’s talk like people (22 comments) / non-computer
2007-05-30 / #191 The sad predicament of the unempowered manager (38 comments) / other
2007-05-30 / #192 The three things you need to know about tsunamis (9 comments) / non-computer
2007-05-31 / #193 Visual C++ 2005 will generate manifests for you (23 comments) / code
2007-05-31 / #194 You’d think questions about underwear were understood to be off-limits (14 comments) / non-computer
2007-06-01 / #195 Inserting as many layers between the message and reality as possible (14 comments) / non-computer
2007-06-01 / #196 I took the Monorail to the Shadow of the Moon (15 comments) / non-computer
2007-06-04 / #197 Choosing a provocative debug signature (19 comments) / history
2007-06-04 / #198 Death at a Funeral, Cashback, and Tell No One (5 comments) / non-computer
2007-06-05 / #199 Compatibility constraints of the water cooler (33 comments) / non-computer
2007-06-05 / #200 It’s official: The logo for the London 2012 Olympic Games is hideously ugly (55 comments) / non-computer
2007-06-06 / #201 Email tip: Lay off the massive email signatures (50 comments) / email;non-computer
2007-06-06 / #202 How not to prepare for the STP (2007 edition) (14 comments) / non-computer;stp
2007-06-07 / #203 How do I inflate a bicycle tire with a potato? (45 comments) / other
2007-06-07 / #204 The meaning of a red traffic light is open to interpretation (51 comments) / non-computer
2007-06-08 / #205 Why does canonical order for ACEs put deny ACEs ahead of allow ACEs? (31 comments) / tipssupport
2007-06-08 / #206 shopautodotca seocontest online contest tacitly encourages comment spam (29 comments) / non-computer
2007-06-11 / #207 What determines which programs show up on the front page of the Windows XP Start menu? (57 comments) / other
2007-06-11 / #208 The New York City Profit Calculator (15 comments) / non-computer
2007-06-12 / #209 Points are earned by programs, not by shortcuts (63 comments) / other
2007-06-12 / #210 I never thought of it before, but drumming is a metaphor for life! (2 comments) / non-computer
2007-06-13 / #211 The program doesn’t have to be run from the Start menu to earn Start menu points (29 comments) / other
2007-06-13 / #212 SIFF reviews: Falling, 2 Days in Paris, Hula Girls (5 comments) / non-computer
2007-06-14 / #213 If you pin a program, it doesn’t show up in the frequently-used programs list (18 comments) / other
2007-06-14 / #214 The Thing? Mystery of the desert (4 comments) / non-computer
2007-06-15 / #215 What other programs are filtered from the Start menu’s list of frequently-used programs? (22 comments) / other
2007-06-15 / #216 «Super» watch, episode 2 (5 comments) / other
2007-06-18 / #217 Why does a new user get stuff on their Start menu right off the bat? (34 comments) / other
2007-06-18 / #218 Project Update 3: Voyage to Our Hollow Earth (8 comments) / non-computer
2007-06-19 / #219 What is the impact on the Start menu of long-running programs? (33 comments) / other
2007-06-19 / #220 I’m pretty sure he’s going to be the envy of his next school reunion (15 comments) / non-computer
2007-06-20 / #221 More Start menu fine-tuning: Choosing a better representative for a frequently-run program (10 comments) / other
2007-06-20 / #222 In order to serve you better: Frequent flyer miles expiring sooner (33 comments) / non-computer
2007-06-21 / #223 How does the Windows XP Start menu decide that a program is newly-installed? (16 comments) / other
2007-06-21 / #224 What is the international sign for «you left something on the roof of your car»? (41 comments) / non-computer
2007-06-22 / #225 Even advanced users liked the Windows XP Start menu (61 comments) / other
2007-06-22 / #226 Einstein the geographer? A hoax. (6 comments) / non-computer
2007-06-25 / #227 There’s no point improving the implementation of a bad idea (42 comments) / other
2007-06-25 / #228 Why the Fantastic 4 Human Torch ATV is the Worst Movie Tie-In Toy Ever (8 comments) / non-computer
2007-06-26 / #229 Why do DLGC_WANTALLKEYS and DLGC_WANTMESSAGE have the same value? (18 comments) / code
2007-06-26 / #230 What’s all this stuff hanging from that utility pole? (4 comments) / non-computer
2007-06-27 / #231 Those who do not understand the dialog manager are doomed to reimplement it, badly (23 comments) / code
2007-06-27 / #232 Overheard conversation in the cockpit that you might not want to have heard (24 comments) / non-computer
2007-06-28 / #233 If it’s optional, then don’t make it mandatory (31 comments) / non-computer
2007-06-29 / #234 2007 mid-year link clearance (11 comments) / non-computer
2007-06-29 / #235 Don’t forget to pass the current directory along with the command line to your single-instance program (30 comments) / code
2007-07-02 / #236 Image File Execution Options just inserts the debugger in front of the command line (24 comments) / other
2007-07-02 / #237 The conversations backstage at computer Go tournaments (7 comments) / other
2007-07-03 / #238 If the system says that an embedded string could not be converted from Unicode to ANSI, maybe it’s trying to tell you something (17 comments) / code
2007-07-03 / #239 The audacity of selling things that don’t belong to you (8 comments) / non-computer
2007-07-04 / #240 Holidays for fireworks (and generally blowing up stuff) from around the world (74 comments) / non-computer
2007-07-05 / #241 QueryPerformanceCounter is not a source for unique identifiers (29 comments) / code
2007-07-05 / #242 Raymond’s tips on selecting a memorable greeting card (11 comments) / non-computer
2007-07-06 / #243 It rather involved being on the other side of this airtight hatchway: If they can run code, then they can run code (24 comments) / other
2007-07-06 / #244 Redmond Derby Days 2007 this weekend (5 comments) / non-computer
2007-07-09 / #245 It’s not enough to say that something is bad; you have to say what would be better (33 comments) / non-computer
2007-07-09 / #246 A modest proposal: Solving the problem of traffic in Seattle caused by sporting events (52 comments) / a-modest-proposal;non-computer
2007-07-10 / #247 The forgotten common controls: The ShowHideMenuCtl function (17 comments) / code
2007-07-10 / #248 That leaves more hot German babes for me! (41 comments) / non-computer
2007-07-11 / #249 How to check for errors from SetFilePointer (25 comments) / code
2007-07-11 / #250 Those who do not understand history are doomed to repeat it… on YouTube (15 comments) / non-computer
2007-07-12 / #251 If you want a modeless dialog, then create a modeless dialog already (29 comments) / code
2007-07-12 / #252 Seattle street signs for sale, used, but for ten bucks you can’t complain (13 comments) / non-computer
2007-07-13 / #253 I was sort of interested at first, but now I’m not so sure any more (26 comments) / other
2007-07-13 / #254 The dangers of conversation fragments: Overheard on the Burke-Gilman trail (18 comments) / non-computer;stp
2007-07-16 / #255 How are window manager handles determined in 16-bit Windows and Windows 95? (18 comments) / history
2007-07-16 / #256 Creative armed robbery defense: Political asylum (9 comments) / non-computer
2007-07-17 / #257 How are window manager handles determined in Windows NT? (29 comments) / history
2007-07-17 / #258 Not my finest hour: Driving a manual transmission (81 comments) / non-computer
2007-07-18 / #259 Why is the limit of window handles per process 10,000? (37 comments) / history
2007-07-18 / #260 If you read any book about traditional weddings in Russian history, there must be a fight (9 comments) / non-computer
2007-07-19 / #261 You don’t optimize for the case where somebody is mis-using your system (29 comments) / other
2007-07-19 / #262 Food products that are offenses against nature: Fast Franks (55 comments) / non-computer
2007-07-20 / #263 Screwing the computer parts back together is the most dangerous step (43 comments) / other
2007-07-20 / #264 Apparently some people consider this a vacation; I consider it insane (11 comments) / non-computer;stp
2007-07-23 / #265 The real cost of compatibility is not in the hacks; the hacks are small potatoes (42 comments) / other
2007-07-23 / #266 Tips for doing the Seattle to Portland (STP) in two days: What I learned in 2007 (13 comments) / non-computer;stp
2007-07-24 / #267 Just because you say something in my presence and I don’t raise an objection doesn’t mean that I agree (51 comments) / email;non-computer
2007-07-24 / #268 Seattle to Portland (STP) 2007 trip report, part 1 of 4: Seattle to Spanaway (10 comments) / non-computer;stp
2007-07-25 / #269 What is Dave’s frame class? (48 comments) / history
2007-07-25 / #270 Seattle to Portland (STP) 2007 trip report, part 2 of 4: Spanaway to Toledo (7 comments) / non-computer;stp
2007-07-26 / #271 Seattle to Portland (STP) 2007 trip report, part 3 of 4: Toledo to St. Helens (14 comments) / non-computer;stp
2007-07-26 / #272 How do the names in the file security dialog map to access control masks? (9 comments) / tipssupport
2007-07-27 / #273 Don’t just grab the foreground window and host UI on it (58 comments) / code
2007-07-27 / #274 Seattle to Portland (STP) 2007 trip report, part 4 of 4: St. Helens to Portland and beyond (15 comments) / non-computer;stp
2007-07-30 / #275 There’s a whole Internet out there, folks, you might want to check it out (22 comments) / other
2007-07-30 / #276 Stuart Stevens takes performance-enhancing drugs in order to see what they do (9 comments) / non-computer
2007-07-31 / #277 What is the lpdwHandle parameter in GetFileVersionInfoSize used for? (17 comments) / history
2007-07-31 / #278 I just discovered that the Scandinavian Gift Shop in Ballard is closing (8 comments) / non-computer
2007-08-01 / #279 Footnotes in Win32 history: VLM (Very Large Memory) support (37 comments) / history
2007-08-01 / #280 Note to locals: Lincoln Center is in New York City, not Bellevue (6 comments) / non-computer
2007-08-02 / #281 What is the difference between the Folder and Directory (and other special) progids? (23 comments) / code
2007-08-02 / #282 But now I’ll never know which politician that alien backs for the next election (13 comments) / non-computer
2007-08-03 / #283 It was not one of Explorer’s design goals to provide a Turing-complete interface for bulk file renaming (41 comments) / other
2007-08-03 / #284 Probably the most expensive Harry Potter viewing I’ll ever attend (17 comments) / non-computer
2007-08-06 / #285 Freudian typo: Enchanced metafiles (10 comments) / other
2007-08-06 / #286 The truth about 4/29 the government doesn’t want you to know (11 comments) / non-computer
2007-08-07 / #287 It rather involved being on the other side of this airtight hatchway: Executable corruption (22 comments) / other
2007-08-07 / #288 One would be hard pressed to find a group of characters more in need of a lawyer (0 comments) / non-computer
2007-08-08 / #289 Email tip: I don’t have my bug numbers memorized (38 comments) / email;other
2007-08-08 / #290 Bowling coming to Bellevue, and given the location, it’s naturally upscale (7 comments) / non-computer
2007-08-09 / #291 How do I get the handle of the primary monitor? (30 comments) / code
2007-08-09 / #292 Martina Navratilova’s final Wimbledon appearance, and this time she means it (5 comments) / non-computer
2007-08-10 / #293 Things I’ve written that have amused other people, Episode 4 (66 comments) / other;things-ive-written-that-have-amused-other-people
2007-08-13 / #294 Why is the blog’s subtitle «Not actually a .NET blog»? (11 comments) / history
2007-08-13 / #295 Math is hard, let’s go shopp—oops (60 comments) / non-computer
2007-08-14 / #296 What is the order of evaluation in C#? (68 comments) / code
2007-08-14 / #297 SIFF 2007 wrap-up: Grandhotel, The Boss of It All, Vacation (7 comments) / non-computer
2007-08-15 / #298 C# static constructors are called on demand, not at startup (55 comments) / code
2007-08-15 / #299 For $15, you can purchase incorrect information, and to prevent people from getting it, you have to renew every three months (27 comments) / non-computer
2007-08-16 / #300 What are these strange cmp [ecx], ecx instructions doing in my C# code? (41 comments) / code
2007-08-16 / #301 The Radioactive Boy Scout is back in the news (25 comments) / non-computer
2007-08-17 / #302 What are these spurious nop instructions doing in my C# code? (31 comments) / code
2007-08-17 / #303 Do you have a Starbucks name? (36 comments) / non-computer
2007-08-20 / #304 Just because you’re a control doesn’t mean that you’re necessarily inside a dialog box (25 comments) / history
2007-08-20 / #305 When you copy a folder, why are the contents merged with the existing contents? (33 comments) / other
2007-08-21 / #306 We’re all in this together: Maintaining common tools (23 comments) / other;the-social-skills-of-a-thermonuclear-device
2007-08-21 / #307 At last you can turn off the USB 2.0 balloon (84 comments) / tipssupport
2007-08-22 / #308 Windows Vista has more extended options on the context menu (63 comments) / tipssupport
2007-08-22 / #309 The Northwest Mahler Orchestra presents Messiaen’s Turangalîla Symphony (13 comments) / non-computer
2007-08-22 / #310 Disclaimers and such (2 comments) / other;pages
2007-08-23 / #311 Nested fly-out menus are a usability nightmare (74 comments) / other
2007-08-23 / #312 Which Windows font is named after a tabloid headline? (23 comments) / history
2007-08-24 / #313 Microspeak: Value proposition (14 comments) / microspeak;other
2007-08-24 / #314 What happens at LL Bean at three in the morning? (11 comments) / non-computer
2007-08-27 / #315 Yes indeed, all Microsoft files are (or should be) digitally signed (52 comments) / other
2007-08-27 / #316 Is this the normal way of comparing toilets? (21 comments) / non-computer
2007-08-28 / #317 With a new Start menu come new keyboard shortcuts (54 comments) / tipssupport
2007-08-28 / #318 Airport travel tip: LAX Terminal 6 (United) (15 comments) / non-computer
2007-08-29 / #319 Kernel handles are not reference-counted (16 comments) / code
2007-08-29 / #320 Follow-up: Mysterious Dietrich identified from that bizarre Ferarri crash (7 comments) / non-computer
2007-08-30 / #321 Microspeak: FMLA (78 comments) / microspeak;other
2007-08-30 / #322 Somebody actually took the time to translate my book into Japanese, it appears (29 comments) / other
2007-08-31 / #323 The Internet Explorer pop-up blocker follows guidelines, not rules (52 comments) / other
2007-08-31 / #324 The Great Muffin Heist of ’07 (15 comments) / non-computer
2007-09-03 / #325 Knock knock. Who’s there? Not you any more. (16 comments) / history
2007-09-03 / #326 Belated follow-up: Mike Goodspaceguy Nelson running for public office, again (3 comments) / non-computer
2007-09-04 / #327 Does creating a thread from DllMain deadlock or doesn’t it? (25 comments) / code
2007-09-04 / #328 Volunteers help save fruit from home fruit trees from going to waste (8 comments) / non-computer
2007-09-05 / #329 Whenever there is a coordination problem, somebody says, «Hey, let’s create a process!» (36 comments) / non-computer
2007-09-05 / #330 I mean, come on, these are laptops (2 comments) / non-computer
2007-09-06 / #331 If your theory is «build it and they will come», you have to make sure there is a «they» (14 comments) / non-computer
2007-09-06 / #332 It’s that season again: The 2007 Microsoft Company Meeting (4 comments) / other
2007-09-07 / #333 Sometimes it feels like the effort isn’t even appreciated (28 comments) / other
2007-09-07 / #334 Wayback machine: The Fake Job (7 comments) / non-computer
2007-09-10 / #335 If control-specific messages belong to the WM_USER range, why are messages like BM_SETCHECK in the system message range? (9 comments) / code
2007-09-10 / #336 The Minimalist Jukebox Festival (8 comments) / non-computer
2007-09-11 / #337 What’s the difference between EM_UNDO and WM_UNDO? (2 comments) / code
2007-09-11 / #338 The wisdom of seventh graders: A Wrinkle in Time (33 comments) / non-computer;the-wisdom-of-seventh-graders
2007-09-12 / #339 Making some statements and asking for advice isn’t a question (21 comments) / email;non-computer
2007-09-12 / #340 Astrologers struggling with reclassification of Pluto (44 comments) / non-computer
2007-09-13 / #341 Why isn’t QuickEdit on by default in console windows? (46 comments) / history
2007-09-13 / #342 Snatching defeat from the jaws of victory now more popular than vice versa (15 comments) / non-computer
2007-09-14 / #343 The code page on the server is not necessarily the code page on the client (10 comments) / code
2007-09-14 / #344 Another type of misplaced apology: Apologizing for not knowing the penalty (37 comments) / non-computer
2007-09-17 / #345 What do I do with per-user data when I uninstall? (42 comments) / other
2007-09-17 / #346 Nearly everybody has a $500 flashlight (30 comments) / non-computer
2007-09-18 / #347 Why is my delay-rendered format being rendered too soon? (5 comments) / code
2007-09-18 / #348 Japanese street fashion reaches Finland (15 comments) / non-computer
2007-09-19 / #349 What happens if you pass a source length greater than the actual string length? (26 comments) / code
2007-09-19 / #350 Playing the hippie poetry game for four cents per line (5 comments) / non-computer
2007-09-20 / #351 It rather involved being on the other side of this airtight hatchway: Elevation to administrator (38 comments) / code
2007-09-20 / #352 Find the Flowers vs Minesweeper (53 comments) / other
2007-09-21 / #353 What’s the BS_PUSHLIKE button style for? (23 comments) / code
2007-09-21 / #354 The Microsoft Cafeteria Tour (Redmond 2006 Edition) (5 comments) / other
2007-09-24 / #355 How do I put a different wallpaper on each monitor? (76 comments) / tipssupport
2007-09-25 / #356 Microspeak: Going forward (37 comments) / microspeak;other
2007-09-26 / #357 The first day at Microsoft: A fender-bender (30 comments) / non-computer
2007-09-27 / #358 Why did the shortcut template change in Windows Vista? (50 comments) / history
2007-09-27 / #359 2007 Museum Day, courtesy of Smithsonian Magazine (5 comments) / non-computer
2007-09-28 / #360 2007 Q3 link clearance: Microsoft blogger edition (16 comments) / tipssupport
2007-10-01 / #361 Suggestion Box 3, short answers (part 1 of who knows how many) (40 comments) / other
2007-10-02 / #362 Don’t assume the first person to run your program is an administrator (52 comments) / code
2007-10-02 / #363 Where did WiX get its name? (1 comment) / history
2007-10-03 / #364 The most important choice in writing is not what you say, it’s what you don’t say (34 comments) / other
2007-10-03 / #365 Another celebrity knitter: Tracey Ullman (9 comments) / non-computer
2007-10-04 / #366 The perils of translating words blindly without verifying them in context (51 comments) / non-computer
2007-10-05 / #367 The early days of the Microsoft cafeterias (4 comments) / history
2007-10-05 / #368 The dangers of taking a service droid off script (25 comments) / non-computer
2007-10-08 / #369 Which windows appear in the Alt+Tab list? (16 comments) / code
2007-10-09 / #370 Why does ICE16 complain about product names longer than 63 characters? (19 comments) / tipssupport
2007-10-09 / #371 The three tiers of a mixing room of a movie studio (3 comments) / non-computer
2007-10-10 / #372 Microspeak: Actionable (31 comments) / microspeak;non-computer
2007-10-11 / #373 Whose idea was it to make Ctrl+Backspace delete the previous word? (32 comments) / history
2007-10-11 / #374 Unlikely excuses: A faulty microchip (22 comments) / non-computer
2007-10-12 / #375 No good deed goes unpunished: Free code samples (36 comments) / no-good-deed-goes-unpunished;other
2007-10-12 / #376 Not the best way to start out a form letter (17 comments) / non-computer
2007-10-15 / #377 Why aren’t shortcuts as easy as unix links? (66 comments) / code
2007-10-15 / #378 Nicolas Bourbaki, perhaps the biggest inside joke in mathematics (7 comments) / non-computer
2007-10-16 / #379 How do I delay the automatic logon process? (62 comments) / tipssupport
2007-10-17 / #380 The wrong way to check whether the mouse buttons have been swapped (39 comments) / code
2007-10-18 / #381 Win32 user interface work is inherently single-threaded (53 comments) / code
2007-10-19 / #382 Other problems traced to violating COM single-threaded apartment rules in the shell (45 comments) / code
2007-10-22 / #383 The best way to process Unicode input is to make somebody else do it (23 comments) / code
2007-10-23 / #384 Superstition: Why is GetFileAttributes the way old-timers test file existence? (45 comments) / history
2007-10-24 / #385 What’s the difference between LVM_HITTEST and LVM_INSERTMARKHITTEST? (3 comments) / code
2007-10-25 / #386 What’s the deal with the EM_SETHILITE message? (28 comments) / history
2007-10-26 / #387 If you pass enough random numbers, eventually one of them will look valid (12 comments) / code
2007-10-26 / #388 The King County Council race gets even stranger (10 comments) / non-computer
2007-10-29 / #389 Why doesn’t Explorer show recursive directory size as an optional column? (43 comments) / history
2007-10-30 / #390 You can’t change it, but you can hide it and add something that looks like it (43 comments) / tipssupport
2007-10-30 / #391 Email tips from Adam Phillabaum (3 comments) / email;non-computer
2007-10-31 / #392 It rather involved being on the other side of this airtight hatchway: Local execution (68 comments) / other
2007-10-31 / #393 The Acorn Wand, key to a magical puzzle hunt (8 comments) / non-computer
2007-11-01 / #394 Why does GetDiskFreeSpaceEx return the wrong amount of free space? (17 comments) / code
2007-11-01 / #395 Buy an island, or a country, or at least a replica of one (17 comments) / non-computer
2007-11-02 / #396 Staying on top of things with timely updates in separator pages (32 comments) / other;time
2007-11-05 / #397 Why do we even have the DefWindowProc function? (8 comments) / code
2007-11-06 / #398 VirtualLock only locks your memory into the working set (60 comments) / code
2007-11-07 / #399 Proto-Microspeak: Pre-envisioning (29 comments) / microspeak;other
2007-11-09 / #400 You just have to accept that the file system can change (31 comments) / code;things-ive-written-that-have-amused-other-people
2007-11-12 / #401 I don’t know what the Lotus internal clipboard formats are either (19 comments) / code
2007-11-13 / #402 Amusing bug reports: On poetry and prose (13 comments) / history
2007-11-14 / #403 Psychic debugging: IP on heap (43 comments) / other
2007-11-15 / #404 Is DEP on or off on Windows XP Service Pack 2? (11 comments) / other
2007-11-15 / #405 I’m going to keep trying on size fours until I find one that fits (32 comments) / non-computer
2007-11-16 / #406 In Windows XP, even when DEP is on, it’s still sometimes off (19 comments) / other
2007-11-16 / #407 Who would win in a fight between a penguin and a lemur? (13 comments) / non-computer
2007-11-19 / #408 If you want a menu that shows the contents of the My Computer folder, you already know how to do it (22 comments) / code
2007-11-19 / #409 Darkon: A Larping Documentary (13 comments) / non-computer
2007-11-20 / #410 You even have to watch out for your placeholder bitmaps (19 comments) / history
2007-11-20 / #411 Dreyer’s Berry Rainbow Sherbet (22 comments) / non-computer
2007-11-21 / #412 Hidden gotcha: The command processor’s AutoRun setting (37 comments) / tipssupport
2007-11-21 / #413 Alternate theories on how Putin can retain power after his second term expires (31 comments) / non-computer
2007-11-22 / #414 When in doubt, consult the online Magic 8 Ball (13 comments) / other
2007-11-23 / #415 The forgotten common controls: The GetEffectiveClientRect function (10 comments) / code
2007-11-23 / #416 Sounds about right: What a geek does with an iPhone in the first two days (21 comments) / non-computer
2007-11-26 / #417 Why are INI files deprecated in favor of the registry? (139 comments) / other
2007-11-27 / #418 When you compress a drive, some files are exempted, but you can force it, and then it’s your problem (29 comments) / tipssupport
2007-11-27 / #419 What to do when the steering column is stuck and the ignition won’t turn (47 comments) / non-computer
2007-11-28 / #420 The importance of the FORMAT_MESSAGE_IGNORE_INSERTS flag (16 comments) / code
2007-11-29 / #421 The first day at Microsoft: Don’t just stand there (30 comments) / non-computer
2007-11-30 / #422 Hotkeys involving the Windows logo key are reserved by the system (77 comments) / code
2007-12-03 / #423 How do 16-bit programs start up? (56 comments) / history
2007-12-04 / #424 How long does it take to create a 16TB file? (56 comments) / history
2007-12-04 / #425 Would a team of midgets be the greatest offense in baseball history? (9 comments) / non-computer
2007-12-05 / #426 Welcome to the Microsoft email culture (31 comments) / email;other
2007-12-05 / #427 Your $25 car emergency survival kit (11 comments) / non-computer
2007-12-06 / #428 The Old New Thing (the book) allegedly now stocked at the Microsoft Company Store (Redmond) (11 comments) / other
2007-12-06 / #429 Am I for real or just a robot? part 2 (29 comments) / non-computer
2007-12-06 / #430 The Old New Thing (the book) allegedly now stocked at the Microsoft Company Store (Redmond) (14 comments) / other
2007-12-07 / #431 The magical healing properties of safe mode – bonus content (35 comments) / history
2007-12-07 / #432 It’s amazing you who end up meeting in New York City (18 comments) / non-computer
2007-12-10 / #433 What seems obvious today may have been impractical then (25 comments) / history
2007-12-11 / #434 Why is my starting directory ignored when I elevate a command prompt? (21 comments) / other
2007-12-11 / #435 Exploiting the inattentive, episode 3: Confusing movie titles (14 comments) / exploiting-the-inattentive;non-computer
2007-12-12 / #436 When selecting system colors, match but don’t mix (35 comments) / code
2007-12-12 / #437 Christmas lights in the Dyker Heights neighborhood (9 comments) / non-computer
2007-12-13 / #438 AppInit_DLLs should be renamed Deadlock_Or_Crash_Randomly_DLLs (26 comments) / code
2007-12-13 / #439 Throwing a cup of hot water into the air in sub-zero temperatures (21 comments) / non-computer
2007-12-14 / #440 The compatibility constraints of your side effects: Beeping (30 comments) / other
2007-12-14 / #441 Unwittingly enveloped in the Santarchy (11 comments) / non-computer
2007-12-17 / #442 How did wildcards work in MS-DOS? (48 comments) / history
2007-12-17 / #443 Wall Street bonus season’s trickle-down (10 comments) / non-computer
2007-12-18 / #444 Not every first-chance exception is a security vulnerability (20 comments) / other
2007-12-18 / #445 Book review: Advanced Windows Debugging (Mario Hewardt and Daniel Pravat) (19 comments) / other
2007-12-19 / #446 How do I mark a shortcut file as requiring elevation? (25 comments) / code
2007-12-20 / #447 Consequences of the scheduling algorithm: Low priority threads can take 100% CPU (33 comments) / code
2007-12-20 / #448 ‘Tis the season for top ten lists, and manipulation of top ten lists (6 comments) / non-computer
2007-12-21 / #449 Management-speak: Norming around mechanisms (48 comments) / microspeak;non-computer
2007-12-24 / #450 What was the role of MS-DOS in Windows 95? (134 comments) / history
2007-12-24 / #451 Where do those Wall Street Journal hedcuts come from? (1 comment) / non-computer
2007-12-25 / #452 You mean, you have computers in Taiwan? (40 comments) / non-computer
2007-12-26 / #453 Microthink: If you can’t measure it, then it doesn’t exist (33 comments) / other
2007-12-26 / #454 Paul Shirley: Basketball player, blogger, and author (2 comments) / non-computer
2007-12-27 / #455 If you need anything other than natural alignment, you have to ask for it (27 comments) / code
2007-12-28 / #456 Psychic debugging: The first step in diagnosing a deadlock is a simple matter of following the money (26 comments) / other
2007-12-28 / #457 Now I can read my own writing the way you do: With utter incomprehension (27 comments) / other
2007-12-31 / #458 Why aren’t console windows themed on Windows XP? (124 comments) / other
2007-12-31 / #459 2007 year-end link clearance (5 comments) / non-computer

2008


Date Title
2008-01-01 / #0 Fact of life: People can’t see things that are right in front of them (62 comments) / other
2008-01-02 / #1 You know the answer: Window destruction (18 comments) / code
2008-01-02 / #2 A new DUI record set in the state of Washington (29 comments) / non-computer
2008-01-03 / #3 In steady state, only geeks install Windows, but the hard part is getting to that steady state (46 comments) / other
2008-01-04 / #4 What does it mean when a display change is temporary? (24 comments) / code
2008-01-07 / #5 Clean-up functions can’t fail because, well, how do you clean up from a failed clean-up? (29 comments) / code
2008-01-07 / #6 Bait and switch literally applied to fish (23 comments) / non-computer
2008-01-08 / #7 Taxes: Files larger than 4GB (31 comments) / code
2008-01-08 / #8 Generating initials from a name is trickier than you think (31 comments) / code
2008-01-09 / #9 Jag är inte heller en Microsoft-talesman på svenska (20 comments) / other
2008-01-09 / #10 The impact of hardworking employees on their less diligent colleagues (12 comments) / non-computer
2008-01-10 / #11 How does the calculator percent key work? (49 comments) / tipssupport
2008-01-11 / #12 Windows is not an MFC delivery channel (103 comments) / other
2008-01-11 / #13 In order to serve you better: Chase resets your marketing preferences (17 comments) / non-computer
2008-01-14 / #14 No matter where you put an advanced setting, somebody will tell you that you are an idiot (127 comments) / other
2008-01-15 / #15 Use WM_WINDOWPOSCHANGED to react to window state changes (20 comments) / code
2008-01-16 / #16 Use WM_WINDOWPOSCHANGING to intercept window state changes (5 comments) / code
2008-01-16 / #17 Jerry Springer: The Opera crosses the pond to visit Carnegie Hall (12 comments) / non-computer
2008-01-17 / #18 How did registry keys work in 16-bit Windows? (22 comments) / history
2008-01-18 / #19 Why do registry keys have a default value? (36 comments) / history
2008-01-18 / #20 Can’t sing? Can’t dance? Can’t act? Try the opera. (4 comments) / non-computer
2008-01-21 / #21 When computer programmers dabble in economics: Paying parking tickets (40 comments) / non-computer
2008-01-21 / #22 If they had felt a little more mischievous when they titled the article Excerpts from Fischer-Spassky games (12 comments) / non-computer
2008-01-22 / #23 The Windows 95 volume control almost went to eleven (31 comments) / history
2008-01-23 / #24 Email tip: Don’t use a rude subject line just to make your message easier to spot (62 comments) / email;non-computer
2008-01-24 / #25 It’s one thing to say «somebody should do this», but doing it is another matter (26 comments) / other
2008-01-25 / #26 The classic start menu is even more classic than it looks (22 comments) / tipssupport
2008-01-25 / #27 What counts as a talent nowadays? (13 comments) / non-computer
2008-01-25 / #28 PLAY! A Video Game Symphony comes to Seattle (18 comments) / non-computer
2008-01-28 / #29 Crackpots in computer security: Don’t plug it in, man! (24 comments) / other
2008-01-29 / #30 The history of the Windows XP common controls (63 comments) / history
2008-01-30 / #31 Microspeak: Housing (19 comments) / microspeak;non-computer
2008-01-30 / #32 Even without a nitpicker’s corner, I have to worry about nitpickers (93 comments) / non-computer
2008-01-31 / #33 Shell policy is not the same as security (29 comments) / other
2008-01-31 / #34 The dead home desktop problem returns (41 comments) / dead-computers;other
2008-02-01 / #35 Strange bug assignment: Programs are using too much memory (60 comments) / other
2008-02-01 / #36 Pass the whipped partially hydrogenated soybean and coconut oils, please (43 comments) / non-computer
2008-02-04 / #37 DLL forwarding is not the same as delay-loading (4 comments) / code
2008-02-04 / #38 The dead home desktop returns from the dead (39 comments) / dead-computers;other
2008-02-05 / #39 Who decides what can be done with an object or a control? (8 comments) / code
2008-02-05 / #40 Why did the display become a snapshot of the last time the monitor was plugged into the computer? (23 comments) / dead-computers;other
2008-02-06 / #41 When there’s a problem with the platform, you blame the platform, whether it’s the platform’s fault or not (25 comments) / other
2008-02-06 / #42 Otaku cosplay culture makes another inroad into North America (8 comments) / non-computer
2008-02-07 / #43 What did MakeProcInstance do? (15 comments) / history
2008-02-07 / #44 Grass jelly may be an Asian drink, but it’s not crazy (13 comments) / non-computer
2008-02-08 / #45 Why couldn’t you have more than one instance of a 16-bit multi-DS program? (21 comments) / history
2008-02-11 / #46 Why does Ctrl+ScrollLock cancel dialogs? (49 comments) / history
2008-02-12 / #47 If you ask whether I’ll be at a conference, the answer is usually No (20 comments) / other
2008-02-12 / #48 Thank you, people sitting behind me, for explaining what the conductor is doing (31 comments) / non-computer
2008-02-13 / #49 Controlling which devices will wake the computer out of sleep (62 comments) / tipssupport
2008-02-13 / #50 Follow-up: Politically motivated armed robber being sent back to the U.S. (4 comments) / non-computer
2008-02-14 / #51 Bands of Valentine minstrels roaming campus (10 comments) / non-computer
2008-02-15 / #52 There’s more to switching stacks than just loading a new stack pointer (10 comments) / code
2008-02-15 / #53 Joshua Roman groupies may have to set up their frequent flyer accounts (5 comments) / non-computer
2008-02-18 / #54 Why does Explorer show a + sign even if there are no child folders? (32 comments) / code
2008-02-18 / #55 What’s with all those spam ping-bots? (70 comments) / non-computer
2008-02-19 / #56 When you ask somebody to take a look, you need to tell them what you want them to find (14 comments) / email;non-computer
2008-02-19 / #57 If you used your credit card abroad between 1996 and 2006, you may be eligible for a class action lawsuit settlement (7 comments) / non-computer
2008-02-20 / #58 There can be more than one (or zero): Converting a process to a window (37 comments) / code
2008-02-20 / #59 Wait a second, I thought we stopped doing this back in 2003 (36 comments) / tipssupport
2008-02-21 / #60 Nobody actually talks the way they do in training videos, do they? (20 comments) / non-computer
2008-02-22 / #61 Microspeak: Assorted babble (25 comments) / microspeak;non-computer
2008-02-25 / #62 When somebody gives you a gift of code, it’s more often than not a burden in disguise (43 comments) / other
2008-02-25 / #63 The United Kingdom of Great Britain, Northern Ireland, and France? (18 comments) / non-computer
2008-02-26 / #64 Losing the game of Last Checkin Chicken two products in a row (21 comments) / history
2008-02-26 / #65 TechDays 2008 learns the sneaky way of getting me to show up at your conference (8 comments) / other
2008-02-27 / #66 If you ask for STANDARD_RIGHTS_REQUIRED, you may as well ask for the moon (13 comments) / code
2008-02-27 / #67 Making a reservation at the Asteroid and interrupting a cookie-bake (7 comments) / non-computer
2008-02-28 / #68 Why are process and thread IDs multiples of four? (51 comments) / history
2008-02-28 / #69 Coca-Cola for breakfast: It’s not just for computer geeks any more (34 comments) / non-computer
2008-02-29 / #70 Why can’t I get FormatMessage to load my resource string? (14 comments) / code
2008-02-29 / #71 The 2008/2009 Seattle Symphony subscription season at a glance (12 comments) / non-computer
2008-03-03 / #72 Why does scheduling a task require a password? (45 comments) / code
2008-03-03 / #73 What do rocket scientists say when they want to say that something isn’t hard? (28 comments) / non-computer
2008-03-04 / #74 Email tip: A peer-to-peer discussion group does not come with a service level agreement (15 comments) / email;non-computer
2008-03-04 / #75 I hadn’t realized it’s an entire genre: Music made from Windows system sounds (22 comments) / non-computer
2008-03-05 / #76 Not my finest hour: Using the wrong mouse (36 comments) / other
2008-03-06 / #77 How do I log on using a dial-up connection on Windows Vista? (31 comments) / tipssupport;when-people-ask-for-security-holes-as-features
2008-03-07 / #78 Why can’t I convert a time zone abbreviation into a time zone? (19 comments) / history;time
2008-03-07 / #79 The art of losing things: Keep moving them around (39 comments) / non-computer
2008-03-10 / #80 Why isn’t there a GetDlgItemFloat function? (62 comments) / code
2008-03-11 / #81 What a drag: Dragging text (19 comments) / code;what-a-drag
2008-03-11 / #82 Exercise doesn’t have any effect unless you know you’re doing it (16 comments) / non-computer
2008-03-12 / #83 What a drag: Dragging a Uniform Resource Locator (URL) (27 comments) / code;what-a-drag
2008-03-13 / #84 What a drag: Dragging a Uniform Resource Locator (URL) and text (25 comments) / code;what-a-drag
2008-03-14 / #85 If you grant somebody SeDebugPrivilege, you gave away the farm (19 comments) / other
2008-03-17 / #86 Why can’t you rename the Recycle Bin? (31 comments) / other
2008-03-17 / #87 I try not to rely on the kindness of strangers, but it’s a pleasant surprise when strangers come through (24 comments) / non-computer
2008-03-18 / #88 What a drag: Dragging a virtual file (HGLOBAL edition) (10 comments) / code;what-a-drag
2008-03-19 / #89 What a drag: Dragging a virtual file (IStream edition) (12 comments) / code;what-a-drag
2008-03-20 / #90 What a drag: Dragging a virtual file (IStorage edition) (10 comments) / code;what-a-drag
2008-03-21 / #91 Raymond’s highly scientific predictions for the 2008 NCAA men’s basketball tournament (16 comments) / highly-scientific;non-computer
2008-03-21 / #92 How to write like Raymond: What I tell you three times is true (24 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2008-03-24 / #93 What’s the difference between the COM and EXE extensions? (42 comments) / history
2008-03-24 / #94 Buses and trams going to this place called Reservado (27 comments) / non-computer
2008-03-25 / #95 What’s the difference between int and INT, long and LONG, etc? (40 comments) / history
2008-03-25 / #96 Happy Waffle Day! And other holidays named after food (35 comments) / non-computer
2008-03-26 / #97 Why are structure names different from their typedef names? (25 comments) / history
2008-03-26 / #98 We hope you enjoyed this bus tour of Charles de Gaulle International Airport (20 comments) / non-computer
2008-03-27 / #99 Why do structures get tag names even if there is a typedef? (17 comments) / history
2008-03-27 / #100 Meet Deltalina, the star of Delta’s new in-flight safety video (11 comments) / non-computer
2008-03-28 / #101 Microspeak: Newplacement (27 comments) / microspeak;non-computer
2008-03-28 / #102 The most academically elite team in college basketball, in quest for their first conference win in 21 years (14 comments) / non-computer
2008-03-31 / #103 You can drag multiple virtual objects, you know (4 comments) / code;what-a-drag
2008-03-31 / #104 2008 Q1 link clearance: Microsoft blogger edition (12 comments) / tipssupport
2008-04-01 / #105 Pranksters breathe a sigh of relief: There will never be a Building 7 (22 comments) / other
2008-04-02 / #106 Maybe that’s how you do it, but around here, we have a different convention for indicating which things are broken (29 comments) / dead-computers;other
2008-04-02 / #107 Lisbon: The city whose public transportation system operates in three dimensions (25 comments) / non-computer
2008-04-03 / #108 How do I force the ECHO command to echo? (32 comments) / tipssupport
2008-04-03 / #109 When a treehouse just isn’t good enough (14 comments) / non-computer
2008-04-04 / #110 STATUS_BUFFER_OVERFLOW really should be named STATUS_BUFFER_OVERFLOW_PREVENTED (21 comments) / other
2008-04-04 / #111 21: like 24 but three hours shorter (38 comments) / non-computer
2008-04-07 / #112 What happened to winipcfg and netmon? (32 comments) / history
2008-04-07 / #113 How to tell which end of the Metro platform to stand on, and other survival tips for the Lisbon subway system (12 comments) / non-computer
2008-04-08 / #114 I always get scared when I see people trying to organize the Internet into hierarchies (19 comments) / non-computer
2008-04-08 / #115 Over 1500 times the net worth of Bill Gates yet nobody has heard of him (26 comments) / non-computer
2008-04-09 / #116 Use the #error directive to check whether the compiler even sees you (47 comments) / code
2008-04-10 / #117 Who defined my name first? Turnabout is fair play (14 comments) / code
2008-04-10 / #118 The dead desktop computer: The good, the bad, and the ugly, but not in that order (48 comments) / dead-computers;other
2008-04-11 / #119 We can’t cut that; it’s our last feature (38 comments) / other
2008-04-14 / #120 Why doesn’t Explorer let you create a file whose name begins with a dot? (111 comments) / other
2008-04-14 / #121 Follow-up: That shopautodotca seocontest online contest (8 comments) / non-computer
2008-04-15 / #122 Email tip: Nostalgia is not a question (21 comments) / email;non-computer
2008-04-15 / #123 I know you can’t provide tax advice, but I’m just looking for tax advice (6 comments) / non-computer
2008-04-16 / #124 Raymond’s reading list: The Mythical Man-Month, The Design of Everyday Things, and Systemantics (27 comments) / other
2008-04-16 / #125 Raymond misreads newspaper headlines, episode 2 (13 comments) / non-computer
2008-04-17 / #126 One-line batch script to delete empty directories (49 comments) / tipssupport
2008-04-17 / #127 Baby Names for Dummies (32 comments) / non-computer
2008-04-18 / #128 Proto-Microspeak: Center of value (23 comments) / microspeak;non-computer
2008-04-18 / #129 Special advance screening of five seconds of True Lies (13 comments) / non-computer
2008-04-21 / #130 Windows doesn’t close windows when a user logs off; that’s your call (48 comments) / code
2008-04-21 / #131 Fell the force (27 comments) / non-computer
2008-04-22 / #132 The contradictory dialog: Click Finish to begin (38 comments) / other
2008-04-22 / #133 The concrete pedestrian bridge in the Washington Park Arboretum claims another victim (35 comments) / non-computer
2008-04-23 / #134 The double-click time tells the window manager how good your reflexes are (37 comments) / tipssupport
2008-04-23 / #135 News flash: Alumni give to colleges and universities to get their kids admitted (11 comments) / news-flash;non-computer
2008-04-24 / #136 User interface code + multi-threaded apartment = death (17 comments) / code
2008-04-24 / #137 Take Our Daughters and Sons to Work today, unless you work at main Microsoft campus, in which case, wait until summer (14 comments) / non-computer
2008-04-25 / #138 On the relationship between specific cases and general cases (35 comments) / non-computer
2008-04-25 / #139 News flash: Universities are more likely to admit students whose parents gave lots of money (7 comments) / news-flash;non-computer
2008-04-28 / #140 Why does clearing document history also clear Run history? (24 comments) / other
2008-04-28 / #141 In search of: Rossio Train Station (5 comments) / non-computer
2008-04-29 / #142 Why do atoms start at 0xC000? (29 comments) / history
2008-04-29 / #143 Racking up the frequent shopper points at the register office (10 comments) / non-computer
2008-04-30 / #144 Some other places atoms (and the magical 0xC000) arise (7 comments) / code
2008-04-30 / #145 Book me the next flight to Tokyo, no wait, the second flight (18 comments) / non-computer
2008-05-01 / #146 Strange uses for window class atoms (24 comments) / code
2008-05-01 / #147 Why every advertising agency needs to have a review panel of twelve-year-old boys (28 comments) / non-computer
2008-05-02 / #148 You didn’t know you could add properties by atom, and it’s a good thing you didn’t know (8 comments) / history
2008-05-02 / #149 Canoeing around the Washington Park Arboretum (3 comments) / non-computer
2008-05-05 / #150 If you pass invalid parameters, then all bets are off (32 comments) / code
2008-05-05 / #151 News flash: It’s dangerous to drive a car if you are blind (16 comments) / news-flash;non-computer
2008-05-06 / #152 Psychic debugging: Why does ExitProcess(1) produce an exit code of zero? (18 comments) / code
2008-05-06 / #153 Email tip: If they didn’t get your message, then they won’t know that they didn’t get it (16 comments) / email;non-computer
2008-05-07 / #154 Apparently I’ve been promoted by mistake all these years (7 comments) / other
2008-05-07 / #155 The new dietary restriction landscape (25 comments) / non-computer
2008-05-08 / #156 Gentle reminder: On a dialog box, do not give OK and Cancel accelerators (34 comments) / code
2008-05-08 / #157 The economics of soccer penalty kicks (20 comments) / non-computer
2008-05-09 / #158 Data breakpoints are based on the linear address, not the physical address (6 comments) / code
2008-05-09 / #159 Mother’s Day is for all mothers, not just your own mother (28 comments) / non-computer
2008-05-12 / #160 How do I flash my window caption and taskbar button manually? (19 comments) / code
2008-05-12 / #161 In Lisbon, walk/don’t walk signs are mostly decorative (40 comments) / non-computer
2008-05-13 / #162 The Big Red Switch really was big and red (34 comments) / history
2008-05-14 / #163 Why always «Windows XP» and «Windows Vista» and not just «XP» and «Vista»? (53 comments) / other
2008-05-14 / #164 The dead desktop computer: From good, bad, and ugly back to dead (41 comments) / dead-computers;other
2008-05-15 / #165 Build a slide show out of search results (1 comment) / tipssupport
2008-05-15 / #166 Selling your life for a quarter at a time (14 comments) / non-computer
2008-05-16 / #167 If users can shut down the machine, it’s not a security hole if they can shut down the machine (17 comments) / other
2008-05-16 / #168 I assume it’s cracking good, though I’m not the expert (19 comments) / non-computer
2008-05-19 / #169 Why is the function SHStripMneumonic misspelled? (43 comments) / history
2008-05-19 / #170 Bacalhau: The unofficial national dish of Portugal, and don’t pass the salt (30 comments) / non-computer
2008-05-20 / #171 The Phantom Bug: Why doesn’t MessageBox work from my WM_NCDESTROY handler? (5 comments) / code
2008-05-20 / #172 König Drosselbart: Performed in clay, feathers, and other strange materials (4 comments) / non-computer
2008-05-21 / #173 Another interesting detail from the analysis of Windows Error Reporting data for Explorer (47 comments) / other
2008-05-21 / #174 Food discovery: Vietnamese sandwiches, aka bánh mì (29 comments) / non-computer
2008-05-22 / #175 Microspeak: On-board (verb) (36 comments) / microspeak;non-computer
2008-05-23 / #176 What does TranslateAccelerator do? (13 comments) / code
2008-05-26 / #177 Welcome to the International Bank of Raymond (24 comments) / non-computer
2008-05-27 / #178 You can’t give away something that isn’t yours (13 comments) / code
2008-05-27 / #179 The cultural axes of punctuality and waiting in line (58 comments) / non-computer
2008-05-28 / #180 Reading a contract from the other side: SHSetInstanceExplorer and SHGetInstanceExplorer (27 comments) / code
2008-05-28 / #181 India Calling: Call centers from the Indian point of view (27 comments) / non-computer
2008-05-29 / #182 The sad demise of whimsical teasing in Comic Chat (34 comments) / history
2008-05-30 / #183 Why are some GDI functions named ExtXxx instead of XxxEx? (21 comments) / history
2008-05-30 / #184 Behind the Scenes at Mythbusters does not include experiments or explosions (14 comments) / non-computer
2008-06-02 / #185 Why are accelerators for hidden controls still active? (15 comments) / code
2008-06-02 / #186 Raymond misreads newspaper headlines, episode 3 (28 comments) / non-computer
2008-06-03 / #187 Dlaczego Microsoft zatopił Polskę? (9 comments) / other
2008-06-03 / #188 Food products that are offenses against nature: Bisquick Shake ‘n Pour (58 comments) / non-computer
2008-06-04 / #189 Why has my clipboard stopped working? (25 comments) / tipssupport
2008-06-04 / #190 Isn’t the Learning Annex for total losers? (2 comments) / non-computer
2008-06-05 / #191 Portugal TechDays 2008: A report (19 comments) / other
2008-06-06 / #192 Why does OpenProcess succeed even when I add three to the process ID? (42 comments) / code
2008-06-06 / #193 Million Dollar Password: At least it shares a name with the original (6 comments) / non-computer
2008-06-09 / #194 Why are DLLs uninitialized in the «wrong» order? (4 comments) / code
2008-06-09 / #195 Money: The new plagiarism (19 comments) / non-computer
2008-06-10 / #196 There are only twelve function keys, and who says there’s somebody there to push them? (39 comments) / other
2008-06-10 / #197 Simply attach a piano to the end of the trebuchet (12 comments) / non-computer
2008-06-11 / #198 If you say that you don’t care about something, you shouldn’t be upset that it contains garbage (32 comments) / code
2008-06-12 / #199 Email tip: Pronouns in the subject line are in the eye of the beholder (32 comments) / email;non-computer
2008-06-13 / #200 Don’t be helpless: You can find information, too, if you try (29 comments) / other
2008-06-13 / #201 Sometimes it’s easier just to let the native speaker win (25 comments) / non-computer
2008-06-16 / #202 How do the common controls convert between ANSI and Unicode? (10 comments) / code
2008-06-16 / #203 Blinding bank robbers with kindness (10 comments) / non-computer
2008-06-17 / #204 Microspeak: Pricing uplift (24 comments) / microspeak;non-computer
2008-06-18 / #205 MSDN-speak: What does it mean when a parameter contains a value? (32 comments) / other
2008-06-19 / #206 Why is there a menu show delay, anyway? (55 comments) / other
2008-06-20 / #207 Donations to the Microsoft Archives: Pens, CDs, and paperweights (39 comments) / history
2008-06-23 / #208 Just because you’re using a smart pointer class doesn’t mean you can abdicate understanding what it does (38 comments) / code
2008-06-23 / #209 Raymond misreads acronyms: MSPP-PVP (12 comments) / non-computer
2008-06-24 / #210 Don’t require your users to have a degree in philosophy, episode 3 (29 comments) / other
2008-06-25 / #211 The difference between a junior and senior position at a video card company (28 comments) / other
2008-06-26 / #212 The disappointment of people who need to have their hand held from beginning to end (47 comments) / other
2008-06-26 / #213 The mystery of the garbage lady (11 comments) / non-computer
2008-06-27 / #214 GUIDs are globally unique, but substrings of GUIDs aren’t (40 comments) / code
2008-06-30 / #215 You don’t need that 90 byte whereis program any more (10 comments) / tipssupport
2008-06-30 / #216 2008 mid-year link clearance (16 comments) / non-computer
2008-07-01 / #217 Windows Vista changed the Alt+Tab order slightly (38 comments) / tipssupport
2008-07-01 / #218 András Schiff 2006 lectures on the Beethoven piano sonatas (9 comments) / non-computer
2008-07-02 / #219 Uninitialized floating point variables can be deadly (49 comments) / code
2008-07-02 / #220 Raymond misreads newspaper head… no wait, I didn’t! (26 comments) / non-computer
2008-07-03 / #221 How did the invalid floating point operand exception get raised when I disabled it? (23 comments) / code
2008-07-04 / #222 When anybody can look up your name in the company directory and pay a visit (20 comments) / non-computer
2008-07-04 / #223 Double the usual number of fire alarms today (14 comments) / non-computer
2008-07-07 / #224 Why is the LOADPARMS32 structure so messed up? (26 comments) / history
2008-07-08 / #225 The evolution of menu templates: Introduction (2 comments) / history
2008-07-08 / #226 Wikipedia has created its own reactionary subculture (20 comments) / non-computer
2008-07-09 / #227 The evolution of menu templates: 16-bit classic menus (6 comments) / history
2008-07-09 / #228 Warning: This cereal may contain traces of spiders (18 comments) / non-computer
2008-07-10 / #229 What’s the deal with that alternate form for menu item template separators? (7 comments) / history
2008-07-10 / #230 News flash: Car salesmen are sneaky and underhanded (9 comments) / news-flash;non-computer
2008-07-11 / #231 The evolution of menu templates: 32-bit classic menus (10 comments) / history
2008-07-11 / #232 Crazy ideas at the lunch table: The ice cream bicycle (11 comments) / non-computer
2008-07-14 / #233 Why does the «Install Font» dialog look so old-school? (51 comments) / history
2008-07-14 / #234 When companies make it hard for you to pay money they are owed (22 comments) / non-computer
2008-07-15 / #235 The evolution of menu templates: 16-bit extended menus (12 comments) / history
2008-07-16 / #236 The evolution of menu templates: 32-bit extended menus (2 comments) / history
2008-07-16 / #237 News flash: Online drug sales are shady! (9 comments) / news-flash;non-computer
2008-07-17 / #238 Microspeak: Well, actually management-speak (30 comments) / microspeak;non-computer
2008-07-17 / #239 The best building name on the University of Washington campus (8 comments) / non-computer
2008-07-18 / #240 A new record for the shortest amount of time between an email message and its resend (15 comments) / email;other
2008-07-18 / #241 Dr. Horrible’s Sing-Along Blog, available online for a short time only (21 comments) / non-computer
2008-07-21 / #242 MessageBoxIndirect loads the icon itself; you can’t hand it a pre-loaded icon (17 comments) / code
2008-07-21 / #243 A modest proposal: Getting people to stop buying SUVs (91 comments) / a-modest-proposal;non-computer
2008-07-22 / #244 Windows could not properly load the XYZ keyboard layout (14 comments) / tipssupport
2008-07-22 / #245 The Microsoft Company Picnic has as a side effect a demonstration of Microsoft’s rich cultural diversity (9 comments) / non-computer
2008-07-23 / #246 Theorize if you want, but if the problem is right there in front of you, why not go for the facts? (29 comments) / code
2008-07-23 / #247 Things other people have written that have amused me (9 comments) / non-computer;things-ive-written-that-have-amused-other-people
2008-07-24 / #248 Reading a contract from the other side: Simulating a drop (8 comments) / code
2008-07-25 / #249 Simulating a drop, part two (14 comments) / code
2008-07-25 / #250 Why seventh grade students want to go to weddings (22 comments) / non-computer
2008-07-28 / #251 How can SIGINT be safely delivered on the main thread? (20 comments) / other
2008-07-29 / #252 Be careful what you name your mailing list (17 comments) / other
2008-07-29 / #253 The sign that a trend is over: It shows up in a movie (12 comments) / non-computer
2008-07-30 / #254 When I double-click an Excel spreadsheet, Excel opens but the document doesn’t (39 comments) / tipssupport
2008-07-30 / #255 What does each country claim for its own? (202 comments) / non-computer
2008-07-31 / #256 Don’t be helpless: You can put things together, it doesn’t have to be a single command (29 comments) / other
2008-08-01 / #257 I warned you: The dangers of attaching input queues (53 comments) / code
2008-08-04 / #258 Why, when you sort by name, doesn’t it actually sort by name? (25 comments) / tipssupport
2008-08-05 / #259 Microspeak: The long pole (23 comments) / microspeak;other
2008-08-05 / #260 AOL is moving closer to jettisoning dial-up, except for one person (10 comments) / non-computer
2008-08-06 / #261 What’s with this MSH_MOUSEWHEEL message? (34 comments) / history
2008-08-06 / #262 The caret serves as the continuation character for batch files (12 comments) / code
2008-08-07 / #263 For that, you’ll have to call security (22 comments) / non-computer
2008-08-07 / #264 If the law says you can’t file a petition, you might need to file it anyway, in case somebody later says that you should’ve even though the law says you couldn’t (9 comments) / non-computer
2008-08-08 / #265 If you return FALSE from DLL_PROCESS_ATTACH, will you get a DLL_PROCESS_DETACH? (28 comments) / code
2008-08-08 / #266 Raymond rewrites newspaper headlines (13 comments) / non-computer
2008-08-11 / #267 Supplementary reading on the subject of anonymous functions and other CLR topics (1 comment) / code
2008-08-11 / #268 Psychic debugging: Why can’t StreamReader read apostrophes from a text file? (24 comments) / code
2008-08-12 / #269 The implementation of iterators in C# and its consequences (part 1) (33 comments) / code
2008-08-12 / #270 The unwritten rule of riding a Seattle Metro bus (62 comments) / non-computer
2008-08-13 / #271 The implementation of iterators in C# and its consequences (part 2) (49 comments) / code
2008-08-14 / #272 The implementation of iterators in C# and its consequences (part 3) (10 comments) / code
2008-08-14 / #273 The gradual erosion of the car trip experience (38 comments) / non-computer
2008-08-15 / #274 The implementation of iterators in C# and its consequences (part 4) (28 comments) / code
2008-08-15 / #275 The Seattle Danskin Women’s Triathlon 2008 (10 comments) / non-computer
2008-08-18 / #276 What happened to the Search option on the right hand side of the Start menu? (21 comments) / tipssupport
2008-08-18 / #277 As a courtesy to performers and other audience members, please turn off blinking head-mounted devices (22 comments) / non-computer
2008-08-19 / #278 It’s not Christmas: Nobody enjoys unwrapping your present (142 comments) / email;other
2008-08-20 / #279 Icons and cursors know where they came from (18 comments) / other
2008-08-20 / #280 When somebody says a game is like chess, it is usually completely unlike chess (36 comments) / non-computer
2008-08-21 / #281 Why does Explorer generate a page fault every two seconds? (31 comments) / other
2008-08-21 / #282 Oh no, there’s fog in San Francisco! (10 comments) / non-computer
2008-08-22 / #283 Destroying the module and resource information associated with an icon (0 comments) / other
2008-08-22 / #284 Keeping a visit a surprise after people have already guessed that you’re coming (16 comments) / non-computer
2008-08-25 / #285 Why was the RAM drive removed from Windows 95? (59 comments) / history
2008-08-25 / #286 Wedding + two-year-old flower girl = wildcard (22 comments) / non-computer
2008-08-26 / #287 Microspeak: Pencils down (37 comments) / microspeak;non-computer
2008-08-26 / #288 DHS: The Television Series – the next chapter (1 comment) / non-computer
2008-08-27 / #289 What possible use are those extra bits in kernel handles? Part 1: Sentinels (13 comments) / code
2008-08-27 / #290 What does each country claim for its own?, greatest hits (25 comments) / non-computer
2008-08-28 / #291 What possible use are those extra bits in kernel handles? Part 2: Overcoming limited expressiveness (22 comments) / code
2008-08-28 / #292 The stroke-count-based sort isn’t random, although it looks that way if you only see it in translation (13 comments) / non-computer
2008-08-29 / #293 What possible use are those extra bits in kernel handles? Part 3: New object types (23 comments) / code
2008-09-01 / #294 How do I convert an error code to text when FORMAT_MESSAGE_FROM_SYSTEM doesn’t work? (9 comments) / code
2008-09-01 / #295 It helps if you write a cover letter and remember the name of your interviewer (2 comments) / non-computer
2008-09-02 / #296 Tales from the interview: Can you rotate this two-dimensional array? (94 comments) / other
2008-09-03 / #297 Tales from the interview: Lunch is not a competition (41 comments) / non-computer
2008-09-04 / #298 Tales from the interview: Lunch is not a competition, episode 2 (27 comments) / non-computer
2008-09-05 / #299 Tales from the interview: Anticipating your own incompetence is not a good interview strategy (32 comments) / non-computer
2008-09-08 / #300 QueryPerformanceCounter counts elapsed time, not CPU cycles (29 comments) / other
2008-09-08 / #301 I’ll see (some of) you in Los Angeles, but this time it’ll be October (14 comments) / other
2008-09-09 / #302 If you use an absurd signature, I might end up sending it back to you (38 comments) / email;non-computer
2008-09-10 / #303 What were ShellExecute hooks designed for? (22 comments) / other
2008-09-10 / #304 And now, your moment of reflection (11 comments) / non-computer
2008-09-11 / #305 Suggestion Box 3, short answers (part 2 of who knows how many) (45 comments) / other
2008-09-11 / #306 For a place that’s supposed to be full of doctors, they sure don’t look like doctors (17 comments) / non-computer
2008-09-12 / #307 Who is responsible for destroying the font passed in the WM_SETFONT message? (4 comments) / code
2008-09-12 / #308 The terms of service you have to accept before you can see them (30 comments) / other
2008-09-15 / #309 I no longer have to remind the payroll department to gear up for annual raises (23 comments) / other
2008-09-16 / #310 The purpose of charts is normally to make information easier, not harder, to understand (23 comments) / non-computer
2008-09-17 / #311 Well at least that’s one fewer program that relies on window handles being even numbers (29 comments) / history
2008-09-18 / #312 How can I tell that a directory is really a recycle bin? (20 comments) / code
2008-09-19 / #313 How can I tell that a directory is weird and should be excluded from the user interface? (18 comments) / code
2008-09-19 / #314 Steamy coffee leaves grounds for concern (12 comments) / non-computer
2008-09-22 / #315 I’ve seen why people steal the foreground window for their dialog box (45 comments) / code
2008-09-22 / #316 News flash: Doing something that requires your attention reduces your ability to do other things at the same time which also require your attention (28 comments) / news-flash;non-computer
2008-09-23 / #317 Microspeak: Space delivery (14 comments) / microspeak;non-computer
2008-09-24 / #318 How do I change the size of my desktop icons? (27 comments) / tipssupport
2008-09-24 / #319 When attending a training session on how not to mess up your life, try not to mess up your life (20 comments) / non-computer
2008-09-25 / #320 Even if a function doesn’t do anything, you still have to call it if the documentation says so, because it might do something tomorrow (38 comments) / history
2008-09-25 / #321 The description of my 2008 PDC talk is wrong (28 comments) / other
2008-09-26 / #322 ERRORLEVEL is not %ERRORLEVEL% (15 comments) / code
2008-09-29 / #323 Anybody can make up a generic mapping (17 comments) / code
2008-09-29 / #324 Meet the authors: Mario Hewardt and Daniel Pravat, authors of Advanced Windows Debugging (8 comments) / other
2008-09-30 / #325 When computer programmers dabble in economics: Buying prepaid lunch vouchers (15 comments) / non-computer
2008-09-30 / #326 2008 Q3 link clearance: Microsoft blogger edition (5 comments) / other
2008-10-01 / #327 Why do maximized windows lose their title bar translucency? (49 comments) / other
2008-10-01 / #328 An artist’s conception of the new citizenship test (69 comments) / non-computer
2008-10-02 / #329 The dangers of setting your double-click speed too short (31 comments) / tipssupport
2008-10-03 / #330 Acquire and release sound like bass fishing terms, but they also apply to memory models (12 comments) / code
2008-10-03 / #331 Stories of crossing into Canada: The wedding (19 comments) / non-computer
2008-10-06 / #332 Eventually, nothing is special any more (25 comments) / history
2008-10-07 / #333 Microspeak: Teaming (12 comments) / microspeak;non-computer
2008-10-08 / #334 Why does the Disk Management snap-in report my volume as Healthy when the drive is dying? (41 comments) / tipssupport
2008-10-09 / #335 How can I increase the number of files I can open at a time? (33 comments) / code
2008-10-10 / #336 How do I suppress the CapsLock warning on password edit controls? (25 comments) / code
2008-10-13 / #337 Why does killing Winlogon take down the entire system? (29 comments) / other
2008-10-14 / #338 Why does Task Manager let me kill critical system processes? (30 comments) / tipssupport
2008-10-15 / #339 Disable your wireless network card to speed up VPN’ing (8 comments) / tipssupport
2008-10-15 / #340 Possessed: A documentary about hoarding (19 comments) / non-computer
2008-10-16 / #341 Psychic debugging: Why your thread is spending all its time processing meaningless thread timers (12 comments) / code
2008-10-17 / #342 The cult of PowerPoint, episode 2 (14 comments) / email;non-computer
2008-10-20 / #343 Why can’t you thunk between 32-bit and 64-bit Windows? (36 comments) / code
2008-10-20 / #344 Off-Roading The Old New Thing (14 comments) / non-computer
2008-10-21 / #345 Strange things happen when you let people choose their own name, part 1 (32 comments) / non-computer
2008-10-22 / #346 Strange things happen when you let people choose their own name, part 2 (29 comments) / non-computer
2008-10-23 / #347 Strange things happen when you let people choose their own name, part 3 (24 comments) / non-computer
2008-10-24 / #348 Sucking the trap frame out of a kernel mode stack trace (5 comments) / code
2008-10-24 / #349 Man, this housing downturn is hitting everyone (12 comments) / non-computer
2008-10-27 / #350 If you don’t want to try to repair the data, then don’t, but you should at least know that you have corrupted data (2 comments) / code
2008-10-27 / #351 Ah, local Los Angeles television news, how I miss thee (8 comments) / non-computer
2008-10-28 / #352 To climb the corporate ladder you’ll need some rope, but rope has many purposes (17 comments) / other
2008-10-28 / #353 Typo patrol at the 2008 PDC (17 comments) / other
2008-10-29 / #354 Why does my Run dialog say that tasks will created with administrative privileges? (30 comments) / tipssupport
2008-10-29 / #355 PDC 2008 notes: How to get to room 406A, and other notes (19 comments) / other
2008-10-30 / #356 If you’re going to reformat source code, please don’t do anything else at the same time (36 comments) / other
2008-10-30 / #357 Dude, the admission bracelet goes around your wrist (17 comments) / other
2008-10-31 / #358 Working with ambiguous and invalid points in time in managed code (16 comments) / code;time
2008-10-31 / #359 Stick to the normal candy and nobody gets hurt (26 comments) / non-computer
2008-11-03 / #360 If there’s already a bug, it’s not surprising that there’s a possibility for error (17 comments) / code
2008-11-03 / #361 Sensor development kits were flying off the shelves (21 comments) / other
2008-11-04 / #362 How did Spicy Hot V-8 vegetable juice get added to the complimentary beverages in Microsoft kitchens? (15 comments) / history
2008-11-04 / #363 Quite possibly my last in-person ballot for a long time (52 comments) / non-computer
2008-11-05 / #364 Microspeak: Represent (27 comments) / microspeak;non-computer
2008-11-06 / #365 Does version 6 of the common controls support ANSI or not? (21 comments) / code
2008-11-06 / #366 What seventh grade students want to be when they grow up, an analysis (32 comments) / non-computer;the-wisdom-of-seventh-graders
2008-11-07 / #367 Self-esteem gone overboard: The perils of a global namespace (45 comments) / other
2008-11-07 / #368 What I don’t get about bank robbers (19 comments) / non-computer
2008-11-10 / #369 How slow do you have to slow-double-click for it to be a rename? (36 comments) / tipssupport
2008-11-10 / #370 What do these topics have in common? (37 comments) / non-computer
2008-11-11 / #371 You can’t fight in here; this is the War Room! (14 comments) / history
2008-11-11 / #372 Now it’s like people buy sneakers to make money out of them (18 comments) / non-computer
2008-11-12 / #373 Doesn’t matter what your marketing technique is for your compiler if nobody actually writes code in your language any more (34 comments) / other
2008-11-13 / #374 Why is the maximum boot.ini delay 11 million seconds? (32 comments) / history
2008-11-13 / #375 Rearranging the cities into a much more visually pleasing arrangement (19 comments) / non-computer;the-wisdom-of-seventh-graders
2008-11-14 / #376 Email tip: If you ask a question that can be answered in only one way, but that’s not the answer, don’t be surprised that nobody responds at all (51 comments) / email;non-computer
2008-11-17 / #377 Why bother with RegisterWaitForSingleObject when you have MsgWaitForMultipleObjects? (2 comments) / code
2008-11-17 / #378 You’d think this sort of disclaimer on children’s modeling clay would not be necessary (13 comments) / non-computer
2008-11-18 / #379 Is second-hand advice better than no advice at all? (28 comments) / non-computer
2008-11-19 / #380 If you wait long enough, everything is our top priority (27 comments) / other
2008-11-19 / #381 Adventures in product testing: This phone’s so hot, it’ll set your head on fire (8 comments) / non-computer
2008-11-20 / #382 If everything is top priority, then nothing is top priority (34 comments) / other
2008-11-21 / #383 The great thing about priorities is that you can always go one higher (42 comments) / other
2008-11-21 / #384 Rachmaninov had big hands: An illustration (19 comments) / non-computer
2008-11-24 / #385 Consequences of the Explorer view model: If you create a view, then you succeeded, even if you’d rather fail (60 comments) / code
2008-11-24 / #386 When you’re walking around a city, you usually forget to look up (7 comments) / non-computer
2008-11-25 / #387 Yes, I filed an expense report for a hair dryer, why do you ask? (25 comments) / history
2008-11-26 / #388 The cost-benefit analysis of bitfields for a collection of booleans (68 comments) / code
2008-11-27 / #389 Not my finest hour: Getting instructions on doing something I’ve already done (24 comments) / other
2008-11-27 / #390 Welcome to the 2008 holiday shopping season (4 comments) / non-computer
2008-11-28 / #391 Just because a method is called Refresh doesn’t mean that it refreshes what you want (21 comments) / code
2008-11-28 / #392 The Ballard Locks will be empty this week (9 comments) / non-computer
2008-12-01 / #393 Don’t be helpless: You can find information too, if you try (episode 2) (14 comments) / history
2008-12-01 / #394 Oh, I feel so bad for those poor Wall Street folks who have to have a normal party instead of a ridiculously lavish one (24 comments) / non-computer
2008-12-02 / #395 Raymond’s technique for getting people to leave a meeting room when their meeting runs over (30 comments) / other
2008-12-02 / #396 That guy in the neighborhood who has way too many Christmas lights (20 comments) / non-computer
2008-12-03 / #397 High Contrast Mode is not the same as High Contrast Scheme (15 comments) / other
2008-12-03 / #398 The struggle against those annoying plastic packages gains a few allies (33 comments) / non-computer
2008-12-04 / #399 When you start getting in-page errors on your hard drive, it’s time to go shopping for a new hard drive (32 comments) / tipssupport
2008-12-04 / #400 Neuroscience can be used for good or for evil; this one might fall in the evil bucket (5 comments) / non-computer
2008-12-05 / #401 Why are the generic version numbers called NTDDI? (5 comments) / history
2008-12-05 / #402 Thrift stores drowning in Christmas impulse gifts from yesteryear (16 comments) / non-computer
2008-12-08 / #403 A file can go by multiple names, but two files can’t have the same name (48 comments) / other
2008-12-09 / #404 Email tip: If you want people to look at a screen shot, you have to tell them what they’re looking at (14 comments) / email;other
2008-12-09 / #405 The role of vitamin D in beta cell function: The dance (2 comments) / non-computer
2008-12-10 / #406 How do I change the directory Windows uses for user profiles? (25 comments) / tipssupport
2008-12-10 / #407 A bar on Microsoft main campus? What should we call it? (37 comments) / other
2008-12-11 / #408 Don’t use global state to manage a local problem (36 comments) / code
2008-12-11 / #409 The Washington 2008 unclaimed property auction (8 comments) / non-computer
2008-12-12 / #410 Being lucky may be a matter of observing things you weren’t planning to observe (13 comments) / non-computer
2008-12-12 / #411 PDC 2008 notes: The aftermath (4 comments) / other
2008-12-15 / #412 Why does the Explorer address bar reset itself while you’re typing into it? (37 comments) / other
2008-12-15 / #413 Today, we use a GPS to locate Baby Jesus (12 comments) / other
2008-12-16 / #414 Microspeak: Suited and booted (14 comments) / microspeak;non-computer
2008-12-16 / #415 The worms go in, the worms go out (12 comments) / non-computer
2008-12-17 / #416 How to create a Zune podcast from an audiobook or other files you already have (21 comments) / tipssupport
2008-12-18 / #417 How do I obtain the computer manufacturer’s name? (33 comments) / code
2008-12-19 / #418 What is the mysterious fourth message box button? (25 comments) / code
2008-12-22 / #419 On 64-bit Windows, 32-bit programs run in an emulation layer, and if you don’t like that, then don’t use the emulator (43 comments) / other
2008-12-22 / #420 The Fargo campus responds to Redmond’s December 2008 storm conditions (34 comments) / other
2008-12-23 / #421 Why isn’t there a SendThreadMessage function? (42 comments) / other
2008-12-23 / #422 Misheard lyrics as applied to Christmas songs (6 comments) / non-computer
2008-12-24 / #423 Foiled by my withered hand (16 comments) / non-computer
2008-12-25 / #424 Then again, sometimes the improvement is merely incremental (18 comments) / non-computer
2008-12-26 / #425 Why are all computers shown with a Printers folder even if printer sharing is disabled? (27 comments) / tipssupport
2008-12-29 / #426 Undecorating names to see why a function can’t be found (28 comments) / code
2008-12-30 / #427 Every crash is a potential security vulnerability (8 comments) / other
2008-12-30 / #428 Crazy or cell phone? (53 comments) / non-computer
2008-12-31 / #429 Sorry, I don’t get calls on this phone often (7 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2008-12-31 / #430 2008 year-end link clearance (20 comments) / non-computer

2009


Date Title
2009-01-01 / #0 How do I write a program that can be run either as a console or a GUI application? (29 comments) / code
2009-01-01 / #1 Follow-up: A new DUI record set in the state of Washington (9 comments) / non-computer
2009-01-02 / #2 Why doesn’t Windows 95 format floppy disks smoothly? (49 comments) / history
2009-01-02 / #3 Kids love cake, but that doesn’t make them good judges of cake (19 comments) / non-computer
2009-01-05 / #4 Even if you have code to handle a message, you’re allowed to call DefWindowProc, because you were doing that anyway after all (16 comments) / code
2009-01-05 / #5 Not my finest hour: Misreading a product label (26 comments) / non-computer
2009-01-06 / #6 Microspeak: Learnings (22 comments) / microspeak;non-computer
2009-01-07 / #7 When debugging a stack overflow, you want to focus on the repeating recursive part (10 comments) / code
2009-01-07 / #8 Raymond misreads flyers: A Taste of WWL (14 comments) / non-computer
2009-01-08 / #9 The programmers don’t design skins; they just make skins possible (37 comments) / other
2009-01-09 / #10 It’s surprising how suddenly those new skins started pouring in (37 comments) / history
2009-01-12 / #11 How does PostQuitMessage know which thread to post the quit message to? (8 comments) / code
2009-01-12 / #12 xkcd breaks the news on the new Windows 7 user interface (9 comments) / other
2009-01-13 / #13 Where does shell.windows.com get information about file extensions, and how do I get in on that action? (46 comments) / other
2009-01-13 / #14 Excessive speed appeared to be a factor in the crash (21 comments) / non-computer
2009-01-14 / #15 The day shell.windows.com went down (41 comments) / history
2009-01-15 / #16 What is this magic setting that synthesizes Unicode from non-Unicode? (15 comments) / other
2009-01-15 / #17 If you’re at a Thai restaurant with a Thai person who’s ordering food in Thai, and she asks you if you like your food spicy, think twice before answering (46 comments) / non-computer
2009-01-16 / #18 You cannot pre-emptively reserve a file extension (52 comments) / other
2009-01-19 / #19 Why isn’t the screen resolution a per-user setting? (50 comments) / other
2009-01-19 / #20 May the Horse Be With You: Stories from the racetrack (0 comments) / non-computer
2009-01-20 / #21 If you didn’t like the answer, asking the same question again is unlikely to help (33 comments) / email;other
2009-01-21 / #22 If you have full trust, then you can do anything, so don’t be surprised that you can do bad things, too (30 comments) / code
2009-01-22 / #23 Why do I get the error REGDB_E_IIDNOTREG when I call a method that returns an interface? (5 comments) / code
2009-01-23 / #24 Why can’t you apply ACLs to registry values? (22 comments) / other
2009-01-26 / #25 But then we ran into problems when we started posting 10,000 messages per second (4 comments) / code
2009-01-26 / #26 I think I can read the bassoonist’s music from here (8 comments) / non-computer
2009-01-27 / #27 Why can’t I see all of the 4GB of RAM in my machine?, redux (15 comments) / tipssupport
2009-01-27 / #28 There’s camping, and then there’s luxury camping, and then there’s ridiculous luxury camping (6 comments) / non-computer
2009-01-28 / #29 When you have only 16KB of memory, you can’t afford to waste any of it on fluffy stuff (16 comments) / history
2009-01-28 / #30 The great thing about being popular is that everybody wants to see you go down (20 comments) / non-computer
2009-01-29 / #31 A process shutdown puzzle (29 comments) / code
2009-01-29 / #32 Games to play at your Battlestar Galactica watching party (11 comments) / non-computer
2009-01-30 / #33 The problem with The Month Where Everyone Focuses on Improving Documentation is that most people are terrible technical writers (38 comments) / other
2009-02-02 / #34 How do I programmatically show and hide the Quick Launch bar? (25 comments) / code
2009-02-02 / #35 Welcome to Groundhog Day, a holiday where the same thing happens over and over (23 comments) / non-computer
2009-02-03 / #36 Microspeak: Recommends (noun) (17 comments) / microspeak;non-computer
2009-02-03 / #37 The 2009/2010 Seattle Symphony subscription season at a glance (20 comments) / non-computer
2009-02-04 / #38 What is the terminology for describing the various parts of the registry? (23 comments) / other
2009-02-04 / #39 Being lucky is observing what you weren’t expecting: An illustration (18 comments) / non-computer
2009-02-05 / #40 What the various registry data types mean is different from how they are handled (55 comments) / other
2009-02-06 / #41 A process shutdown puzzle: Answers (16 comments) / code
2009-02-09 / #42 What is the purpose of the RunAsCommand value? (20 comments) / history
2009-02-09 / #43 Changes to the the 2009/2010 Seattle Symphony subscription season (4 comments) / non-computer
2009-02-10 / #44 A different type of writing exercise, this time in preparation for buying a house (30 comments) / non-computer
2009-02-11 / #45 If you get confused by a register dump, then you’ll just have to accept that some of my postings won’t make any sense (29 comments) / other
2009-02-11 / #46 In order to serve you bett… wait, it really is better: Fuel surcharges (16 comments) / non-computer
2009-02-12 / #47 What does the COM Surrogate do and why does it always stop working? (35 comments) / tipssupport
2009-02-12 / #48 Superthunderstingcar is go! (14 comments) / non-computer
2009-02-13 / #49 The checkbox: The mating call of the loser (33 comments) / other
2009-02-13 / #50 The love bus, also known as Metro Bus Route number 308 (8 comments) / non-computer
2009-02-16 / #51 Don’t keep track of information you don’t need (19 comments) / code
2009-02-17 / #52 Why doesn’t the file system have a function that tells you the number of files in a directory? (46 comments) / code
2009-02-17 / #53 Another Seattle bus tool: One Bus Away (24 comments) / non-computer
2009-02-18 / #54 Guest TCP psychic debugging: Why the remote server keeps RSTing the connection (14 comments) / other
2009-02-19 / #55 Why do my file properties sometimes show an Archive check box and sometimes an Advanced button? (18 comments) / tipssupport
2009-02-20 / #56 Foreground activation permission is like love: You can’t steal it, it has to be given to you (48 comments) / code
2009-02-20 / #57 Announcements on the ferry, and hills that grew while I was away (8 comments) / non-computer
2009-02-23 / #58 Why is there no supported way to get the command line of another process? (28 comments) / code
2009-02-24 / #59 Email tip: Just because you get answers when you misuse a mailing list doesn’t doesn’t mean you should continue to misuse it (11 comments) / email;other
2009-02-24 / #60 Rob Cockerham investigates those companies that pay cash for gold (9 comments) / non-computer
2009-02-25 / #61 Smart quotes: The hidden scourge of text meant for computer consumption (43 comments) / other
2009-02-25 / #62 Star Trek meets The A-Team (8 comments) / non-computer
2009-02-26 / #63 Pressing a registered hotkey gives you the foreground activation love (24 comments) / other
2009-02-27 / #64 How does Raymond decide what to post on any particular day? (35 comments) / non-computer
2009-02-27 / #65 What are your high school language students complaining about today? (29 comments) / non-computer
2009-03-02 / #66 The Suggestion Box is for suggestions, that’s why it’s called a Suggestion Box (28 comments) / other
2009-03-02 / #67 Do QueryProcessCycleTime and QueryThreadCycleTime include cycles spent in kernel mode? (8 comments) / code
2009-03-03 / #68 Why is there a dry fountain in the Redmond North campus? (27 comments) / history
2009-03-03 / #69 If Twitter is micro-blogging, then is what I’m doing macro-tweeting? (16 comments) / non-computer
2009-03-04 / #70 Microspeak: Year-over-year (17 comments) / microspeak;non-computer
2009-03-05 / #71 Fixups are not the same as rewriting code, they’re just fixups (18 comments) / code
2009-03-05 / #72 Race you to the top: The Empire State Building Run-Up (7 comments) / non-computer
2009-03-06 / #73 Why is the Win32 epoch January 1, 1601? (41 comments) / other;time
2009-03-09 / #74 Why doesn’t the MoveWindow function generate the WM_GETMINMAXINFO message? (16 comments) / code
2009-03-09 / #75 Totally Recall: The meal (17 comments) / non-computer
2009-03-10 / #76 Why don’t the favorites I copy into the common Favorites directory show up in the Favorites menu of all users? (18 comments) / tipssupport
2009-03-10 / #77 The house no-electronics zone (48 comments) / non-computer
2009-03-11 / #78 Sometimes people don’t even read what they’re typing (20 comments) / other
2009-03-11 / #79 Et tu, Fargo (8 comments) / non-computer
2009-03-12 / #80 Engineering is about tradeoffs: How hard will you work to save 68KB of disk space? (84 comments) / other
2009-03-12 / #81 If Michael Jackson took up bhangra dancing (5 comments) / non-computer
2009-03-13 / #82 The perilous quandary of including external drivers on the Windows CD (53 comments) / other
2009-03-13 / #83 Raymond rewrites newspaper headlines, episode 2 (14 comments) / non-computer
2009-03-16 / #84 Why does the MoveWindow function let you suppress repainting? (8 comments) / code
2009-03-16 / #85 Overheard conversation fragment: Shrimp is not vegetables (33 comments) / non-computer
2009-03-17 / #86 Well, duh, I’d sure better get my money back (27 comments) / non-computer
2009-03-18 / #87 Raymond’s highly scientific predictions for the 2009 NCAA men’s basketball tournament (28 comments) / highly-scientific;non-computer
2009-03-18 / #88 You can’t globally reserve screen space; you can put up signs, but if somebody ignores the sign you’ll have to decide how to respond (41 comments) / other
2009-03-19 / #89 Defense in depth means that you protect against exploits that don’t exist yet (27 comments) / other
2009-03-20 / #90 How to write like Raymond: Intentional typographical errors (32 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2009-03-23 / #91 What’s the point of the MoveWindow function when we already have SetWindowPos? (36 comments) / code
2009-03-24 / #92 Double secret auto-arrange probation (35 comments) / tipssupport
2009-03-25 / #93 Caption contest: The pinball machine (56 comments) / non-computer
2009-03-26 / #94 The inability to lock someone out of the registry is a feature, not a bug (31 comments) / other
2009-03-27 / #95 I drive a car the way most people use a computer (82 comments) / other
2009-03-30 / #96 What is the implementation of WM_PRINTCLIENT? (26 comments) / code
2009-03-31 / #97 Freudian typo? The spinlock (11 comments) / other
2009-03-31 / #98 2009 Q1 link clearance: Microsoft blogger edition (10 comments) / other
2009-04-01 / #99 Office redecoration: The classic Microsoft prank (12 comments) / non-computer
2009-04-02 / #100 Windows 95 almost had floppy insertion detection but the training cost was prohibitive (119 comments) / history
2009-04-03 / #101 On the almost-feature of floppy insertion detection in Windows 95 (80 comments) / history
2009-04-06 / #102 There’s nothing wrong with making bold treeview items (8 comments) / code
2009-04-07 / #103 Clap and the filter graph claps with you (19 comments) / history
2009-04-08 / #104 Let GDI do your RLE compression for you (25 comments) / code
2009-04-09 / #105 Being able to call a function without using GetProcAddress is not a security vulnerability (13 comments) / other
2009-04-10 / #106 When people ask to disable drag and drop, they often are trying to disable accidental drag and drop (62 comments) / tipssupport
2009-04-13 / #107 Why is there no support in the window manager for mouse button chording? (21 comments) / other
2009-04-14 / #108 Microspeak: The plate (16 comments) / microspeak;other
2009-04-15 / #109 Taxes redux: You can’t open the file until the user tells you to open it (48 comments) / other
2009-04-16 / #110 The frustration of people who are not interested in why something works but only interested in the magic phrase they need to type (86 comments) / other
2009-04-17 / #111 Why is the animation common control limited to RLE8-compressed animations? (48 comments) / history
2009-04-20 / #112 The dangers of destroying a window while it is processing a sent message (14 comments) / code
2009-04-20 / #113 Principles of economics, translated (3 comments) / non-computer
2009-04-21 / #114 How to answer the telephone, according to the manual (47 comments) / non-computer
2009-04-22 / #115 What structure packing do the Windows SDK header files expect? (32 comments) / code
2009-04-22 / #116 If you can’t find the statistics you want, then just make them up (22 comments) / non-computer
2009-04-23 / #117 Why are there two values for PSH_WIZARD97? (25 comments) / history
2009-04-23 / #118 Fashion is something that can be acquired by looking at lots of different fashions (2 comments) / non-computer
2009-04-24 / #119 No, we’re not nerds, why do you ask? (23 comments) / non-computer
2009-04-27 / #120 The Start menu pin list is just a list of items; there’s no magic (18 comments) / tipssupport
2009-04-27 / #121 What kind of uncle am I? (38 comments) / non-computer
2009-04-28 / #122 A simple bar chart on letter distribution (18 comments) / non-computer
2009-04-29 / #123 Why is there sometimes a half-second delay between the click and the action? (36 comments) / code
2009-04-29 / #124 Qrystal does more research into those spam blogs (4 comments) / non-computer
2009-04-30 / #125 Those notification icons, with their clicks, double-clicks, right-clicks… what’s up with that? (20 comments) / tipssupport
2009-04-30 / #126 Identity theft via repeated name changes (26 comments) / non-computer
2009-05-01 / #127 When advanced users outsmart themselves: The device removal notification icon (135 comments) / other
2009-05-04 / #128 The dummy icon that doesn’t know that its fifteen seconds are over (17 comments) / other
2009-05-05 / #129 The social skills of a thermonuclear device: Why did you hang up? (45 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2009-05-06 / #130 You can tell which people listed blogging as a performance review goal (36 comments) / non-computer
2009-05-07 / #131 When you subclass a window, it’s the original window procedure of the window you subclass you have to call when you want to call the original window procedure (23 comments) / code
2009-05-07 / #132 A puzzle: Why are so many fake LiveJournal blogs written by 29-year-olds? (32 comments) / other
2009-05-08 / #133 Writing a sort comparison function, redux (47 comments) / code
2009-05-11 / #134 How do I get a window back on the screen when it moved far, far away? (63 comments) / tipssupport
2009-05-12 / #135 Microspeak: T-shirt sizing (16 comments) / microspeak;other
2009-05-13 / #136 People become more trustworthy the more you trust them (24 comments) / other
2009-05-14 / #137 Creating shortcuts in the same folder as the target isn’t as stupid as you may think (18 comments) / other
2009-05-14 / #138 Parents billed when kids miss school: Pay for play (40 comments) / non-computer
2009-05-15 / #139 Imagine our luck when we found one of the fancy conference rooms available for our meeting (13 comments) / non-computer
2009-05-15 / #140 Windows Vista User Experience Guidelines is online and downloadable (40 comments) / other
2009-05-18 / #141 How do I know whether a window message was processed? (6 comments) / code
2009-05-19 / #142 Just letting you know I had to reboot my telephone (34 comments) / non-computer
2009-05-20 / #143 Signs that your new building was originally designed for another purpose: Rest rooms (42 comments) / non-computer
2009-05-21 / #144 First, try reading the error message: Episode 1 (61 comments) / tipssupport
2009-05-22 / #145 If an event is signaled more than once, are they delivered in the order in which they were signaled? (18 comments) / code
2009-05-22 / #146 Chicken chicken chicken chicken (43 comments) / non-computer
2009-05-25 / #147 Why can’t you change the alignment of an edit control after it has been created? (25 comments) / code
2009-05-25 / #148 The latest installment of Wallace and Gromit coming to Seattle (4 comments) / non-computer
2009-05-26 / #149 What do you call a gadget that is used for debugging which looks at the properties of other gadgets? (5 comments) / other
2009-05-26 / #150 How to hide privacy violations in a privacy disclosure statement, part 2 (27 comments) / non-computer;reading-the-fine-print
2009-05-27 / #151 Before designing and implementing around an assumption, it helps to check that your assumption is true (24 comments) / other
2009-05-28 / #152 I’m sorry, you don’t have permission to know where this shortcut file should show up in the Explorer window (26 comments) / other
2009-05-28 / #153 An unexpected application of the First Law of Thermodynamics (24 comments) / non-computer
2009-05-29 / #154 Alternatives to using the #error directive to check whether the compiler even sees you (21 comments) / code
2009-05-29 / #155 Lessons from the state police, like what to do when they pull you over (14 comments) / non-computer
2009-06-01 / #156 Why does the CreateProcess function modify its input command line? (27 comments) / history
2009-06-01 / #157 Whew, I’m not doing *that* again! (39 comments) / non-computer
2009-06-02 / #158 Who you calling boring? (13 comments) / non-computer
2009-06-02 / #159 Spam trackback attack returns, it’s not a matter of whether but how much (30 comments) / non-computer
2009-06-03 / #160 What does the «Zw» prefix mean? (26 comments) / history
2009-06-03 / #161 Last tube standing: The Cardboard Tube Fighting League (7 comments) / non-computer
2009-06-04 / #162 Why can’t I rotate the display with ChangeDisplaySettingsEx? (13 comments) / code
2009-06-04 / #163 Cool guys don’t look at explosions (10 comments) / non-computer
2009-06-05 / #164 Bonus chatter about that virus that is responsible for the top six Explorer crashes (29 comments) / other
2009-06-05 / #165 I’m sorry, Brian George, but we got cut off and I couldn’t call you back (24 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2009-06-08 / #166 Why isn’t there a separate British English version of Windows? (62 comments) / other
2009-06-08 / #167 On the importance of sanity-checking values where money is involved (13 comments) / non-computer
2009-06-09 / #168 Mixed messages from the IT department regarding email safety (20 comments) / other
2009-06-10 / #169 Why does MS-DOS use 8.3 filenames instead of, say, 11.2 or 16.16? (45 comments) / history
2009-06-10 / #170 Foreign languages can be used as a secret code, but it’s not always a good secret code (41 comments) / other
2009-06-11 / #171 Why does Explorer use the term KB instead of KiB? (74 comments) / other
2009-06-11 / #172 Spam trackback attack week 2 statistics (17 comments) / non-computer
2009-06-12 / #173 A concrete illustration of practical running time vs big-O notation (29 comments) / code
2009-06-12 / #174 Fortune cookie fortunes are getting less and less interesting all the time (42 comments) / non-computer
2009-06-15 / #175 Why do some file operations take file names and others take handles? (29 comments) / history
2009-06-15 / #176 Happening to be at the same post-concert restaurant as symphony performers (13 comments) / non-computer
2009-06-16 / #177 Management-speak: Upping the sats and stimulating the ecosystem (37 comments) / microspeak;other
2009-06-17 / #178 Sure, I can get spurious WM_MOUSEMOVE messages, but why do they keep streaming in? (20 comments) / other
2009-06-17 / #179 Welcome to Leavenworth, Washington’s faux-Bavarian village (19 comments) / non-computer
2009-06-18 / #180 The dangers of mixing synchronous and asynchronous state (19 comments) / code
2009-06-18 / #181 Don’t you hate it when someone leaks a ref to your clothes? (33 comments) / non-computer
2009-06-19 / #182 You can’t leave a critical section you never entered (11 comments) / code
2009-06-19 / #183 The butter and the money for the butter (39 comments) / non-computer
2009-06-22 / #184 Why does a flashing taskbar result in a fullscreen console returning to windowed mode? (23 comments) / other
2009-06-22 / #185 High school students guess what happens to money deposited into checking accounts (37 comments) / non-computer
2009-06-23 / #186 Oh great, and my phone even has a CPU meter (33 comments) / non-computer
2009-06-24 / #187 Yet another experiment in motivating people to find and fix bugs (11 comments) / other
2009-06-24 / #188 Spam trackback attack week 3 statistics (10 comments) / non-computer
2009-06-25 / #189 First, try reading the error message, episode 2: Even programmers see error messages without reading them (22 comments) / other
2009-06-25 / #190 News flash: Children are influenced by advertising (27 comments) / news-flash;non-computer
2009-06-26 / #191 The thread that gets the DLL_PROCESS_DETACH notification is not necessarily the one that got the DLL_PROCESS_ATTACH notification (11 comments) / code
2009-06-26 / #192 John Swansburg deftly declines the fine print disclaimer on his Heelys (11 comments) / non-computer;reading-the-fine-print
2009-06-29 / #193 If you want to consume all the virtual address space, well, then go ahead and consume it, you don’t need my help (9 comments) / code
2009-06-29 / #194 Learning to lie: Early forays (25 comments) / non-computer
2009-06-30 / #195 Microspeak: The plan for the plan (10 comments) / microspeak;non-computer
2009-06-30 / #196 2009 mid-year link clearance (19 comments) / other
2009-07-01 / #197 The New York Times says I’m doing it all wrong, but maybe that’s for the better (14 comments) / non-computer
2009-07-02 / #198 You can use a Coke slogan as your password, but not a Pepsi one (18 comments) / tipssupport
2009-07-02 / #199 Foreign languages can be used to impede communication (24 comments) / non-computer
2009-07-03 / #200 Why does my screen go black when an emergency hibernation is in progress? (24 comments) / tipssupport
2009-07-03 / #201 The most unwanted song ever (11 comments) / non-computer
2009-07-06 / #202 A 32-bit application can allocate more than 4GB of memory, and you don’t need 64-bit Windows to do it (20 comments) / code
2009-07-06 / #203 If somebody speaks a language I’m not expecting, sometimes I don’t understand it, even though I should (22 comments) / non-computer
2009-07-07 / #204 Command line parsers look at what you typed, not what what you typed looks like (32 comments) / other
2009-07-07 / #205 More musings on the peculiar linguistic status of languages acquired in childhood (19 comments) / non-computer
2009-07-08 / #206 Attack of the rogue feature: Oh no, where did my Explorer icon labels go? (19 comments) / tipssupport
2009-07-08 / #207 Up and down often substitute for compass directions, but you have to know when you’ve taken it too far (26 comments) / non-computer;the-wisdom-of-seventh-graders
2009-07-09 / #208 MS-DOS also allowed spaces in file names, although vanishingly few programs knew how to access them (30 comments) / history
2009-07-09 / #209 Film students and The Bicycle Thief (41 comments) / non-computer
2009-07-10 / #210 If dynamic DLL dependencies were tracked, they’d be all backwards (15 comments) / code
2009-07-10 / #211 The world reaction to the unexpected death of Michael Jackson extends to young children (14 comments) / non-computer
2009-07-13 / #212 Speculation on how a mishandled 13-character string can result in a blue screen (35 comments) / other
2009-07-13 / #213 Failed follow-up: The case of the dubious dental work (4 comments) / non-computer
2009-07-14 / #214 The fun and profit of manipulating the DIB color table can be done without having to modify it (11 comments) / code
2009-07-14 / #215 What happens to your restaurant tip? (37 comments) / non-computer
2009-07-15 / #216 Separating the metadata from the DIB pixels: Precalculating the BITMAPINFO (4 comments) / code
2009-07-15 / #217 On gender differences in expectations of thinness, and the impact on guys who live in their parents’ basement (16 comments) / non-computer
2009-07-16 / #218 Separating the metadata from the DIB pixels: Changing the raster operation (4 comments) / code
2009-07-16 / #219 Caption contest: The pinball machine: Results (13 comments) / code
2009-07-17 / #220 The disembodiment of DIBs from the DIB section (4 comments) / code
2009-07-20 / #221 Why was MoveTo replaced with MoveToEx? (42 comments) / history
2009-07-21 / #222 Proto-Microspeak: Coceptualize (35 comments) / microspeak;non-computer
2009-07-22 / #223 Microspeak: Whale Boy (9 comments) / history
2009-07-22 / #224 I saw a fascinating documentary about bugs (7 comments) / non-computer
2009-07-23 / #225 Your debugging code can be a security hole: Contest tickets (27 comments) / non-computer
2009-07-23 / #226 Changes to the the 2009/2010 Seattle Symphony subscription season, part 2 (0 comments) / non-computer
2009-07-24 / #227 If you wished a language supported the preprocessor, you know, you can fix that (24 comments) / code
2009-07-24 / #228 The guerilla wedding (11 comments) / non-computer
2009-07-27 / #229 Polling by sleeping versus polling by waiting with a timeout (34 comments) / code
2009-07-27 / #230 Conway-Kochen Free Will Theorem: Lecture series (12 comments) / non-computer
2009-07-28 / #231 How do I quickly position two windows side by side? (31 comments) / tipssupport
2009-07-28 / #232 Mr. Lee CatCam lets you see what a cat does all day (4 comments) / non-computer
2009-07-29 / #233 How do I put a window at the edge of the screen without triggering the automatic positioning behavior? (18 comments) / tipssupport
2009-07-29 / #234 The advantage of knowing your limits of discrimination (37 comments) / non-computer
2009-07-30 / #235 What is the difference between CSIDL_DESKTOP and CSIDL_DESKTOPDIRECTORY? (10 comments) / code
2009-07-30 / #236 How do I quickly position two windows side by side using only the keyboard? (14 comments) / tipssupport
2009-07-31 / #237 What is the difference between Directory and DirectoryBackground? (7 comments) / code
2009-07-31 / #238 How organizations inadvertently confirm facts when they try not to (14 comments) / non-computer
2009-08-03 / #239 When giving a presentation with a diagram, pretend the diagram doesn’t exist (15 comments) / other
2009-08-03 / #240 A burglar tells you the best place to hide your money (13 comments) / non-computer
2009-08-04 / #241 Programming means that sometimes you have to snap two blocks together (53 comments) / code
2009-08-05 / #242 How do you drop on the background of an Explorer window when it is in details view? (38 comments) / tipssupport
2009-08-05 / #243 Searching for Evil: Spot the scam (8 comments) / non-computer
2009-08-06 / #244 The great thing about regular expression engines is that there are so many to choose from (39 comments) / code
2009-08-07 / #245 SHCIDS_CANONICALONLY is the moral equivalent in the shell namespace of the Unicode ordinal comparison (3 comments) / code
2009-08-07 / #246 Not beany enough (27 comments) / non-computer
2009-08-10 / #247 The wisdom of seve^H^H^H^Hsixth graders: What it means to be an adult (24 comments) / non-computer;the-wisdom-of-seventh-graders
2009-08-10 / #248 Why doesn’t String.Format throw a FormatException if you pass too many parameters? (19 comments) / code
2009-08-11 / #249 Actually, FlagsAttribute can’t do more; that’s why it’s an attribute (27 comments) / code
2009-08-11 / #250 The wisdom of seventh graders: What it means to be an adult (20 comments) / non-computer;the-wisdom-of-seventh-graders
2009-08-12 / #251 Why can’t I pass a reference to a derived class to a function that takes a reference to a base class by reference? (23 comments) / code
2009-08-12 / #252 The wisdom of sev^H^H^Heighth graders: What it means to be an adult (16 comments) / non-computer;the-wisdom-of-seventh-graders
2009-08-13 / #253 Common gotchas when writing your own p/invoke (21 comments) / code
2009-08-13 / #254 Landing the Space Shuttle is hard enough as it is (17 comments) / non-computer
2009-08-14 / #255 Why can’t I declare a type that derives from a generic type parameter? (18 comments) / code
2009-08-14 / #256 It’s not just on the Internet that nobody knows you don’t have a real office (13 comments) / non-computer
2009-08-17 / #257 The format rectangle is recalculated whenever the window resizes, and that’s a good thing (5 comments) / code
2009-08-18 / #258 Microspeak: Action on (30 comments) / microspeak;non-computer
2009-08-19 / #259 There’s no law that says a meeting can’t end early (30 comments) / non-computer
2009-08-20 / #260 Why does Windows wait longer than my screen saver idle timeout before starting the screen saver? (32 comments) / tipssupport
2009-08-21 / #261 Restating the obvious about the WM_NOTIFY message (5 comments) / code
2009-08-24 / #262 The operating system doesn’t know which language programs are written in – by the time the code hits the CPU, they all look the same (27 comments) / other
2009-08-24 / #263 City noises and their effects on songbirds (7 comments) / non-computer
2009-08-25 / #264 My phone just DoS’d my office network (22 comments) / non-computer
2009-08-25 / #265 Meta-content: Suggestion Box 4 will open sometime next year (22 comments) / non-computer
2009-08-26 / #266 In Ephesus, you juggle or die (4 comments) / non-computer
2009-08-26 / #267 The way to stop people from copying files to a folder is to use NTFS security, not to block drag/drop (19 comments) / tipssupport
2009-08-27 / #268 What is the maximum number of timers a program can create? (12 comments) / history
2009-08-27 / #269 Isn’t every dinner at a technology conference a geek dinner? (8 comments) / other
2009-08-28 / #270 The great thing about naming conventions is that not everybody will follow them (5 comments) / code
2009-08-28 / #271 A different perspective from the first row of the symphony (7 comments) / non-computer
2009-08-31 / #272 Why do new controls tend to use COM instead of window messages? (25 comments) / other
2009-08-31 / #273 And they don’t take American Express (7 comments) / non-computer
2009-09-01 / #274 One way to make sure nobody sends you feedback (17 comments) / non-computer
2009-09-01 / #275 Walt Mosspuppet: The return of the fake blog (9 comments) / non-computer
2009-09-02 / #276 The wheels of government bureaucracy turn slowly: Green cards (13 comments) / non-computer
2009-09-02 / #277 Welcome to the 11th annual Mid-Atlantic Road-E-O (2 comments) / non-computer
2009-09-03 / #278 Woe unto PROGMAN.INI (17 comments) / history
2009-09-03 / #279 Grown in the middle of some very respectable Seattle suburbs, such as Renton (14 comments) / non-computer
2009-09-04 / #280 Reading the error message carefully can help you see how the computer misinterpreted what you typed (17 comments) / code
2009-09-04 / #281 Two-year-old as finite state machine (10 comments) / non-computer
2009-09-07 / #282 Thanks for identifying the good programmers for us (25 comments) / other
2009-09-08 / #283 Things other people have written that have amused me, Episode 2 (6 comments) / other;things-ive-written-that-have-amused-other-people
2009-09-08 / #284 Why are developer tools orange? (17 comments) / other
2009-09-09 / #285 When you agree to write to a particular length, make sure your content is actually that length (12 comments) / non-computer
2009-09-09 / #286 Hey, you look Chinese, we have a class for people like you (30 comments) / non-computer
2009-09-10 / #287 Management-speak: Focus (39 comments) / microspeak;other
2009-09-10 / #288 Start with a $50,000 grant, hold a fundraiser, lose $47,000 (8 comments) / non-computer
2009-09-11 / #289 If you’re handling an out of memory exception, you probably shouldn’t allocate memory (14 comments) / code
2009-09-11 / #290 Most people who go to an open house aren’t actually interested in buying it (10 comments) / non-computer
2009-09-14 / #291 Can you create an information context for the display? (9 comments) / code
2009-09-14 / #292 A complex family calculus (16 comments) / non-computer
2009-09-15 / #293 Why does the Start menu search box autoselect some items but not others? (10 comments) / tipssupport
2009-09-15 / #294 Crazy Eddie: His prices were insane because it was all a criminal operation (5 comments) / non-computer
2009-09-16 / #295 Whoa there, logging on awful fast now are we? (16 comments) / tipssupport
2009-09-16 / #296 Rentonites concerned about Hooters opening in their town, but not for the reason you think (7 comments) / non-computer
2009-09-17 / #297 Should I fix the spelling in the United States Constitution? (23 comments) / non-computer;other
2009-09-18 / #298 Windows 95’s ticking death (24 comments) / history
2009-09-21 / #299 What is the logic behind the thumb size and position calculation in scroll bars? (16 comments) / code
2009-09-21 / #300 We accept cash, credit cards, and Microsoft cardkeys (11 comments) / non-computer
2009-09-22 / #301 Things I’ve written that have amused other people, Episode 5 (30 comments) / other;the-social-skills-of-a-thermonuclear-device;things-ive-written-that-have-amused-other-people
2009-09-23 / #302 We’ve got your hotel surrounded (on one side) (and not even the entire side) (35 comments) / non-computer
2009-09-23 / #303 The COM marshaller uses the COM task allocator to allocate and free memory (17 comments) / code
2009-09-24 / #304 When people ask for security holes as features: Privileged execution (69 comments) / other
2009-09-24 / #305 Don’t panic, it’s just H1N1 (12 comments) / non-computer
2009-09-25 / #306 The ways people mess up IUnknown::QueryInterface, episode 2 (35 comments) / code
2009-09-28 / #307 Why doesn’t Explorer have an interface for creating hard links? (119 comments) / other
2009-09-29 / #308 Microspeak: Net net (24 comments) / microspeak;non-computer
2009-09-30 / #309 Why do messages posted by PostThreadMessage disappear? (8 comments) / code
2009-09-30 / #310 2009 Q3 link clearance: Microsoft blogger edition (7 comments) / other
2009-10-01 / #311 In the search for the subtle source of the problem, you sometimes overlook the obvious one (36 comments) / code
2009-10-01 / #312 A Few Seconds of Panic: Life as an NFL kicker (5 comments) / non-computer
2009-10-02 / #313 When you commit memory, you get a commitment to receive memory when you need it, but no sooner (44 comments) / other
2009-10-02 / #314 The mystery of the other girlfriend (32 comments) / non-computer
2009-10-05 / #315 Why doesn’t the mail image resizer check the image size before offering to resize? (70 comments) / other
2009-10-05 / #316 Trying to come up with the most annoying meal ever (42 comments) / non-computer
2009-10-06 / #317 Proto-Microspeak: Efforting (19 comments) / microspeak;non-computer
2009-10-07 / #318 The ways people mess up IUnknown::QueryInterface, episode 3 (20 comments) / code
2009-10-07 / #319 I will be speaking at Reflections|Projections 2009 (15 comments) / other
2009-10-08 / #320 What is the format of a double-null-terminated string with no strings? (31 comments) / code
2009-10-08 / #321 In Hawaiʻi, «mahalo» might officially mean «thank you» (39 comments) / non-computer
2009-10-09 / #322 LoadString can load strings with embedded nulls, but your wrapper function might not (14 comments) / code
2009-10-12 / #323 The classical model for linking (12 comments) / other
2009-10-13 / #324 Why do we have import libraries anyway? (43 comments) / other
2009-10-13 / #325 You always hurt the things you love (36 comments) / non-computer
2009-10-14 / #326 When you want to pass a parameter on the command line, don’t forget to pass the parameter on the command line (26 comments) / other
2009-10-14 / #327 Viral video: Pianotrappan (12 comments) / non-computer
2009-10-15 / #328 Don’t use global state to manage a local problem, practical exam (3 comments) / code;tipssupport
2009-10-16 / #329 Important window message numbers to memorize (11 comments) / code
2009-10-16 / #330 Arrived in Urbana-Champaign for Reflections|Projections 2009 (38 comments) / non-computer
2009-10-19 / #331 Thinking inside the box (32 comments) / other
2009-10-19 / #332 Leaving Reflections | Projections 2009, travel marathon part two (21 comments) / other
2009-10-20 / #333 How to write like Raymond: Start a sentence with a question mark (43 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2009-10-21 / #334 Please, sir take a seat, sit anywhere you like, but oh, no, not there, rats (16 comments) / non-computer
2009-10-22 / #335 Once you announce a date, you’re already late (30 comments) / other
2009-10-23 / #336 If you have to cast, you can’t afford it (41 comments) / code
2009-10-26 / #337 Yes, there’s a new desktop window manager, but no, I don’t know any more about it than you do (7 comments) / other
2009-10-26 / #338 Why won’t my computer go to sleep? Where is the energy going? (20 comments) / tipssupport
2009-10-27 / #339 Freudian typo: The accidental emoticon (5 comments) / non-computer
2009-10-27 / #340 If aluminum pull tab redemption is a rumor, what happens to all the tabs? (25 comments) / non-computer
2009-10-28 / #341 Why does the Photo Gallery show all my photos with a colored tinge? (31 comments) / history;tipssupport
2009-10-28 / #342 Warning: Not much useful content inside (20 comments) / other
2009-10-29 / #343 What this batch file needs is more escape characters (16 comments) / tipssupport
2009-10-30 / #344 What is the format for FirstInstallDateTime on Windows 95? (19 comments) / history;time
2009-10-30 / #345 Still working out the finer details of how this Hallowe’en thing works (31 comments) / non-computer
2009-11-02 / #346 Hey, is there somebody around to accept this award? (66 comments) / history
2009-11-03 / #347 Microspeak: Net out (5 comments) / microspeak;non-computer
2009-11-03 / #348 When asked to choose among multiple options, the politician will pick all of them (14 comments) / non-computer
2009-11-04 / #349 Good advice comes with a rationale so you can tell when it becomes bad advice (20 comments) / other
2009-11-04 / #350 In the product end game, every change carries significant risk (22 comments) / history
2009-11-05 / #351 The day the coffee machine exploded (19 comments) / non-computer
2009-11-06 / #352 Signs that the symbols in your stack trace are wrong (19 comments) / code
2009-11-09 / #353 How do I create a toolbar that sits in the taskbar? (12 comments) / code
2009-11-09 / #354 Stories of anticipating dead computers: Windows Home Server (65 comments) / dead-computers;other
2009-11-10 / #355 Little-known command line utility: clip (55 comments) / tipssupport
2009-11-10 / #356 I reorganized your kitchen for you, sweetie (29 comments) / non-computer
2009-11-11 / #357 Trying to avoid double-destruction and inadvertently triggering it (34 comments) / code
2009-11-11 / #358 Leave it to the Taiwanese to think of wrapping a donut inside another donut (19 comments) / non-computer
2009-11-12 / #359 Why can you create a PIF file that points to something that isn’t an MS-DOS program? (22 comments) / history
2009-11-13 / #360 You thought reasoning about signals was bad, reasoning about a total breakdown of normal functioning is even worse (17 comments) / code
2009-11-13 / #361 What a drag: You can be a drag in managed code, too (12 comments) / code;what-a-drag
2009-11-16 / #362 Why does shlwapi import a nonexistent function? (27 comments) / history
2009-11-16 / #363 How to pretend that you attended my talk at UIUC Reflections|Projections 2009 (12 comments) / other
2009-11-17 / #364 How to tell when your patent has been approved (10 comments) / non-computer
2009-11-17 / #365 We found the author of Notepad, sorry you didn’t go to the award ceremony (34 comments) / history
2009-11-18 / #366 How do I move the Windows.edb and other search index files? (7 comments) / tipssupport
2009-11-18 / #367 News flash: Healthy people live longer (15 comments) / non-computer
2009-11-19 / #368 We’re using a smart pointer, so we can’t possibly be the source of the leak (29 comments) / code
2009-11-20 / #369 The difference between assignment and attachment with ATL smart pointers (15 comments) / code
2009-11-23 / #370 Can I talk to that William fellow? He was so helpful (24 comments) / history
2009-11-24 / #371 When computer programmers dabble in making change (51 comments) / other
2009-11-25 / #372 How do I get the command line of another process? (28 comments) / code
2009-11-25 / #373 The magic of chocolate milk (19 comments) / non-computer
2009-11-26 / #374 When you want to copy a file into a folder, make sure you have a folder (19 comments) / tipssupport
2009-11-26 / #375 I want to take all your chocolate milk (17 comments) / non-computer
2009-11-27 / #376 Caches are nice, but they confuse memory leak detection tools (16 comments) / tipssupport
2009-11-27 / #377 How does Raymond get rid of his excess pennies? (26 comments) / non-computer
2009-11-30 / #378 Where did WIN32_LEAN_AND_MEAN come from? (25 comments) / history
2009-11-30 / #379 Umpires are the lymphatic system of the baseball diamond (19 comments) / non-computer
2009-12-01 / #380 Microspeak: Cookie licking (23 comments) / microspeak;non-computer
2009-12-01 / #381 Intelius cancels its cell phone directory, saving me the trouble of having to opt out of it every three months (16 comments) / non-computer
2009-12-02 / #382 A shell extension is a guest in someone else’s house; don’t go changing the carpet (21 comments) / code
2009-12-02 / #383 Fake trend watch: Bridesmaid pre-nuptial agreements (31 comments) / non-computer
2009-12-03 / #384 What is the effect of setting the /3GB switch on my 64-bit Windows machine? (41 comments) / other
2009-12-03 / #385 Why do Swedes count «1, X, 2»? (25 comments) / non-computer
2009-12-04 / #386 When there is a long line of people waiting for a shared resource, you want to investigate the person who is hogging the resource, not the people waiting in line for it (16 comments) / other
2009-12-04 / #387 Why do some comments have a star? (28 comments) / non-computer
2009-12-07 / #388 What is the story behind multimon.h? (24 comments) / history
2009-12-07 / #389 I’m sorry, Brian/Bryan Gregory, that confirming the spelling of your name is too much for you to handle (27 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2009-12-08 / #390 Things I’ve written that have amused other people: Episode 6 (4 comments) / non-computer;things-ive-written-that-have-amused-other-people
2009-12-08 / #391 How do I determine the processor’s cache line size? (40 comments) / code
2009-12-09 / #392 What are those little overlay icons: Windows 7 edition (28 comments) / tipssupport
2009-12-10 / #393 Only an idiot would have parameter validation, and only an idiot would not have it (59 comments) / other
2009-12-10 / #394 Those houses are too small for anyone to live in (24 comments) / non-computer
2009-12-11 / #395 The format of bitmap resources (10 comments) / code
2009-12-11 / #396 Lamebook: The best of Facebook (22 comments) / non-computer
2009-12-14 / #397 Why did the word Start disappear from the Start button? (48 comments) / other
2009-12-15 / #398 You are listening to Radio Free Bob, a pirate radio station broadcasting on the Microsoft corporate network (43 comments) / history
2009-12-16 / #399 Just like in real life, you can hire someone to do your programming taxes for you (37 comments) / other
2009-12-17 / #400 What was the ShowCursor function intended to be used for? (17 comments) / history
2009-12-17 / #401 Surprising things injected into Mozart cadenzas (18 comments) / non-computer
2009-12-18 / #402 I got an array with plenty of nuthin’ (24 comments) / code
2009-12-18 / #403 The economic inefficiency of gift-giving (19 comments) / non-computer
2009-12-21 / #404 What version of the compiler does Raymond use? (18 comments) / other
2009-12-21 / #405 Christmas gift idea for your favorite Microsoft fanboy geek with no sense of fashion or taste (8 comments) / non-computer
2009-12-22 / #406 No, you can’t lock icons to the user’s desktop (28 comments) / other
2009-12-22 / #407 Tweeting Too Hard: Best of Twitter (5 comments) / non-computer
2009-12-23 / #408 Why is it possible to destroy a critical section while it is in use? (15 comments) / code
2009-12-23 / #409 Exploiting the inattentive: The posted wine rating may not match the wine on the shelf (7 comments) / exploiting-the-inattentive;non-computer
2009-12-24 / #410 Why don’t we create a special class of programs which can break the normal rules? (20 comments) / code
2009-12-24 / #411 The NPR Planet Money one-hour story competition: The shopping mall convention (2 comments) / non-computer
2009-12-25 / #412 No, you didn’t win the Jethro Tull box set, and please tell everybody else in your area code to stop calling me (28 comments) / non-computer
2009-12-25 / #413 Merry Christmas to me: Zune headphones (4 comments) / non-computer
2009-12-28 / #414 How does the keyboard autorepeat setting work? (11 comments) / history
2009-12-29 / #415 How do I minimize a group of windows in Windows 7 from the taskbar? (37 comments) / tipssupport
2009-12-30 / #416 Even your folder icons can be used as a Rorschach test (19 comments) / non-computer
2009-12-30 / #417 Join the Seattle Symphony for a New Year Eve’s performance of Beethoven’s Nin… wait a second… (11 comments) / non-computer
2009-12-31 / #418 Why does COM require output pointers to be initialized even on failure? (4 comments) / code
2009-12-31 / #419 2009 year-end link clearance (42 comments) / other

2010


Date Title
2010-01-01 / #0 Your program assumes that COM output pointers are initialized on failure; you just don’t realize it yet (16 comments) / code
2010-01-01 / #1 The goggles, they do nothing!: Gemulator advertisement from 1992 (14 comments) / history
2010-01-04 / #2 How about not granting debug privileges to users? (33 comments) / other
2010-01-04 / #3 How many sides are there to a snowflake? The answer may surprise your marketing department (17 comments) / non-computer
2010-01-05 / #4 Microspeak: Engagement (23 comments) / other
2010-01-05 / #5 Thanks for coming together to enjoy the holiday together, now get off my lawn (6 comments) / non-computer
2010-01-06 / #6 Can you get rotating an array to run faster than O(n²)? (33 comments) / other
2010-01-06 / #7 The wisdom of seventh graders: Success (30 comments) / non-computer
2010-01-07 / #8 How to change the debugger attached to a process (12 comments) / other
2010-01-07 / #9 Learning how to cheat at Candy Land (36 comments) / non-computer
2010-01-08 / #10 What is the hSection parameter to CreateDIBSection for? (9 comments) / code
2010-01-11 / #11 Why aren’t compatibility workarounds disabled when a debugger is attached? (22 comments) / other
2010-01-11 / #12 Pros and cons of using a four-year-old as your language instructor (15 comments) / non-computer
2010-01-12 / #13 Weight Gain 4000, the competition (9 comments) / non-computer
2010-01-12 / #14 But that’s not all: The story of that cheesy Steve Ballmer Windows video (15 comments) / history
2010-01-13 / #15 Why does GetCommandLine give me a corrupted command line? (10 comments) / code
2010-01-13 / #16 News flash: Wearing clothing keeps you warm (12 comments) / news-flash;non-computer
2010-01-14 / #17 It rather involved being on the other side of this airtight hatchway: If they can inject code, then they can run code (20 comments) / other
2010-01-14 / #18 I could just use a picture of a regular-sized shopping cart from farther away (6 comments) / other
2010-01-15 / #19 How you might be loading a DLL during DLL_PROCESS_DETACH without even realizing it (12 comments) / code
2010-01-18 / #20 It’s fine to rename a function in your DEF file, but when you do, you have to link to that function by its new name (18 comments) / code
2010-01-18 / #21 People just like you, for certain values of you (39 comments) / non-computer
2010-01-19 / #22 The hardest part of writing the video game Monty Python’s Complete Waste of Time (17 comments) / non-computer
2010-01-20 / #23 The wrong way to determine the size of a buffer (62 comments) / code
2010-01-21 / #24 Historically, Windows didn’t tend to provide functions for things you can already do yourself (62 comments) / other
2010-01-22 / #25 During process termination, the gates are now electrified (24 comments) / code
2010-01-25 / #26 Why doesn’t the window manager have a SetClipboardDataEx helper function? (29 comments) / code
2010-01-26 / #27 Microspeak: Zap (23 comments) / code;microspeak
2010-01-27 / #28 If you are trying to understand an error, you may want to look up the error code to see what it means instead of just shrugging (64 comments) / tipssupport
2010-01-28 / #29 What idiot would hard-code the path to Notepad? (46 comments) / code
2010-01-29 / #30 Microsoft phenomenon: The annual award that winds up being awarded only once (19 comments) / non-computer
2010-01-29 / #31 How do I suppress full window drag/resize for just one window? (12 comments) / code
2010-02-01 / #32 Why can’t I use the linker to delay-load a function from kernel32? (20 comments) / code
2010-02-01 / #33 It looks a little like CMD except there is white on the background (27 comments) / excursions-into-east-asian-pop-music;other
2010-02-02 / #34 Microspeak: Future-proofing (16 comments) / microspeak;other
2010-02-02 / #35 It appears that car park computers revert to their native language, German, when placed under stress (25 comments) / non-computer
2010-02-03 / #36 What is the maximum length of an environment variable? (25 comments) / tipssupport
2010-02-03 / #37 Long-term temporary parking? (22 comments) / non-computer
2010-02-04 / #38 Why doesn’t the shell animation control tell me the dimensions of the animation it is displaying? (12 comments) / other
2010-02-04 / #39 The Brits once again come up with a clever solution to the problem of the scatterbrained client (11 comments) / non-computer
2010-02-05 / #40 Why doesn’t my program receive the WM_DWMSENDICONICTHUMBNAIL message when I ask for an iconic representation? (37 comments) / code
2010-02-05 / #41 A simple Venn diagram teaches you the difference between Norway and Sweden (12 comments) / non-computer
2010-02-08 / #42 For better performance, set all your monitors to the same color format (29 comments) / other
2010-02-08 / #43 The 2010/2011 Seattle Symphony subscription season at a glance (17 comments) / non-computer
2010-02-09 / #44 Moving by staying put (13 comments) / other
2010-02-09 / #45 No matter what you do, someone will call you an idiot, part 2 (41 comments) / other
2010-02-10 / #46 Those annoying satisfaction surveys (54 comments) / non-computer
2010-02-11 / #47 A sense of the term anonymous with which I had previously been unfamiliar (18 comments) / other
2010-02-12 / #48 How do I get information about the target of a symbolic link? (26 comments) / code
2010-02-12 / #49 A decidedly Canadian response to the shambles that was the running portion of the modern pentathlon in Beijing (28 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2010-02-15 / #50 Private classes, superclassing, and global subclassing (9 comments) / code
2010-02-15 / #51 Advocating the overthrow of the government of the United States by force or subversion (43 comments) / non-computer
2010-02-16 / #52 It rather involved being on the other side of this airtight hatchway: Dubious escalation (40 comments) / other
2010-02-16 / #53 The fundamental rule of rocket science (23 comments) / non-computer
2010-02-17 / #54 Happy birthday, Windows 2000, and try not to get too hung over (24 comments) / non-computer
2010-02-18 / #55 Don’t forget to double-null-terminate those strings you pass to SHFileOperation (30 comments) / code
2010-02-19 / #56 The normal string manipulation functions stop on a null terminator, so be careful when manipulating double-null-terminated strings (20 comments) / code
2010-02-19 / #57 How many servings are there in a single-serve cup? The answer might surprise you (42 comments) / non-computer;reading-the-fine-print
2010-02-22 / #58 Custom navigation in dialog boxes, redux (2 comments) / code
2010-02-22 / #59 On the Internet, everybody wants to know if you’re a dog (29 comments) / non-computer
2010-02-23 / #60 Le Chatelier’s principle in action: Announcements (32 comments) / other
2010-02-24 / #61 Why does the CBS_SORT combo box style sort the left square bracket so strangely? (14 comments) / history
2010-02-24 / #62 German language tip: Matratzen = mattresses, Matrosen = sailors (24 comments) / non-computer
2010-02-25 / #63 What happens to the fibers which ran on a thread when the thread exits? (15 comments) / code
2010-02-25 / #64 Food products that are offenses against nature: Bagel-fuls (35 comments) / non-computer
2010-02-26 / #65 It’s fine to use fibers, but everybody has to be on board with the plan (13 comments) / code
2010-02-26 / #66 Microwave popcorn enthusiast proudly proclaims, «I *am* popcorn!» (19 comments) / non-computer
2010-03-01 / #67 When does STARTF_USESHOWWINDOW override the parameter passed to ShowWindow()? (6 comments) / code
2010-03-01 / #68 Chilly Hilly 2010 kicked my butt (8 comments) / non-computer
2010-03-02 / #69 Microspeak: Dialogue (24 comments) / microspeak;other
2010-03-03 / #70 Voicemail security, even stronger than bank security (44 comments) / non-computer
2010-03-04 / #71 What happens if I drag the mouse by exactly the amount specified by SM_CXDRAG? (17 comments) / code
2010-03-04 / #72 Everyday is Grammer Day (30 comments) / non-computer
2010-03-05 / #73 How do I access the magic IEEE floating point values like NaN in code? (33 comments) / code
2010-03-05 / #74 Delegation of responsibilities within a family during pregnancy (15 comments) / non-computer
2010-03-08 / #75 Why doesn’t double-right-click bring up the Properties dialog? (29 comments) / other
2010-03-08 / #76 The best actors in the business still lean into the microphone when they talk (31 comments) / non-computer
2010-03-09 / #77 PSM_ISDIALOGMESSAGE is to modeless property sheets as IsDialogMessage is to modeless dialog boxes (7 comments) / code
2010-03-09 / #78 Why is the fine for a basic traffic infraction in the state of Washington such a random-looking number? (39 comments) / non-computer
2010-03-10 / #79 One of the consequences of accepting a job offer is that you might end up working with an interviewer who didn’t like you (18 comments) / other
2010-03-11 / #80 Application compatibility layers are there for the customer, not for the program (39 comments) / other
2010-03-12 / #81 Why does the OLE variant date format use 30 December 1899 as its zero point? (14 comments) / history;time
2010-03-12 / #82 Simplifying context menu extensions with IExecuteCommand (14 comments) / code
2010-03-15 / #83 A window can have a parent or an owner but not both (19 comments) / code
2010-03-15 / #84 Robots and humans coexisting, can it be done peacefully? (37 comments) / non-computer
2010-03-16 / #85 Why does my control send its notifications to the wrong window after I reparent it? (2 comments) / code
2010-03-16 / #86 Raymond’s highly scientific predictions for the 2010 NCAA men’s basketball tournament (14 comments) / highly-scientific;non-computer
2010-03-17 / #87 What is DLL import hinting? (10 comments) / code
2010-03-18 / #88 What is DLL import binding? (25 comments) / code
2010-03-19 / #89 How does delay-loading use binding information? (10 comments) / code
2010-03-19 / #90 How many days long is a one-day sale? The answer might surprise you (20 comments) / non-computer
2010-03-22 / #91 Why does SHFileOperation have internal error codes for DVD? (12 comments) / history
2010-03-22 / #92 Germans are falling for the same trap as the Japanese: Importing words from English and changing the meaning, but the Germans do it even though the words didn’t need to be imported at all (73 comments) / non-computer
2010-03-23 / #93 Why does it take longer to reject an invalid password than to accept a valid one? (37 comments) / other
2010-03-24 / #94 First, try reading the error message, episode 3: Even programmers see error messages without reading them (37 comments) / other
2010-03-25 / #95 WaitForInputIdle should really be called WaitForProcessStartupComplete (24 comments) / code
2010-03-26 / #96 WaitForInputIdle waits for any thread, which might not be the thread you care about (6 comments) / code
2010-03-29 / #97 What happens to the control names in the IDE when my program is running? (20 comments) / code
2010-03-29 / #98 Ruth Bader Ginsburg, the yardstick for Wikipedia entries (55 comments) / non-computer
2010-03-30 / #99 Non-Microspeak: Boiling the ocean (34 comments) / non-computer
2010-03-31 / #100 The great thing about URL encodings is that there are so many to choose from (14 comments) / other
2010-03-31 / #101 2010 Q1 link clearance: Microsoft blogger edition (8 comments) / microspeak;other
2010-04-01 / #102 EnumClaw, the function that never was (24 comments) / history
2010-04-02 / #103 Why do non-folders in my shell namespace extension show up in the folder tree view? (12 comments) / code
2010-04-05 / #104 When people ask for security holes as features: Non-administrators reading other users’ stuff (14 comments) / other
2010-04-06 / #105 Microspeak: SQMmed (13 comments) / microspeak;other
2010-04-07 / #106 How to edit the security attributes of more than one file at a time (86 comments) / tipssupport
2010-04-08 / #107 Why doesn’t SS_WHITERECT actually draw a white rectangle? (11 comments) / history
2010-04-09 / #108 Why can’t you use WM_CTLCOLORSTATIC to change the color of a SS_BLACKRECT? (1 comment) / code
2010-04-12 / #109 How do I switch a window between normal and fullscreen? (34 comments) / code
2010-04-13 / #110 It’s a miracle humanity has survived this far, if reaction to the inability to make or receive a telephone call is to be believed (43 comments) / non-computer
2010-04-14 / #111 When you create an object with constraints, you have to make sure everybody who uses the object understands those constraints (19 comments) / code
2010-04-15 / #112 Why are there two values for NoDriveTypeAutoRun which disable Autoplay on drives of unknown type? (0 comments) / tipssupport
2010-04-16 / #113 The mysterious stock bitmap: There’s no way to summon it, but it shows up in various places (25 comments) / code
2010-04-19 / #114 Why does the wireless connection dialog ask for your password twice? (33 comments) / other
2010-04-20 / #115 The difference between your job and your hobby (34 comments) / other
2010-04-21 / #116 Email tip: When you say that something didn’t work, you have to say how it didn’t work (47 comments) / other
2010-04-22 / #117 Email tip: When asking for help with a problem, also mention what you’ve already tried (21 comments) / other
2010-04-23 / #118 Why can’t I get my regular expression pattern to match words that begin with %? (20 comments) / code
2010-04-23 / #119 Our legal department suggests you skip our salad dressing and just eat an avocado (29 comments) / non-computer
2010-04-26 / #120 Why doesn’t TryEnterCriticalSection try harder? (23 comments) / other
2010-04-27 / #121 He bought the whole seat, but we only needed the edge (28 comments) / non-computer
2010-04-28 / #122 What happens to the contents of a memory-mapped file when a process is terminated abnormally? (8 comments) / other
2010-04-29 / #123 A short puzzle about heap expansion (18 comments) / code
2010-04-30 / #124 If it’s not yours, then don’t mess with it without permission from the owner (19 comments) / code
2010-04-30 / #125 Welcome to Taiwan’s premier English-only nightclub (12 comments) / non-computer
2010-05-03 / #126 How do I accept files to be opened via IDropTarget instead of on the command line? (24 comments) / code
2010-05-03 / #127 Welcome to Belém, the scam artist capital of Lisbon (16 comments) / non-computer
2010-05-04 / #128 Microspeak: The statistic known as BIS (13 comments) / microspeak;other
2010-05-05 / #129 How the shell converts an icon location into an icon (33 comments) / other
2010-05-05 / #130 Eating where the teenagers are: Pão Pão, Queijo Queijo (9 comments) / non-computer
2010-05-06 / #131 What are these strange =C: environment variables? (30 comments) / other
2010-05-06 / #132 On the Portuguese custom of the couvert, and other restaurant customs (36 comments) / non-computer
2010-05-07 / #133 The many ways of converting a string from one language to another (24 comments) / other
2010-05-07 / #134 Words you’ve had wrong your entire life (76 comments) / non-computer
2010-05-10 / #135 Why can programs empty the clipboard when they start up? (43 comments) / other
2010-05-10 / #136 On nearly getting pickpocketed in both Lisbon and Madrid (15 comments) / non-computer
2010-05-11 / #137 It rather involved being on the other side of this airtight hatchway: Consequences of enabling the kernel debugger (20 comments) / other
2010-05-12 / #138 The problem with setting up a story is that people focus on the set-up and miss the point of the story (16 comments) / other
2010-05-13 / #139 Why can I type a lowercase s with caron with the numeric keypad, but not a lowercase r with caron? (23 comments) / other
2010-05-13 / #140 Things the locals know: How to have lunch at El Brillante (10 comments) / non-computer
2010-05-14 / #141 How do I prevent users from dragging and dropping files in Explorer? (20 comments) / tipssupport
2010-05-14 / #142 Maxing out the upsell-o-meter (12 comments) / non-computer
2010-05-17 / #143 If Windows 3.11 required a 32-bit processor, why was it called a 16-bit operating system? (0 comments) / other
2010-05-18 / #144 An insight into the balance between forgiveness and permission (0 comments) / non-computer
2010-05-18 / #145 No good deed goes unpunished, part 2, redux (0 comments) / no-good-deed-goes-unpunished;non-computer
2010-05-19 / #146 If you can detect the difference between an emulator and the real thing, then the emulator has failed (2 comments) / history
2010-05-20 / #147 We’ve traced the call and it’s coming from inside the house: Operating system names (2 comments) / code
2010-05-21 / #148 SHAutoComplete giveth, and SHAutoComplete taketh away (4 comments) / code
2010-05-24 / #149 What’s the deal with What’s This?? (17 comments) / other
2010-05-24 / #150 Welcome to The New Old New Thing, 2010 edition (48 comments) / non-computer
2010-05-25 / #151 Why doesn’t the Windows Vista copy progress dialog show the names of the files being copied? (56 comments) / history
2010-05-25 / #152 Cliff Notes: The short version of the Cliff Mass blog (6 comments) / non-computer
2010-05-26 / #153 How do I find the bounding box for a character in a font? (16 comments) / code
2010-05-27 / #154 When will the window manager destroy a menu automatically, and when do I need to do it manually? (17 comments) / code
2010-05-28 / #155 Every window with the WS_SYSMENU style has a system menu, but it’s not there until it needs to be (5 comments) / code
2010-05-28 / #156 How do I accept files to be opened via IDropTarget instead of on the command line? – bonus content (17 comments) / code
2010-05-31 / #157 That’s a great idea, it’s on the list (38 comments) / other
2010-06-01 / #158 Welcome to the maze and enjoy the Habitrail (1 comment) / non-computer
2010-06-01 / #159 Why doesn’t the Windows Vista copy progress dialog show the names of the files being copied?, redux (45 comments) / code
2010-06-02 / #160 Puzzle: Can you explain this program’s crash profile? (31 comments) / other
2010-06-02 / #161 The giant typewriter eraser in the Olympic Sculpture Park in Seattle (21 comments) / non-computer
2010-06-03 / #162 How do I convert an ANSI string directly to UTF-8? (19 comments) / other
2010-06-03 / #163 The voice of Carl Kasell emerges from the loudspeaker as some old guy stands there and moves his mouth (4 comments) / non-computer
2010-06-04 / #164 How do I enable and disable the minimize, maximize, and close buttons in my caption bar? (23 comments) / code
2010-06-07 / #165 Is it real that you are still using Visual C++ 6 and 5? (40 comments) / other
2010-06-07 / #166 Dum dee dum, just hanging around the European Conference on Computer Supported Co-op… OMG LOOK AT THOSE CUTE DUCKS! (7 comments) / non-computer
2010-06-08 / #167 Proto-Microspeak: Bug-hugging (18 comments) / microspeak;other
2010-06-09 / #168 When you use a term, it helps if you know what the term means (21 comments) / other
2010-06-10 / #169 When you set a 100% CPU program to real-time priority, you get what you asked for (68 comments) / other
2010-06-11 / #170 How do I indicate that I want my window to follow right-to-left layout rules? (11 comments) / code
2010-06-11 / #171 My niece asked me what color seashell I would like her to draw (24 comments) / non-computer
2010-06-14 / #172 Annotating function parameters and using PREfast to check them (20 comments) / code
2010-06-14 / #173 Hunting for loopholes in Washington state’s driving-while-phoning-or-texting law (45 comments) / non-computer
2010-06-15 / #174 What does the PRE in PREfast stand for? (13 comments) / history
2010-06-16 / #175 Why can’t AppLocale just be added to the Compatibility property sheet page? (32 comments) / other
2010-06-16 / #176 I always do a double-take when I see the name Andrew Bynum (16 comments) / non-computer
2010-06-17 / #177 As random as I wanna be: Why cmd.exe’s %RANDOM% isn’t so random (52 comments) / tipssupport
2010-06-18 / #178 Bug Bash: It’s funny because it’s true (11 comments) / non-computer
2010-06-21 / #179 Wow, a task bar, what a novel idea (29 comments) / other
2010-06-22 / #180 How do I customize the Favorite Links section of the File Open dialog? (12 comments) / tipssupport
2010-06-23 / #181 The best way to prove somebody incompetent is to make up stuff and then point out that it’s idiotic (51 comments) / other;the-social-skills-of-a-thermonuclear-device
2010-06-24 / #182 When setting expectations, you also have to deny them when necessary (24 comments) / tipssupport
2010-06-25 / #183 My life as a square (pixel) (32 comments) / code
2010-06-25 / #184 6-4, 3-6, 6-7 (7-9), 7-6 (7-3), 70-68: The scoreboard doesn’t even go that high (16 comments) / non-computer
2010-06-28 / #185 How do I get a radio button control to render its text transparently? (20 comments) / code
2010-06-28 / #186 Redneck Scrabble: It’s fun unless you had to do it for real (16 comments) / non-computer
2010-06-29 / #187 The illusory repair powers of black electrical tape (16 comments) / non-computer
2010-06-30 / #188 Management fallacy: If I send people email, then they will work harder (15 comments) / other;the-social-skills-of-a-thermonuclear-device
2010-06-30 / #189 2010 mid-year link clearance (19 comments) / other
2010-07-01 / #190 What is the lpClass member of SHELLEXECUTEINFO used for? (14 comments) / code
2010-07-01 / #191 What Raymond listens to: KCRW’s The Business (4 comments) / non-computer
2010-07-02 / #192 Instead of trying to figure out what shortcut class to use, just ask the shell to do it for you (17 comments) / code
2010-07-02 / #193 The commutative law for postage and its limitations (9 comments) / non-computer
2010-07-05 / #194 One small silver lining of moving Boeing headquarters to Chicago (18 comments) / non-computer
2010-07-06 / #195 Hardware backward compatibility: The firmware that missed one tiny detail (24 comments) / history
2010-07-07 / #196 Crackpots in computer security: The neighbors are looking at me weird (20 comments) / other
2010-07-08 / #197 How do I configure a Remote Desktop Connection shortcut to open on a specific monitor? (21 comments) / tipssupport
2010-07-09 / #198 What’s the difference between LastWriteTime and ChangeTime in FILE_BASIC_INFO? (9 comments) / code
2010-07-12 / #199 What is the cost of WS_CLIPSIBLINGS if the sibling windows don’t overlap? (20 comments) / other
2010-07-13 / #200 Tips for planning your ship party (31 comments) / non-computer
2010-07-14 / #201 Why don’t all the Control Panel applications show up when you open a menu from the address bar? (13 comments) / tipssupport
2010-07-15 / #202 There’s always the low-tech way of managing a process, too (15 comments) / other
2010-07-16 / #203 How do I launch the Explorer Search window with specific search criteria? (13 comments) / code
2010-07-19 / #204 To enable and disable a window, use the EnableWindow function (22 comments) / code
2010-07-20 / #205 Management-speak: Multi-perspective content (7 comments) / microspeak;other
2010-07-20 / #206 Suggestion Box 4 (141 comments) / pages
2010-07-21 / #207 No, you can’t lock a gadget to the top of the sidebar (36 comments) / other
2010-07-22 / #208 Things I’ve written that have amused other people, Episode 7 (10 comments) / other;things-ive-written-that-have-amused-other-people
2010-07-22 / #209 I will be speaking at TechReady11 (5 comments) / other
2010-07-23 / #210 If I’m not supposed to call IsBadXxxPtr, how can I check if a pointer is bad? (21 comments) / code
2010-07-23 / #211 MSDN content is also available as a Web service (19 comments) / other
2010-07-26 / #212 Why didn’t Windows XP auto-elevate programs beyond those named setup.exe? (43 comments) / other
2010-07-27 / #213 Hardware backward compatibility: The finicky floppy drive (26 comments) / history
2010-07-28 / #214 The frustration of people who have already decided on the solution and won’t let you derail them with your annoying questions (22 comments) / other
2010-07-29 / #215 Why is my icon being drawn at the wrong size when I call DrawIcon? (6 comments) / code
2010-07-29 / #216 Holy cow, those TechReady attendees really love their tchotchkes (16 comments) / other
2010-07-30 / #217 Decoding the parameters of a thrown C++ exception (0xE06D7363) (10 comments) / code
2010-08-02 / #218 Did I know where the Novell short file name behavior came from? (11 comments) / other
2010-08-02 / #219 A brief conversation while preparing to hike along the Pacific coast (4 comments) / non-computer
2010-08-03 / #220 Don’t forget to replace your placeholder bitmaps with real bitmaps (23 comments) / history
2010-08-04 / #221 How many failure reports does a bug have to get before Windows will fix it? (79 comments) / other
2010-08-05 / #222 Raymond misreads flyers, episode 2: It Takes You (17 comments) / non-computer
2010-08-06 / #223 Some known folders cannot be moved, but others can, and you’ll just have to accept that (26 comments) / code
2010-08-09 / #224 Everybody thinks about garbage collection the wrong way (89 comments) / other
2010-08-10 / #225 When does an object become available for garbage collection? (13 comments) / other
2010-08-10 / #226 Everybody thinks about CLR objects the wrong way (well not everybody) (34 comments) / other
2010-08-11 / #227 How do I get the reference count of a CLR object? (41 comments) / other
2010-08-12 / #228 How can I find all objects of a particular type? (28 comments) / code
2010-08-13 / #229 When do I need to use GC.KeepAlive? (34 comments) / code
2010-08-16 / #230 What happened to WinHelp? (27 comments) / history
2010-08-17 / #231 What was that story about the WinHelp pen-writing-in-book animation? (47 comments) / other
2010-08-18 / #232 Microspeak: The funnel (11 comments) / microspeak;other
2010-08-19 / #233 How do I get the Explorer navigation pane to highlight the current folder all the time? (28 comments) / tipssupport
2010-08-19 / #234 I challenge you to come up with an even lamer physics pun (42 comments) / non-computer
2010-08-20 / #235 Why does the primary monitor have (0,0) as its upper left coordinate? (31 comments) / history
2010-08-20 / #236 Miss France, she has the Eiffel Tower on her head, because France has the Eiffel Tower, and no other country does, so she put it on her head, that’s why (15 comments) / non-computer
2010-08-23 / #237 Be careful that your splash screen doesn’t squander the foreground love (37 comments) / code
2010-08-24 / #238 Windows 95: It sucks less (50 comments) / history
2010-08-25 / #239 Why did the Explore option disappear from the context menu of folders in the second column of the Start menu? (19 comments) / other
2010-08-25 / #240 What young children do when they hear a foreign language (27 comments) / non-computer
2010-08-26 / #241 How do I recover the window handle passed to ShellExecute? (10 comments) / code
2010-08-27 / #242 If you return from the main thread, does the process exit? (19 comments) / code
2010-08-30 / #243 On LockWindowUpdate: Locking the taskbar (18 comments) / other
2010-08-30 / #244 Reflections create Xbox logo on neighbor’s roof (9 comments) / non-computer
2010-08-31 / #245 Be on the alert: Mainstream and alternative medicines mixed together on the store shelves, not clearly distinguished (14 comments) / non-computer
2010-08-31 / #246 Shutdown reason codes are reason codes, not error codes or HRESULTs (21 comments) / tipssupport
2010-09-01 / #247 Yes, the Windows 7 beta wallpaper was a picture of a betta fish (26 comments) / history
2010-09-02 / #248 It rather involved being on the other side of this airtight hatchway: If you grant users full control over critical files, then it’s not the fault of the system for letting users modify them (55 comments) / other
2010-09-03 / #249 What happens to a named object when all handles to it are closed? (14 comments) / code
2010-09-06 / #250 Was there really an Opera billboard outside Microsoft main campus? (17 comments) / history
2010-09-07 / #251 How do I customize the order of items in the All Programs section of the Start menu? (31 comments) / tipssupport
2010-09-08 / #252 The contractually obligatory beeper, and the customers who demand them (33 comments) / non-computer
2010-09-09 / #253 Flushing your performance down the drain, that is (30 comments) / code
2010-09-10 / #254 Hey there token, long time no see! (Did you do something with your hair?) (10 comments) / code
2010-09-13 / #255 Why doesn’t Win32 give you the option of ignoring failures in DLL import resolution? (14 comments) / history
2010-09-13 / #256 Ha ha, the speaker gift is a speaker, get it? (11 comments) / non-computer
2010-09-14 / #257 Microspeak: Sats (27 comments) / microspeak;non-computer
2010-09-15 / #258 How do I create a UNC to an IPv6 address? (18 comments) / tipssupport
2010-09-15 / #259 Follow-up: The impact of overwhelmingly talented competitors on the rest of the field (14 comments) / non-computer
2010-09-16 / #260 How is the CommandLineToArgvW function intended to be used? (18 comments) / code
2010-09-17 / #261 What’s up with the strange treatment of quotation marks and backslashes by CommandLineToArgvW (28 comments) / code
2010-09-17 / #262 It’s amazing how many business meetings there are in Munich in late September (20 comments) / non-computer
2010-09-20 / #263 How do I get the dropped height of a combo box? (3 comments) / code
2010-09-21 / #264 Fact check: The first major Microsoft product launched via Webcast (14 comments) / history
2010-09-22 / #265 What is the effect of the /LARGEADDRESSAWARE switch on a DLL? (27 comments) / code
2010-09-22 / #266 Happy Mid-Autumn festival 2010 (19 comments) / non-computer
2010-09-23 / #267 You must flush GDI operations when switching between direct access and GDI access, and direct access includes other parts of GDI (8 comments) / code
2010-09-23 / #268 Pizza: The reference food for young children (39 comments) / non-computer
2010-09-24 / #269 How reliable is the BatteryLifePercent member of the SYSTEM_POWER_STATUS structure? (13 comments) / code
2010-09-24 / #270 Does anybody actually like Brazil nuts? (44 comments) / non-computer
2010-09-27 / #271 Why not just require each application to declare what version of Windows it is compatible with? (21 comments) / other
2010-09-27 / #272 Children’s reactions to macadamia nuts dipped in chocolate (12 comments) / non-computer
2010-09-28 / #273 Speculation around Microsoft Company Meeting 2010 (18 comments) / other
2010-09-29 / #274 Where did my mail control panel icon go? (35 comments) / tipssupport
2010-09-29 / #275 We apologize for the delay, but there is an issue with the music (12 comments) / non-computer
2010-09-30 / #276 Why doesn’t the TAB key work on controls I’ve marked as WS_TABSTOP? (4 comments) / code
2010-09-30 / #277 2010 Q3 link clearance: Microsoft blogger edition (7 comments) / other
2010-10-01 / #278 Non-psychic debugging: Why you’re leaking timers (22 comments) / code
2010-10-01 / #279 Which ferry should we take from Germany back to Denmark? Oh, it’s this one, except for that one word I don’t understand (26 comments) / non-computer
2010-10-04 / #280 Why is the origin at the upper left corner? (32 comments) / non-computer
2010-10-04 / #281 On understanding that getting married comes with changes in lifestyle (13 comments) / non-computer
2010-10-05 / #282 Secret passages on Microsoft main campus (33 comments) / non-computer
2010-10-06 / #283 Wildly popular computer game? The Windows product team has you covered (30 comments) / history
2010-10-07 / #284 Why does TaskDialog return immediately without showing a dialog? (9 comments) / code
2010-10-07 / #285 The overlooked computer room at school that became my «office» for a while (9 comments) / non-computer
2010-10-08 / #286 Why does my asynchronous I/O request return TRUE instead of failing with ERROR_IO_PENDING? (12 comments) / code
2010-10-08 / #287 Why does TaskDialog return immediately without showing a dialog? – Answer (0 comments) / code
2010-10-11 / #288 Why does each drive have its own current directory? (39 comments) / history
2010-10-12 / #289 Why are the keyboard scan codes for digits off by one? (17 comments) / history
2010-10-13 / #290 How do I get the color depth of the screen? (19 comments) / code
2010-10-14 / #291 The memcmp function reports the result of the comparison at the point of the first difference, but it can still read past that point (27 comments) / code
2010-10-15 / #292 What does the FOF_NOCOPYSECURITYATTRIBS flag really do (or not do)? (16 comments) / code
2010-10-18 / #293 The evolution of the ICO file format, part 1: Monochrome beginnings (36 comments) / other
2010-10-19 / #294 The evolution of the ICO file format, part 2: Now in color! (26 comments) / other
2010-10-20 / #295 How do I get the dimensions of a cursor or icon? (14 comments) / code
2010-10-21 / #296 The evolution of the ICO file format, part 3: Alpha-blended images (20 comments) / other
2010-10-22 / #297 The evolution of the ICO file format, part 4: PNG images (25 comments) / other
2010-10-25 / #298 When you call a function, your code doesn’t resume execution until that function returns (18 comments) / code
2010-10-25 / #299 Belated happy first birthday, Windows 7 (33 comments) / non-computer
2010-10-26 / #300 Hacking Barney the dinosaur for fun (no profit) (21 comments) / history
2010-10-27 / #301 How do I programmatically invoke Aero Peek on a window? (27 comments) / other
2010-10-28 / #302 Why is there an LVN_ODSTATECHANGED notification when there’s already a perfectly good LVN_ITEMCHANGED notification? (4 comments) / code
2010-10-29 / #303 Debugging walkthrough: Diagnosing a __purecall failure (4 comments) / other
2010-10-29 / #304 It’s the Great Pumpkin, Charlie Brown: The world of competitive pumpkin-growing (7 comments) / non-computer
2010-11-01 / #305 Why doesn’t the End Task button end my task immediately? (64 comments) / other
2010-11-02 / #306 Saying that your case is different doesn’t make it so (24 comments) / other
2010-11-02 / #307 The wisdom of seventh graders: Being President (28 comments) / non-computer;the-wisdom-of-seventh-graders
2010-11-03 / #308 The quiet fading away of the CtlPanelClass (23 comments) / history
2010-11-04 / #309 The story of MUI, as told by others (with some commentary) (33 comments) / other
2010-11-05 / #310 Why does the Win32 Time service require the date to be correct before it will set the time? (43 comments) / time;tipssupport
2010-11-08 / #311 Is there any vendor bias in the way the Start menu determines which programs are most frequently used? (39 comments) / other
2010-11-09 / #312 The curse of the current directory (44 comments) / other
2010-11-10 / #313 Your debugging code can be a security vulnerability: Loading optional debugging DLLs without a full path (49 comments) / other
2010-11-11 / #314 Using delayload to detect functionality is a security vulnerability (45 comments) / other
2010-11-12 / #315 Why does the common file dialog change the current directory? (26 comments) / other
2010-11-15 / #316 The program running in a console decides what appears in that console (30 comments) / other
2010-11-16 / #317 If you measure something, people will change their behavior to address the measurement and not the thing the measurement is intended to measure (27 comments) / other
2010-11-17 / #318 How full does a hard drive have to get before Explorer will start getting concerned? (41 comments) / tipssupport
2010-11-18 / #319 One possible reason why ShellExecute returns SE_ERR_ACCESSDENIED and ShellExecuteEx returns ERROR_ACCESS_DENIED (15 comments) / code
2010-11-19 / #320 What’s the difference between the Windows directory and the System directory? (30 comments) / history
2010-11-22 / #321 Consequences of using variables declared __declspec(thread) (32 comments) / code
2010-11-23 / #322 But who’s going to set up their own email server? (42 comments) / non-computer
2010-11-24 / #323 You can filter the Common File dialog with wildcards (46 comments) / tipssupport
2010-11-25 / #324 What if two programs did this? Practical exam (41 comments) / other
2010-11-26 / #325 The easy way out is to just answer the question: What is the current Explorer window looking at? (17 comments) / code
2010-11-26 / #326 Watching the game of Telephone play out in five seconds (17 comments) / non-computer
2010-11-29 / #327 What were Get/SetMessageExtraInfo ever used for? (17 comments) / history
2010-11-30 / #328 Microspeak: Take-away (22 comments) / microspeak;non-computer
2010-12-01 / #329 How do I delete bytes from the beginning of a file? (29 comments) / other
2010-12-01 / #330 I will be speaking at TechEd China 2010 today (17 comments) / non-computer
2010-12-02 / #331 The alignment declaration specifier is in bytes, not bits (18 comments) / code
2010-12-03 / #332 ZOMG! This program is using 100% CPU!1! Think of the puppies!!11!!1!1!eleven (98 comments) / other
2010-12-06 / #333 TrackMouseEvent tracks mouse events in your window, but only if the events belong to your window (15 comments) / code
2010-12-07 / #334 Creative naming in pursuit of subverting the no-fun zone (16 comments) / non-computer
2010-12-08 / #335 It rather involved being on the other side of this airtight hatchway: Invalid parameters from one security level crashing code at the same security level (40 comments) / other
2010-12-08 / #336 Kindergarten writing exercise from my niece (21 comments) / non-computer
2010-12-09 / #337 We’ve traced the call and it’s coming from inside the house: Grid lines in list view report mode (18 comments) / code
2010-12-09 / #338 What appears superficially to be a line is actually just a one-dimensional mob (35 comments) / non-computer
2010-12-10 / #339 How do I limit the size of the preview window used by Aero Snap? (7 comments) / code
2010-12-10 / #340 Some notes on my trip to Beijing disguised as travel tips (34 comments) / non-computer
2010-12-13 / #341 Why are the Compression and Encryption options check boxes instead of radio buttons? (55 comments) / other
2010-12-14 / #342 Microspeak: Informing a product (11 comments) / microspeak;non-computer
2010-12-14 / #343 The subtleties of a Will Ferrell movie, and other observations from the in-flight entertainment on a Chinese airline (20 comments) / non-computer
2010-12-15 / #344 There is no interface for preventing your notification icon from being hidden (38 comments) / code
2010-12-16 / #345 Why does SHCOLUMNINFO have unusually tight packing? (22 comments) / code
2010-12-17 / #346 The OVERLAPPED associated with asynchronous I/O is passed by address, and you can take advantage of that (26 comments) / code
2010-12-20 / #347 What happened to the return code from WinMain in 16-bit Windows? (7 comments) / history
2010-12-20 / #348 Developing the method for taking advantage of the fact that the OVERLAPPED associated with asynchronous I/O is passed by address (26 comments) / code
2010-12-21 / #349 How do I simulate input without SendInput? (15 comments) / code
2010-12-22 / #350 The __fortran calling convention isn’t the calling convention used by FORTRAN (36 comments) / code
2010-12-23 / #351 What is the correct way of temporarily changing a thread’s preferred UI language? (10 comments) / code
2010-12-24 / #352 That mysterious 01 (6 comments) / other
2010-12-24 / #353 Some suggestions on improving the assembly instructions for your children’s play furniture (19 comments) / non-computer
2010-12-27 / #354 Why can’t you use the space bar to select check box and radio button elements from a menu? (17 comments) / other
2010-12-28 / #355 Windows 7 not only can make a wallpaper slide show from images on your computer, it can even pull them from an RSS feed (29 comments) / tipssupport
2010-12-29 / #356 Psychic debugging: When I copy a file to the clipboard and then paste it, I get an old version of the file (30 comments) / code
2010-12-30 / #357 WindowFromPoint, ChildWindowFromPoint, RealChildWindowFromPoint, when will it all end? (21 comments) / code
2010-12-31 / #358 What makes RealGetWindowClass so much more real than GetClassName? (7 comments) / code
2010-12-31 / #359 2010 year-end link clearance (30 comments) / other

2011


Date Title
2011-01-03 / #0 Begin feeling (20 comments) / other
2011-01-04 / #1 From inside the Redmond Reality Distortion Field: Why publish documents in PDF? (51 comments) / other
2011-01-05 / #2 Why does SHGetSpecialFolderPath take such a long time before returning a network error? (6 comments) / code
2011-01-06 / #3 Processes, commit, RAM, threads, and how high can you go? (35 comments) / other
2011-01-07 / #4 When does a process ID become available for reuse? (16 comments) / other
2011-01-10 / #5 Why does pasting a string containing an illegal filename character into a rename edit box delete the characters from the clipboard, too? (37 comments) / history
2011-01-11 / #6 The message text limit for the Marquee screen saver is 255, even if you bypass the dialog box that prevents you from entering more than 255 characters (49 comments) / tipssupport
2011-01-12 / #7 My, what strange NOPs you have! (34 comments) / history
2011-01-13 / #8 The MARGINS parameter to the DwmExtendFrameIntoClientArea function controls how far the frame extends into the client area (8 comments) / code
2011-01-14 / #9 What’s the difference between an asynchronous PIPE_WAIT pipe and a PIPE_NOWAIT pipe? (14 comments) / code
2011-01-17 / #10 Was showing the column header in all Explorer views a rogue feature? (63 comments) / other
2011-01-18 / #11 Don’t just stand around saying somebody should do something: Be someone (22 comments) / non-computer
2011-01-19 / #12 Why didn’t they use the Space Shuttle to rescue the Apollo 13 astronauts? (44 comments) / history
2011-01-20 / #13 How to turn off the exception handler that COM «helpfully» wraps around your server (37 comments) / code
2011-01-21 / #14 Modality, part 9: Setting the correct owner for modal UI, practical exam (22 comments) / code
2011-01-21 / #15 The 2011/2012 Seattle Symphony subscription season at a glance (15 comments) / non-computer
2011-01-24 / #16 There’s a default implementation for WM_SETREDRAW, but you might be able to do better (15 comments) / code
2011-01-25 / #17 Why does the name of my TEMP directory keep changing? (25 comments) / tipssupport
2011-01-26 / #18 Microspeak: Leverage (25 comments) / microspeak;non-computer
2011-01-27 / #19 How do you obtain the icon for a shortcut without the shortcut overlay? (12 comments) / code
2011-01-28 / #20 Some remarks on VirtualAlloc and MEM_LARGE_PAGES (41 comments) / code
2011-01-31 / #21 Solutions that require a time machine: Making applications which require compatibility behaviors crash so the developers will fix their bug before they ship (76 comments) / other
2011-02-01 / #22 There is no longer any pleasure in reading the annual Microsoft injury reports (22 comments) / other
2011-02-02 / #23 Ready… cancel… wait for it! (part 1) (31 comments) / code
2011-02-03 / #24 Ready… cancel… wait for it! (part 2) (9 comments) / code
2011-02-03 / #25 I am no longer impressed by your fancy new 10,000 BTU hot pot burner (31 comments) / non-computer
2011-02-04 / #26 Ready… cancel… wait for it! (part 3) (16 comments) / code
2011-02-04 / #27 The 2010 Niney Award nominees have been announced (18 comments) / other
2011-02-07 / #28 The cursor isn’t associated with a window or a window class; it’s associated with a thread group (21 comments) / code
2011-02-08 / #29 Microspeak: Recycling bits or recycling electrons (11 comments) / microspeak;non-computer
2011-02-09 / #30 Why does SHGetKnownFolderPath return E_FAIL for a known folder? (38 comments) / code
2011-02-10 / #31 Psychic debugging: Because of course when something doesn’t work, it’s because the program was sabotaged from above (25 comments) / other
2011-02-11 / #32 How do specify that a shortcut should not be promoted as newly-installed on the Start menu? (32 comments) / code
2011-02-11 / #33 Any intelligent human being (20 comments) / non-computer
2011-02-14 / #34 What happens when you email the people in the I’m a PC commercial? (20 comments) / history
2011-02-15 / #35 Window message parameters do not come with metaphysical certitude (12 comments) / code
2011-02-15 / #36 Don’t mention the war. I mentioned it once, but I think I got away with it all right (Episode 2) (18 comments) / non-computer
2011-02-16 / #37 What is the difference between a directory and a folder? (37 comments) / other
2011-02-17 / #38 What is the highest numerical resource ID permitted by Win32? (11 comments) / code
2011-02-18 / #39 WM_NCHITTEST is for hit-testing, and hit-testing can happen for reasons other than the mouse being over your window (8 comments) / code
2011-02-21 / #40 If an operation results in messages being sent, then naturally the target window must be processing messages for the operation to complete (16 comments) / code
2011-02-21 / #41 Sharktopus: Just when you thought it was safe to see what movies are coming out (27 comments) / non-computer
2011-02-22 / #42 Dr. Watson and the bluescreen – a story from the trenches (14 comments) / non-computer
2011-02-23 / #43 How long does an idle UNC connection remain active before it is automatically disconnected? (12 comments) / tipssupport
2011-02-24 / #44 Shortcuts are serializable objects, which means that they can be stored in places other than just a file (21 comments) / code
2011-02-24 / #45 iPhone pricing as economic experiment (42 comments) / non-computer
2011-02-25 / #46 Why does WaitForMultipleObjects return ERROR_INVALID_PARAMETER when all the parameters look valid to me? (14 comments) / code
2011-02-25 / #47 DRUNK HULK’s insightful commentary in all-caps (and faux-rudimentary English) (7 comments) / non-computer
2011-02-28 / #48 If you want to use GUIDs to identify your files, then nobody’s stopping you (37 comments) / other
2011-02-28 / #49 On the linguistic productivity of the word spam (13 comments) / non-computer
2011-03-01 / #50 No, not that M, the other M, the one called Max (29 comments) / history
2011-03-02 / #51 Although the x64 calling convention reserves spill space for parameters, you don’t have to use them as such (18 comments) / code
2011-03-02 / #52 Charlie Sheen v Muammar Gaddafi: Whose line is it anyway? (23 comments) / non-computer
2011-03-03 / #53 If you’re waiting for I/O to complete, it helps if you actually have an I/O to begin with (12 comments) / code
2011-03-04 / #54 The window manager needs a message pump in order to call you back unexpectedly (8 comments) / code
2011-03-04 / #55 News flash: Companies change their product to appeal to their customers (24 comments) / news-flash;non-computer
2011-03-07 / #56 What’s the difference between FreeResource and, say, DestroyAcceleratorTable (5 comments) / code
2011-03-08 / #57 Microspeak: Cadence (22 comments) / microspeak;non-computer
2011-03-09 / #58 How to rescue a broken stack trace: Recovering the EBP chain (15 comments) / other
2011-03-10 / #59 How do I create a topmost window that is never covered by other topmost windows? (74 comments) / code
2011-03-11 / #60 Why does my TIME_ZONE_INFORMATION have the wrong DST cutover date? (30 comments) / code;time
2011-03-14 / #61 The old DEBUG program can load COM files bigger than 64KB, but that doesn’t mean they actually load as a program (22 comments) / history
2011-03-15 / #62 Why can’t Explorer decide what size a file is? (42 comments) / other
2011-03-15 / #63 Raymond’s highly scientific predictions for the 2011 NCAA men’s basketball tournament (28 comments) / highly-scientific;non-computer
2011-03-16 / #64 What’s up with the mysterious inc bp in function prologues of 16-bit code? (24 comments) / history
2011-03-17 / #65 What does the «l» in lstrcmp stand for? (15 comments) / history
2011-03-18 / #66 You can extend the PROPSHEETPAGE structure with your own bonus data (15 comments) / code
2011-03-21 / #67 How does the C runtime know whether to use the static-linking or dynamic-linking version of the header file? (14 comments) / other
2011-03-22 / #68 Why is there the message ‘!Do not use this registry key’ in the registry? (40 comments) / history
2011-03-23 / #69 Function requirements are cumulative: If you fail to meet any of them, then all bets are off (33 comments) / code
2011-03-24 / #70 How can I generate a consistent but unique value that can coexist with GUIDs? (18 comments) / other
2011-03-25 / #71 How do I monitor, or even control, the lifetime of an Explorer window? (19 comments) / code
2011-03-25 / #72 Paul Cézanne and Camille Saint-Saëns may have similar-sounding last names, but they are not the same person (12 comments) / non-computer
2011-03-28 / #73 Why did Win32 define BOOL as a signed int instead of an unsigned int? (48 comments) / code
2011-03-29 / #74 Although the default icon for a shortcut is the icon of the target, you can override that (17 comments) / tipssupport
2011-03-30 / #75 How do I get the title of a dialog from a dialog resource? (13 comments) / code
2011-03-31 / #76 Having an owner window from another process is tricky, but it’s sometimes the right thing to do (6 comments) / code
2011-03-31 / #77 2011 Q1 link clearance: Microsoft blogger edition (11 comments) / other
2011-04-01 / #78 The introduction of whimsical teasing in Comic Chat (11 comments) / history
2011-04-01 / #79 The funniest joke I’ve ever told (to a three-year-old) (33 comments) / non-computer
2011-04-04 / #80 Windows is not a .NET Framework delivery channel either (52 comments) / code
2011-04-05 / #81 Lock-free algorithms: Choosing a unique value (warm-up) (34 comments) / code
2011-04-06 / #82 Lock-free algorithms: The singleton constructor (25 comments) / code
2011-04-06 / #83 Lock-free algorithms: Choosing a unique value (solutions) (7 comments) / code
2011-04-07 / #84 Lock-free algorithms: The one-time initialization (21 comments) / code
2011-04-08 / #85 Lock-free algorithms: The singleton constructor (answer to exercises) (4 comments) / code
2011-04-08 / #86 Patterns for using the InitOnce functions (14 comments) / code
2011-04-11 / #87 Holding down the shift key when right-clicking lets you pin things to the Start menu even when you might have been better off not doing so (20 comments) / history
2011-04-12 / #88 Lock-free algorithms: The try/commit/(try again) pattern (31 comments) / code
2011-04-12 / #89 Overheard conversation fragment: I’m over here by the slot machines (11 comments) / non-computer
2011-04-13 / #90 Lock-free algorithms: Update if you can I’m feeling down (19 comments) / code
2011-04-14 / #91 Lock-free algorithms: The opportunistic cache (22 comments) / code
2011-04-15 / #92 Lock-free algorithms: The try/commit/(hand off) model (16 comments) / code
2011-04-18 / #93 Don’t forget to include the message queue in your lock hierarchy (5 comments) / code
2011-04-18 / #94 Back from Las Vegas, and now my clothes smell like cigarette smoke (23 comments) / non-computer
2011-04-19 / #95 Visual Studio 2005 gives you acquire and release semantics for free on volatile memory access (10 comments) / code
2011-04-19 / #96 Endorsement: Aaron Margosis’s Unintended Consequences of Security Lockdowns talk at TechEd (6 comments) / other
2011-04-20 / #97 Corrections to Patterns for using the InitOnce functions (3 comments) / code
2011-04-21 / #98 The performance improvements of a lock-free algorithm is often not in the locking (9 comments) / code
2011-04-22 / #99 Even if you have a lock, you can borrow some lock-free techniques (8 comments) / code
2011-04-25 / #100 There’s only so much you can do to stop running code from simulating UI actions (33 comments) / other
2011-04-26 / #101 No, you can’t ask whether your notification icon is visible or not (43 comments) / code
2011-04-27 / #102 How do I pin a program directly to the Start menu rather than a shortcut? (34 comments) / tipssupport
2011-04-28 / #103 Microspeak: Hipo (23 comments) / microspeak;non-computer
2011-04-29 / #104 Why is there a RestoreLastError function that does the same thing as SetLastError? (18 comments) / code
2011-04-29 / #105 Not quite understanding why you wash your hands before playing the piano (15 comments) / non-computer
2011-05-02 / #106 Hidden compatibility constraints of redirecting program execution via a stub (20 comments) / other
2011-05-02 / #107 The Importance of Being Snooki (2 comments) / non-computer
2011-05-03 / #108 That’s not a duck (19 comments) / tipssupport
2011-05-03 / #109 Like a chicken talking to a duck (48 comments) / non-computer
2011-05-04 / #110 Why don’t the file timestamps on an extracted file match the ones stored in the ZIP file? (35 comments) / tipssupport
2011-05-05 / #111 Your program loads libraries by their short name and you don’t even realize it (20 comments) / code
2011-05-06 / #112 A function pointer cast is a bug waiting to happen (35 comments) / code
2011-05-09 / #113 Sorting is a state and a verb (and a floor wax and a dessert topping) (62 comments) / other
2011-05-10 / #114 Why is hybrid sleep off by default on laptops? (and how do I turn it on?) (27 comments) / history;tipssupport
2011-05-11 / #115 Why double-null-terminated strings instead of an array of pointers to strings? (16 comments) / code
2011-05-12 / #116 Looking at the world through kernel-colored glasses (14 comments) / code
2011-05-13 / #117 If undecorated names are given in the DLL export table, why does link /dump /exports show me decorated names? (11 comments) / other
2011-05-16 / #118 Multithreaded UI code may be just as hard as multithreaded non-UI code, but the consequences are different (22 comments) / code
2011-05-17 / #119 Why does Explorer show a thumbnail for my image that’s different from the image? (21 comments) / tipssupport
2011-05-18 / #120 How long do taskbar notification balloons appear on the screen? (27 comments) / history
2011-05-18 / #121 Watching the battle between Facebook and Facebook spammers (18 comments) / other
2011-05-19 / #122 Why is my program terminating with exit code 3? (20 comments) / code
2011-05-20 / #123 BeginBufferedPaint: It’s not just for buffered painting any more (10 comments) / code
2011-05-20 / #124 One engineer’s interpretation of the Segway as a hybrid vehicle (12 comments) / non-computer
2011-05-23 / #125 If it’s possible to do something, then it’s possible to do something WRONG (22 comments) / other
2011-05-24 / #126 Microspeak: PowerPoint Karaoke and the eye chart (27 comments) / microspeak;non-computer
2011-05-25 / #127 WinMain is just the conventional name for the Win32 process entry point (35 comments) / code
2011-05-26 / #128 How do IsThemeActive, IsAppThemed, and IsCompositionActive differ? (16 comments) / code
2011-05-27 / #129 Why are custom properties created on Windows 2000 lost when I view the file from newer versions of Windows? (25 comments) / other
2011-05-30 / #130 Just for fun: Sample user names in Windows 7 (45 comments) / other
2011-05-31 / #131 My evil essence revealed (21 comments) / non-computer
2011-06-01 / #132 How do I prevent users from pinning my program to the taskbar? (30 comments) / code
2011-06-02 / #133 How do I control X-Mouse settings (active window tracking)? (38 comments) / code
2011-06-03 / #134 Swamping the thread pool with work faster than it can drain (9 comments) / code
2011-06-06 / #135 Why do Group Policy settings require me to have a degree in philosophy? (11 comments) / tipssupport
2011-06-07 / #136 You’d think that with the name scratch, people wouldn’t expect it to be around for a long time (61 comments) / other
2011-06-08 / #137 Microspeak: The planned unplanned outage, and other operations jargon (22 comments) / microspeak;other
2011-06-09 / #138 PE resources must be 4-byte aligned, but that doesn’t stop people from trying other alignments (38 comments) / other
2011-06-10 / #139 Generally speaking, if your function fails, you should return a failure code (22 comments) / code
2011-06-13 / #140 You don’t need to steal focus if you can just arrange for someone to give it to you (18 comments) / code
2011-06-14 / #141 Sufficiently advanced magic is indistinguishable from technology (12 comments) / non-computer
2011-06-15 / #142 How do I convert a UTF-8 string to UTF-16 while rejecting illegal sequences? (11 comments) / code
2011-06-16 / #143 How do I create a right-aligned toolbar button? (9 comments) / code
2011-06-17 / #144 How do I make a window remain visible even when the user selects Show Desktop? (32 comments) / code
2011-06-20 / #145 In Windows, the directory is the application bundle (70 comments) / other
2011-06-21 / #146 See you in Building 109, Conference Room A (7 comments) / other
2011-06-21 / #147 How to get Windows Media Player to single-step a video (37 comments) / tipssupport
2011-06-22 / #148 How do I compress files (via NTFS compression) from the command line? (33 comments) / tipssupport
2011-06-23 / #149 What happens when applications try to copy text by sending Ctrl+C (20 comments) / other
2011-06-24 / #150 Why doesn’t my MessageBox wrap at the right location? (44 comments) / code
2011-06-27 / #151 There’s more to workflow than hitting F5 in the IDE (10 comments) / other
2011-06-28 / #152 How do I display the Find Printers dialog programmatically? (6 comments) / code
2011-06-28 / #153 A different way to win from one of those claw game (22 comments) / non-computer
2011-06-29 / #154 What happens to WPARAM, LPARAM, and LRESULT when they travel between 32-bit and 64-bit windows? (6 comments) / code
2011-06-30 / #155 The UseUrl attribute in the App Paths key indicates that your application can accept a URL on the command line (6 comments) / code
2011-06-30 / #156 2011 mid-year link clearance (18 comments) / other
2011-07-01 / #157 The list of heaps returned by GetProcessHeaps is valid when it returns, but who knows what happens later (5 comments) / code
2011-07-04 / #158 A handful of trips through the time machine (20 comments) / history
2011-07-05 / #159 Microspeak: Reporting through (5 comments) / microspeak;other
2011-07-06 / #160 Looking at the problem at the wrong level: Closing a process’s stdin (11 comments) / code
2011-07-06 / #161 The historical struggle over control of the Portuguese language (42 comments) / non-computer
2011-07-07 / #162 Be careful when redirecting both a process’s stdin and stdout to pipes, for you can easily deadlock (18 comments) / code
2011-07-07 / #163 And… that cadence means it’s halftime, concert-goers! (23 comments) / non-computer
2011-07-08 / #164 We’ve traced the pipe, and it’s coming from inside the process! (5 comments) / code
2011-07-11 / #165 Windows has supported multiple UI languages for over a decade, but nobody knew it (30 comments) / history
2011-07-12 / #166 At least it’ll be easy to write up the security violation report (37 comments) / non-computer
2011-07-13 / #167 What does the executable timestamp really mean? (12 comments) / other
2011-07-13 / #168 The tradition of giving cute names to unborn babies (30 comments) / non-computer
2011-07-14 / #169 What is that horrible grinding noise coming from my floppy disk drive? (41 comments) / history
2011-07-14 / #170 Photoshop meme: Mark Reynolds casually eating sunflower seeds (3 comments) / non-computer
2011-07-15 / #171 Using the wrong HINSTANCE in RegisterClass is like identity theft (19 comments) / code
2011-07-18 / #172 The danger of making the chk build stricter is that nobody will run it (31 comments) / other
2011-07-19 / #173 Some mailing lists come with a negative service level agreement, but that’s okay, because everybody is in on the joke (14 comments) / non-computer
2011-07-20 / #174 How do I find the original name of a hard link? (35 comments) / code
2011-07-21 / #175 Why is secur32.dll called secur32.dll and not secure32.dll? (22 comments) / history
2011-07-22 / #176 How do I disable windowless control support in dialog boxes? (12 comments) / code
2011-07-25 / #177 How is it possible to run Wordpad by just typing its name even though it isn’t on the PATH? (29 comments) / code
2011-07-26 / #178 No, we’re not going to play Stairway to Heaven, and please tell everbody else in your area code to stop calling me (26 comments) / non-computer
2011-07-27 / #179 You don’t need to ask me a question the compiler can answer more accurately (11 comments) / code
2011-07-27 / #180 Luxurifying the camping experience in a different direction (14 comments) / non-computer
2011-07-28 / #181 Simulating input via WM_CHAR messages may fake out the recipient but it won’t fake out the input system (19 comments) / code
2011-07-29 / #182 Hey, let’s report errors only when nothing is at stake! (37 comments) / other
2011-08-01 / #183 Why can you set each monitor to a different color depth? (31 comments) / other
2011-08-02 / #184 Microspeak: Dogfood (28 comments) / microspeak;other
2011-08-02 / #185 An even easier way to get Windows Media Player to single-step a video (17 comments) / tipssupport
2011-08-03 / #186 A shell extension is a guest in someone else’s house; don’t go changing the code page (26 comments) / code
2011-08-04 / #187 Why doesn’t b match word boundaries correctly? (21 comments) / code
2011-08-05 / #188 Menu item states are not reliable until they are shown because they aren’t needed until then (10 comments) / code;history
2011-08-08 / #189 What does the CreateProcess function do if there is no space between the program name and the arguments? (25 comments) / code
2011-08-09 / #190 Why does the Shift+F10 menu differ from the right-click menu? (35 comments) / tipssupport
2011-08-10 / #191 Slim reader/writer locks don’t remember who the owners are, so you’ll have to find them some other way (2 comments) / other
2011-08-11 / #192 The ways people mess up IUnknown::QueryInterface, episode 4 (27 comments) / code
2011-08-12 / #193 ReadDirectoryChangesW reads directory changes, but what if the directory doesn’t change? (11 comments) / code
2011-08-15 / #194 Why does the runas command require its command line to be quoted? (18 comments) / other
2011-08-16 / #195 Why does creating a shortcut to a file change its last-modified time… sometimes? (15 comments) / tipssupport
2011-08-17 / #196 Starting up inside the box (41 comments) / tipssupport
2011-08-18 / #197 Why does IFileOperation skip junctions even though I passed FOFX_NOSKIPJUNCTIONS? (5 comments) / other
2011-08-18 / #198 Ow, I’m too safe! (26 comments) / non-computer
2011-08-19 / #199 Why are the alignment requirements for SLIST_ENTRY so different on 64-bit Windows? (3 comments) / code
2011-08-22 / #200 You don’t make something easier to find by hiding it even more deeply (28 comments) / other
2011-08-23 / #201 Why doesn’t the Open Files list in the Shared Folders snap-in show all my open files? (30 comments) / tipssupport
2011-08-24 / #202 What do SizeOfStackReserve and SizeOfStackCommit mean for a DLL? (5 comments) / other
2011-08-24 / #203 Magic dirt, the fate of former professional athletes, and other sports randomness (14 comments) / non-computer
2011-08-25 / #204 Stupid command-line trick: Counting the number of lines in stdin (42 comments) / code;tipssupport
2011-08-26 / #205 Random musings on the introduction of long file names on FAT (21 comments) / history
2011-08-29 / #206 Why can’t I use PSGUID_STORAGE like a GUID? (24 comments) / code
2011-08-30 / #207 How can I get information about the items in the Recycle Bin? (12 comments) / code
2011-08-31 / #208 Modernizing our simple program that retrieves information about the items in the Recycle Bin (18 comments) / code
2011-09-01 / #209 Invoking commands on items in the Recycle Bin (14 comments) / code
2011-09-02 / #210 What’s the story with the parameters to the WM_INPUT_DEVICE_CHANGE message? (13 comments) / history
2011-09-05 / #211 Thanks for letting me know what my ideal career and company are (7 comments) / non-computer
2011-09-06 / #212 What happened to that suspicious-looking guy hanging around the entrance? (14 comments) / non-computer
2011-09-07 / #213 Why is the registry a hierarchical database instead of a relational one? (33 comments) / other
2011-09-08 / #214 Why doesn’t the Disk Management snap-in incorporate S.M.A.R.T. data? (27 comments) / history
2011-09-08 / #215 Why waste your money on the car when it’s the sound system you care about? (20 comments) / non-computer
2011-09-09 / #216 Throwing garbage on the sidewalk: The sad history of the rundll32 program (51 comments) / history
2011-09-12 / #217 Is this a really bug with CreateWindowEx or am I just confused? (10 comments) / code
2011-09-13 / #218 Why are the building numbers on Microsoft main campus so erratic? (21 comments) / non-computer
2011-09-14 / #219 A common control for associating extensions is well overdue (23 comments) / code
2011-09-15 / #220 What happens to a sent message when SendMessageTimeout reaches its timeout? (13 comments) / code
2011-09-15 / #221 Some preliminary notes from //build/ 2011 (29 comments) / non-computer
2011-09-16 / #222 Why can’t I PostMessage the WM_COPYDATA message, but I can SendMessageTimeout it with a tiny timeout? (3 comments) / code
2011-09-19 / #223 The clipboard viewer linked list is no longer the responsibility of applications to maintain, unless they want to (20 comments) / code
2011-09-20 / #224 Microspeak: The bug farm (9 comments) / microspeak;other
2011-09-20 / #225 Random notes from //build/ 2011 (11 comments) / other
2011-09-21 / #226 Why do Windows functions all begin with a pointless MOV EDI, EDI instruction? (37 comments) / other
2011-09-22 / #227 Why does my single-byte write take forever? (15 comments) / code
2011-09-23 / #228 Why does my asynchronous I/O complete synchronously? (36 comments) / code
2011-09-26 / #229 Sending a window a WM_DESTROY message is like prank calling somebody pretending to be the police (27 comments) / code
2011-09-27 / #230 Ah, the exciting world of cross-forest dogfood (17 comments) / other
2011-09-28 / #231 Does this operation work when impersonating? The default answer is NO (23 comments) / code
2011-09-29 / #232 Appearing to succeed is a valid form of undefined behavior, but it’s still undefined (35 comments) / code
2011-09-30 / #233 There’s also a large object heap for unmanaged code, but it’s inside the regular heap (4 comments) / other
2011-09-30 / #234 2011 Q3 link clearance: Microsoft blogger edition (3 comments) / other
2011-10-03 / #235 Do not access the disk in your IContextMenu handler, no really, don’t do it (22 comments) / code
2011-10-04 / #236 Adjusting your commute to avoid being at work quite so much (3 comments) / non-computer
2011-10-04 / #237 Beyoncé, the giant metal chicken has a Facebook page (4 comments) / non-computer
2011-10-05 / #238 The unattend file lets you configure Windows while it’s installing, and in some cases it’s your only chance (32 comments) / tipssupport
2011-10-06 / #239 Why can’t I move the Program Files directory via the unattend file? (53 comments) / tipssupport
2011-10-07 / #240 During process termination, slim reader/writer locks are now also electrified (10 comments) / code
2011-10-10 / #241 How do I access a file without updating its last-access time? (29 comments) / code
2011-10-11 / #242 Why does copying a file to my USB thumb drive say that the parameter is incorrect? (40 comments) / tipssupport
2011-10-11 / #243 Microspeak: Bug jail (20 comments) / microspeak;other
2011-10-12 / #244 Is there a 2048 character limit for OFN_ALLOWMULTISELECT in MFC or isn’t there? (17 comments) / code
2011-10-13 / #245 How do I set an accessible name on an unlabeled control? (9 comments) / code
2011-10-13 / #246 The question mark lets you make up anything you like (38 comments) / non-computer
2011-10-14 / #247 When your vice president tells you to stop replying to a mail thread, you probably should stop replying to the mail thread (11 comments) / history
2011-10-17 / #248 Why is there a CSIDL_DESKTOP value if you need the desktop in order to get it anyway? (4 comments) / other
2011-10-18 / #249 Seeing the world through arbitrage-colored glasses (10 comments) / non-computer
2011-10-19 / #250 Why do some infotips repeat the name of the item as well as the infotip? (17 comments) / code;tipssupport
2011-10-20 / #251 No, modifying the DLLs that come with Windows is not supported (47 comments) / other
2011-10-21 / #252 The PSN_SETACTIVE notification is sent each time your wizard page is activated (5 comments) / code
2011-10-21 / #253 The video of Microsoft Store employees dressed in Windows colors, revealed by a falling curtain, gee that looks familiar, somehow (13 comments) / non-computer
2011-10-24 / #254 If the shell is written in C++, why not just export its base classes? (22 comments) / other
2011-10-24 / #255 Squeezing the last bit of enjoyment out of the lost half-inning of a baseball game (11 comments) / non-computer
2011-10-25 / #256 No good deed goes unpunished: Helping to redirect a question (42 comments) / email;no-good-deed-goes-unpunished;other
2011-10-25 / #257 Raymond misreads restaurant names: Local 360 (12 comments) / non-computer
2011-10-26 / #258 How can I get notified when some other window is destroyed? (18 comments) / code
2011-10-27 / #259 Why do the pinned items in the Jump List go on the top instead of the bottom? (33 comments) / history
2011-10-28 / #260 Why isn’t my transparent static control transparent? (27 comments) / code
2011-10-31 / #261 My least effective Hallowe’en costume (18 comments) / non-computer
2011-11-01 / #262 The power of statistical photography (12 comments) / other
2011-11-02 / #263 Debugging why a user’s taskbar disappeared (20 comments) / other
2011-11-03 / #264 We’ve traced the call and it’s coming from inside the house: A function call that always fails (64 comments) / code
2011-11-04 / #265 How do I generate a unique 32-bit value for a time zone? (8 comments) / code;time
2011-11-07 / #266 The life story of the SwitchToThisWindow function (36 comments) / history
2011-11-07 / #267 Percentages may not add up to 100%, but not for the reason you suggest (24 comments) / non-computer
2011-11-08 / #268 Microspeak: Level-set (18 comments) / microspeak;other
2011-11-09 / #269 Okay, everybody, it’s time for rumors and gossip (11 comments) / non-computer
2011-11-10 / #270 How can I tell whether a DLL has been registered? (27 comments) / other
2011-11-11 / #271 Stupid Raymond talent: Screaming carrier (109 comments) / non-computer
2011-11-14 / #272 The challenges in changing the way Explorer hosts shell extensions (26 comments) / other
2011-11-15 / #273 Fontography term or pretentious blather? (25 comments) / other
2011-11-16 / #274 How can I tell whether a COM pointer to a remote object is still valid? (27 comments) / code
2011-11-17 / #275 Why can’t I install this DLL via Regsvr32 /i? (26 comments) / other
2011-11-18 / #276 Why does Internet Explorer not call DLL_PROCESS_DETACH on my DLL when I call ExitProcess? (11 comments) / code
2011-11-21 / #277 Why not use animated GIFs as a lightweight alternative to AVIs in the animation common control? (27 comments) / history
2011-11-22 / #278 The Control Panel search results understand common misspellings, too (41 comments) / other
2011-11-23 / #279 It is not unreasonable to expect uninitialized garbage to change at any time, you don’t need to ask for an explanation (21 comments) / code
2011-11-24 / #280 How can I extend the deadline for responding to the PBT_APMSUSPEND message? (33 comments) / code
2011-11-25 / #281 How to insert a large number of items into a treeview efficiently (18 comments) / code
2011-11-28 / #282 Why is CLIPFORMAT defined to be a WORD rather than a UINT? (22 comments) / history
2011-11-29 / #283 Things I’ve written that have amused other people, Episode 8 (26 comments) / non-computer
2011-11-30 / #284 If you protect a write with a critical section, you may also want to protect the read (30 comments) / code
2011-12-01 / #285 Our code needs to run on multiple platforms with different rules, so we follow none of them! (27 comments) / other
2011-12-02 / #286 Don’t let more than one process try to read from stdin at the same time (19 comments) / code
2011-12-05 / #287 Why does my program still show up in the Programs and Features folder after my uninstaller exits? (41 comments) / code
2011-12-06 / #288 A feature I didn’t even know existed much less had a name: Color hot-track (38 comments) / tipssupport
2011-12-07 / #289 GetParent, just as confusing as EnumClaw, but it’s an actual function! (28 comments) / code
2011-12-08 / #290 What does it mean when my program exits with the message «This application has requested the Runtime to terminate it in an unusual way»? (21 comments) / code
2011-12-09 / #291 Sure, I’m supposed to pass WT_EXECUTELONGFUNCTION if my function takes a long time, but how long is long? (14 comments) / code
2011-12-12 / #292 How can I tell whether a window is modal? (17 comments) / code
2011-12-12 / #293 What is the API for accessing content on SkyDrive? (14 comments) / code
2011-12-13 / #294 Online gift ordering + enthusiastic kids at the keyboard + Unicode, wait… Unicode? (35 comments) / other
2011-12-14 / #295 The peculiar cadence of executive mail messages (19 comments) / non-computer
2011-12-15 / #296 Not even making it to the airtight hatchway: Execution even before you get there (38 comments) / other
2011-12-16 / #297 Programmatically controlling which handles are inherited by new processes in Win32 (21 comments) / code
2011-12-19 / #298 Paint messages will come in as fast as you let them (25 comments) / code
2011-12-20 / #299 Microspeak: Offline (noun) (20 comments) / microspeak;non-computer
2011-12-21 / #300 Deftly solving compatibility problems by withholding information (21 comments) / history
2011-12-22 / #301 How do I determine programmatically whether a particular language is LTR or RTL? (17 comments) / code
2011-12-23 / #302 How do I get the full path for the target of a shortcut file? (16 comments) / code
2011-12-26 / #303 Why is the file size reported incorrectly for files that are still being written to? (28 comments) / tipssupport
2011-12-26 / #304 Celebrating the end of the gluttony season, but the effects linger (11 comments) / non-computer
2011-12-27 / #305 Introducing the for-if anti-pattern (40 comments) / code
2011-12-28 / #306 Using the MNS_DRAGDROP style: Dragging out (8 comments) / code
2011-12-29 / #307 Using the MNS_DRAGDROP style: Dropping in (8 comments) / code
2011-12-30 / #308 Using the MNS_DRAGDROP style: Menu rearrangement (5 comments) / code
2011-12-30 / #309 2011 year-end link clearance (13 comments) / other

2012


Date Title
2012-01-02 / #0 Why wasn’t the Windows 95 shell prototyped on Windows NT? (21 comments) / history
2012-01-02 / #1 Exploiting the inattentive: The Xbox Kinect Premium Starter Kit (11 comments) / exploiting-the-inattentive;non-computer
2012-01-03 / #2 Why don’t ZIP files have the FILE_ATTRIBUTE_COMPRESSED attribute? (25 comments) / tipssupport
2012-01-03 / #3 The new business model: Intentional billing errors (16 comments) / exploiting-the-inattentive;non-computer
2012-01-04 / #4 Creating context menus on menus (12 comments) / code
2012-01-04 / #5 Misleading advertisement: Passports or green cards? (20 comments) / non-computer
2012-01-05 / #6 When DLL_PROCESS_DETACH tells you that the process is exiting, your best bet is just to return without doing anything (52 comments) / code
2012-01-05 / #7 A joke for mathematicians: On the Weyl schism (10 comments) / non-computer
2012-01-06 / #8 Why did HeapFree fail with ERROR_POSSIBLE_DEADLOCK? (17 comments) / code
2012-01-06 / #9 It must totally suck to live near Abbey Road (14 comments) / non-computer
2012-01-09 / #10 What were some of the abandoned features of Explorer back in its prototype days? (21 comments) / history
2012-01-09 / #11 From the research journal Duh: To lose weight, eat less (28 comments) / news-flash;non-computer
2012-01-10 / #12 You can use backups for things other than restoring (23 comments) / other
2012-01-10 / #13 News flash: Work-at-home job offers are mostly just scams (8 comments) / news-flash;non-computer
2012-01-11 / #14 How can I detect the language a run of text is written in? (25 comments) / other
2012-01-11 / #15 What a steal: A house for only ten dollars! (24 comments) / non-computer
2012-01-12 / #16 Why does CreateEvent fail with ERROR_PATH_NOT_FOUND if I give it a name with a backslash? (19 comments) / other
2012-01-12 / #17 Puzzling out the upsell-o-meter (21 comments) / non-computer
2012-01-13 / #18 How do I print non-error messages during compilation? (23 comments) / code
2012-01-13 / #19 Keys duplicated from photo: Delayed reaction (30 comments) / non-computer
2012-01-16 / #20 Why was there a font just for drawing symbols on buttons? (19 comments) / tipssupport
2012-01-16 / #21 Cultural arbitrage: The food-related sucker bet (44 comments) / non-computer
2012-01-17 / #22 Microspeak: Walls and ladders (10 comments) / microspeak;non-computer
2012-01-18 / #23 Don’t try to allocate memory until there is only x% free (52 comments) / code
2012-01-19 / #24 Why do Microsoft customer records use the abbreviation «cx» for customer? (40 comments) / other
2012-01-20 / #25 How do FILE_FLAG_SEQUENTIAL_SCAN and FILE_FLAG_RANDOM_ACCESS affect how the operating system treats my file? (39 comments) / code
2012-01-23 / #26 Can OANOCACHE be used for non-debug purposes? (14 comments) / code
2012-01-24 / #27 A single-handed effort to keep the memory of $2 bills alive (43 comments) / non-computer
2012-01-25 / #28 How do I disable the fault-tolerant heap? (10 comments) / code
2012-01-26 / #29 Why doesn’t the Windows 7 Start menu have a pushpin for pinning items? (31 comments) / history
2012-01-26 / #30 The 2012/2013 Seattle Symphony subscription season at a glance (5 comments) / non-computer
2012-01-27 / #31 Does mapping the same shared memory two times in a process lead to double the address space usage? (19 comments) / code
2012-01-30 / #32 Why does it take Task Manager longer to appear when you start it from the Ctrl+Alt+Del dialog? (39 comments) / other
2012-01-31 / #33 The Freudian typo that will not die: Enchanced video quality (18 comments) / other
2012-02-01 / #34 Things I’ve written that have amused other people, Episode 9 (29 comments) / other
2012-02-02 / #35 When you are looking for more information, it helps to say what you need the information for (46 comments) / email;other
2012-02-03 / #36 The compatibility constraints of error codes, episode 2 (22 comments) / code
2012-02-06 / #37 The story of the mysterious WINA20.386 file (35 comments) / history
2012-02-07 / #38 Microspeak: fit (19 comments) / microspeak;other
2012-02-08 / #39 The path-searching algorithm is not a backtracking algorithm (36 comments) / code
2012-02-09 / #40 What is the effect of memory-mapped file access on GetLastError()? (28 comments) / code
2012-02-10 / #41 Fancy use of exception handling in FormatMessage leads to repeated «discovery» of security flaw (24 comments) / code
2012-02-13 / #42 Why did the Windows 95 Start button have a secret shortcut for closing it? (23 comments) / history
2012-02-14 / #43 The awesome Valentine’s Day gift disguised as an uncreative one (37 comments) / non-computer
2012-02-15 / #44 When does an icon handler shell extension get unloaded? (5 comments) / code
2012-02-16 / #45 Why does the DrawIcon function draw at the default icon size? (17 comments) / history
2012-02-17 / #46 How do I find out which process has a file open? (24 comments) / code
2012-02-20 / #47 What’s the difference between Text Document, Text Document – MS-DOS Format, and Unicode Text Document? (16 comments) / code
2012-02-21 / #48 Why don’t music files show up in my Recent Items list? (19 comments) / tipssupport
2012-02-22 / #49 Instead of creating something and then trying to hide it, simply don’t create it in the first place (16 comments) / code
2012-02-23 / #50 What does the minus sign in indirect localized string resources mean? (7 comments) / other
2012-02-24 / #51 Why does Windows keep showing the old indirect strings even after I update the binary? (30 comments) / other
2012-02-27 / #52 Why was HDS_FILTERBAR added to the common controls if nobody uses it? (19 comments) / history
2012-02-28 / #53 How can I customize which notification icons are displayed by default on a new installation? (22 comments) / tipssupport
2012-02-29 / #54 What was the nature of the feedback that resulted in the change to the highlighting model for Explorer navigation pane? (26 comments) / history
2012-03-01 / #55 How do I make it so that users can copy static text on a dialog box to the clipboard easily? (20 comments) / code
2012-03-02 / #56 This isn’t Highlights magazine: Sort keys and why they change (25 comments) / code
2012-03-05 / #57 Why doesn’t the Maximize button maximize across all monitors? (42 comments) / other
2012-03-06 / #58 Why does Explorer ignore seconds when sorting by Date Modified? (39 comments) / tipssupport
2012-03-07 / #59 Why do program files go into the Program Files directory? (74 comments) / other
2012-03-08 / #60 Alt text for images are important in email, too (17 comments) / other
2012-03-09 / #61 To some people, time zones are just a fancy way of sounding important (42 comments) / other;time
2012-03-12 / #62 If you have multiple versions of Windows installed, why do they all try to adjust the clock? (48 comments) / other
2012-03-13 / #63 Microspeak: Friction (27 comments) / microspeak;non-computer
2012-03-14 / #64 How do I get mouse messages faster than WM_MOUSEMOVE? (11 comments) / code
2012-03-15 / #65 Why does the VerQueryValue function give me the wrong file version number? (9 comments) / code
2012-03-16 / #66 Memory allocation functions can give you more memory than you ask for, and you are welcome to use the freebies too, but watch out for the free lunch (44 comments) / code
2012-03-19 / #67 Why does holding the Ctrl key when selecting New Task from Task Manager open a command prompt? (16 comments) / other
2012-03-19 / #68 The most exciting part of my morning is catching my bus, specifically, making the transfer (36 comments) / non-computer
2012-03-20 / #69 In 1993, Microsoft stole my colleague’s car (28 comments) / non-computer
2012-03-21 / #70 Isn’t there a race condition in GetFileVersionInfoSize? (18 comments) / code
2012-03-22 / #71 Why does my window style change when I call SetWindowText? (9 comments) / code
2012-03-23 / #72 Why is the Heap32Next function incredibly slow on Windows 7? (16 comments) / code
2012-03-23 / #73 Beverage Gas Division of Central Welding Supply (19 comments) / non-computer
2012-03-26 / #74 Why does a maximized window have the wrong window rectangle? (22 comments) / code
2012-03-27 / #75 Amusing message on a whiteboard in the hallway (28 comments) / non-computer
2012-03-28 / #76 Converting to Unicode usually involves, you know, some sort of conversion (36 comments) / other
2012-03-29 / #77 Why can’t I delete a file immediately after terminating the process that has the file open? (26 comments) / code
2012-03-30 / #78 How do I perform shell file operations while avoiding shell copy hooks? (20 comments) / code
2012-04-02 / #79 If posting here is frequently frustrating and irritating, why do I keep doing it? (50 comments) / non-computer
2012-04-03 / #80 Introducing the unrolled-switch anti-pattern (39 comments) / code
2012-04-04 / #81 I totally presented to an executive the wrong way (10 comments) / other
2012-04-05 / #82 You can use an OVERLAPPED structure with synchronous I/O, too (19 comments) / code
2012-04-06 / #83 Registration-free COM the old-fashioned way: The car mp3 player (29 comments) / code
2012-04-09 / #84 There’s the interface contract, and there are the implementations of the interface contract (28 comments) / code
2012-04-10 / #85 Microspeak: scoped to (19 comments) / microspeak;other
2012-04-11 / #86 I know that an overlapped file handle requires an lpOverlapped, but why does it (sometimes) work if I omit it? (27 comments) / other
2012-04-12 / #87 What is the real maximum length of a DNS name? (18 comments) / tipssupport
2012-04-13 / #88 You already know the answer since you do it yourself (16 comments) / code
2012-04-16 / #89 Why do we need IsDialogMessage at all? (4 comments) / code
2012-04-17 / #90 There’s the kernel, and there’s kernel mode – confusing historical terminology (15 comments) / other
2012-04-18 / #91 Why doesn’t the Version tab show up for very large files? (40 comments) / tipssupport
2012-04-19 / #92 Why don’t I get a Caps Lock warning balloon any more? (32 comments) / other
2012-04-20 / #93 What does INIT_ONCE_CTX_RESERVED_BITS mean? (11 comments) / code
2012-04-23 / #94 Why are programs allowed to use normal characters as hotkeys? (36 comments) / other
2012-04-24 / #95 I thought I was so clever, salvaging an old floppy drive from a dead computer, but I didn’t think *two* steps ahead… (37 comments) / other
2012-04-25 / #96 How do I prevent users from opening TIF files? (30 comments) / tipssupport
2012-04-26 / #97 Shortcut properties are in the shortcut, so if they can read the shortcut, they can read the properties (33 comments) / other
2012-04-27 / #98 A process shutdown puzzle, Episode 2 (25 comments) / code
2012-04-30 / #99 What were the tests that WinG did to evaluate video cards? (46 comments) / history
2012-04-30 / #100 When you don’t speak a language, don’t sound like you speak the language (35 comments) / non-computer
2012-05-01 / #101 What happened to the Summary information created on Windows 2000 and Windows XP? (32 comments) / tipssupport
2012-05-02 / #102 Why is there sometimes a long delay between pressing a hotkey for a shortcut and opening the shortcut? (51 comments) / other
2012-05-03 / #103 How does Explorer calculate the folder size information in the folder tooltip? (22 comments) / tipssupport
2012-05-04 / #104 How does the MultiByteToWideChar function treat invalid characters? (9 comments) / code
2012-05-07 / #105 Why are the Windows 7 system notification icons colorless? (41 comments) / history
2012-05-08 / #106 Why can’t I use the file sharing wizard if I exclude inheritable permissions from a folder’s parent? (34 comments) / tipssupport
2012-05-09 / #107 How do I hide a window without blocking on it? (35 comments) / code
2012-05-10 / #108 Cheap amusement: Searching for spelling errors in the registry (34 comments) / other
2012-05-11 / #109 When you crash on a mov ebx, eax instruction, there aren’t too many obvious explanations, so just try what you can (20 comments) / code
2012-05-11 / #110 Warum deine Mutter Deutsch spricht (18 comments) / non-computer
2012-05-14 / #111 What is the historical reason for MulDiv(1, -0x80000000, -0x80000000) returning 2? (47 comments) / history
2012-05-15 / #112 Microspeak: The parking lot (18 comments) / microspeak;other
2012-05-16 / #113 Sure, we do that: Context menu edition (17 comments) / tipssupport
2012-05-17 / #114 How to view the stack of threads that were terminated as part of process teardown from the kernel debugger (6 comments) / other
2012-05-17 / #115 Charles Petzold is back with another edition of Programming Windows (32 comments) / other
2012-05-18 / #116 How to view the stack of threads that were terminated as part of process teardown from user mode (25 comments) / other
2012-05-21 / #117 What was the registry like in 16-bit Windows? (22 comments) / history
2012-05-22 / #118 Why is the Close button in the upper right corner? (47 comments) / history
2012-05-23 / #119 GUIDs are designed to be unique, not random (47 comments) / code
2012-05-24 / #120 How do I prevent unchecked checkboxes in my listview control from disappearing? (22 comments) / code
2012-05-25 / #121 The extern «C» specifier disables C++ mangling, but that doesn’t mean it disables mangling (18 comments) / code
2012-05-28 / #122 If my window hosts multiple windowless ActiveX controls, which one do I call IOleInPlaceActiveObject::TranslateAccelerator and IOleInPlaceObjectWindowless::OnWindowMessage on? (15 comments) / code
2012-05-29 / #123 Hazards of spelling autocorrection: defiance (44 comments) / non-computer
2012-05-30 / #124 What does a STATUS_OBJECT_TYPE_MISMATCH exception in LeaveCriticalSection mean? (10 comments) / code
2012-05-31 / #125 What happens if I call KillTimer with a NULL hwnd? (16 comments) / code
2012-06-01 / #126 How do I prefetch data into my memory-mapped file? (16 comments) / code
2012-06-01 / #127 The time I watched a total lunar eclipse from the top of a mountain (8 comments) / non-computer
2012-06-04 / #128 Why does PrintWindow hate CS_PARENTDC? Because EVERYBODY hates CS_PARENTDC! (16 comments) / code
2012-06-05 / #129 Microspeak: Turds (29 comments) / microspeak;other
2012-06-06 / #130 Don’t be helpless: What might be the reason for a «Path not found» error? (74 comments) / other
2012-06-07 / #131 Eventually the window manager simply says that enough is enough (34 comments) / code
2012-06-08 / #132 How can I determine the underlying cause of a EXCEPTION_IN_PAGE_ERROR exception? (12 comments) / code
2012-06-11 / #133 Why do you have to wait for Windows Error Reporting to check for solutions before it restarts the application? (47 comments) / other
2012-06-11 / #134 Fabio coming to Redmond. Also: Whey Protein (6 comments) / non-computer
2012-06-12 / #135 Microsoft Dynamics in a soda can, sort of (17 comments) / non-computer
2012-06-13 / #136 Why don’t all of my folder customizations roam with my profile? (15 comments) / tipssupport
2012-06-14 / #137 Now that Windows makes it harder for your program to block shutdown, how do you block shutdown? (62 comments) / code
2012-06-15 / #138 Globalization quiz: In honor of, well, that’s part of the quiz (46 comments) / other
2012-06-18 / #139 What is the history of the GetRandomRgn function? (26 comments) / history
2012-06-19 / #140 It’s not a good idea to give multiple controls on a dialog box the same ID (6 comments) / code
2012-06-20 / #141 When embedding a dialog inside another, make sure you don’t accidentally create duplicate control IDs (5 comments) / code
2012-06-20 / #142 Counting down to the last day of school, as students do it (23 comments) / non-computer
2012-06-21 / #143 When the default pushbutton is invoked, the invoke goes to the top-level dialog (7 comments) / code
2012-06-22 / #144 How did real-mode Windows fix up jumps to functions that got discarded? (25 comments) / history
2012-06-25 / #145 How does Explorer determine the delay between clicking on an item and initiating an edit? (34 comments) / tipssupport
2012-06-26 / #146 Thanks for reminding me what to do when the elevator is out of order (27 comments) / non-computer
2012-06-27 / #147 How did my hard drive turn into a TARDIS? (44 comments) / other
2012-06-28 / #148 You still need the «safe» functions even if you check string lengths ahead of time (69 comments) / code
2012-06-29 / #149 How did real-mode Windows patch up return addresses to discarded code segments? (19 comments) / history
2012-06-29 / #150 2012 mid-year link clearance (23 comments) / other
2012-07-02 / #151 Tracking shortcuts and the early history of multiple monitors (25 comments) / history
2012-07-03 / #152 You already got your answer, why are you re-asking the question? (29 comments) / email;other
2012-07-04 / #153 The continuing battle between people who offer a service and others who want to hack into the service (32 comments) / history
2012-07-05 / #154 How your taskbar auto-hide settings can keep getting overwritten (23 comments) / code
2012-07-06 / #155 What are the recommended locations for storing different types of files? (19 comments) / tipssupport
2012-07-06 / #156 The physics of a falling Slinky (5 comments) / non-computer
2012-07-09 / #157 Why hasn’t the API hook mechanism for x64 been standardized like it was for x86? (28 comments) / other
2012-07-10 / #158 Microspeak: radar (21 comments) / microspeak;other
2012-07-11 / #159 What does the HTOBJECT hit-test code do? (25 comments) / history
2012-07-12 / #160 What happens when you mark a section as DISCARDABLE? (31 comments) / code
2012-07-13 / #161 Why doesn’t RealGetWindowClass return the real window class for my superclass? (41 comments) / code
2012-07-16 / #162 How much gets localized in a localized version of Windows? (25 comments) / other
2012-07-17 / #163 Why doesn’t the Low Disk Space warning balloon show up as soon as I run low on disk space (66 comments) / tipssupport
2012-07-18 / #164 Why don’t per-item custom icons work when I open a Zip file or some other virtual folder? (19 comments) / other
2012-07-19 / #165 Why do some font names begin with an at-sign? (21 comments) / code
2012-07-20 / #166 The format of icon resources (12 comments) / other
2012-07-23 / #167 What’s the story behind the WM_SYNCPAINT message? (11 comments) / other
2012-07-24 / #168 Taking flexitarianism to another, perhaps unintended, level (22 comments) / non-computer
2012-07-25 / #169 One way to make sure you pass an array of the correct size (61 comments) / code
2012-07-26 / #170 A brief and also incomplete history of Windows localization (32 comments) / other
2012-07-27 / #171 Psychic debugging: Why your IContextMenu::InvokeCommand never gets called (12 comments) / code
2012-07-30 / #172 Why don’t any commands work after I run my batch file? I’m told that they are not recognized as an internal or external command, operable program, or batch file. (30 comments) / code
2012-07-30 / #173 Raymond’s subjective, unfair, and completely wrong impressions of the opening ceremonies of a major athletic event which took place recently (41 comments) / non-computer
2012-07-31 / #174 Reading the output of a command into a batch file variable (28 comments) / code
2012-08-01 / #175 How do I find the most recently created file in a directory from a batch file? (29 comments) / code
2012-08-01 / #176 You gotta fight for your right to parry (17 comments) / non-computer
2012-08-02 / #177 Exiting a batch file without exiting the command shell -and- batch file subroutines (17 comments) / code
2012-08-02 / #178 If you’re going to throw a badminton match, you have to be less obvious about it (37 comments) / non-computer
2012-08-03 / #179 FORFILES, for your fancier batch file enumeration needs (20 comments) / code
2012-08-03 / #180 Get your Contoso-branded merchandise while you can (15 comments) / other
2012-08-06 / #181 Why is the desktop treated so special in window ordering? (26 comments) / other
2012-08-07 / #182 Microspeak: planful (20 comments) / microspeak;other
2012-08-08 / #183 Of what possible legitimate use are functions like CreateRemoteThread, WriteProcessMemory, and VirtualProtectEx? (26 comments) / other
2012-08-09 / #184 What is SysFader and why is it always crashing? (23 comments) / tipssupport
2012-08-10 / #185 How did real-mode Windows implement its LRU algorithm without hardware assistance? (29 comments) / history
2012-08-13 / #186 Why am I in the Quake credits? (13 comments) / history
2012-08-14 / #187 How long does it take for a notification icon to stop appearing in the Notification Area Icons control panel? (31 comments) / tipssupport
2012-08-15 / #188 What happened to the Windows 2000 «Language settings for the system» control panel? (41 comments) / tipssupport
2012-08-16 / #189 What happened to the Windows 2000 «Set default language setting for the system» button? (3 comments) / tipssupport
2012-08-16 / #190 Charles Petzold’s Programming Windows Sixth Edition has reached Release Preview (11 comments) / other
2012-08-17 / #191 What if my application is really two applications bundled into a single file, and I want them collected into two groups on the taskbar in Windows 7? (14 comments) / code
2012-08-17 / #192 My colleague picked a good day to go out and catch a baseball game (28 comments) / non-computer
2012-08-20 / #193 How do I customize how my application windows are grouped in the Taskbar? (17 comments) / code
2012-08-21 / #194 Sorry we got cut off, my phone just auto-rebooted (29 comments) / non-computer
2012-08-22 / #195 The shifting sands of «Run as different user» (31 comments) / tipssupport
2012-08-23 / #196 Wait, you never said that I had to initialize the object before I used it! (29 comments) / code
2012-08-24 / #197 Dumping a hash table with external chaining from the debugger (17 comments) / other
2012-08-27 / #198 How does the taskbar decide whether to show Recent or Frequent documents on the jump list? (29 comments) / tipssupport
2012-08-28 / #199 Well at least nobody’s parking there any more (31 comments) / non-computer
2012-08-28 / #200 Command line tool to manage Windows 7 Libraries, with source code (14 comments) / code;tipssupport
2012-08-29 / #201 Psychic debugging: Why Chinese characters don’t work (15 comments) / other
2012-08-30 / #202 I’m not calling a virtual function from my constructor or destructor, but I’m still getting a __purecall error (21 comments) / code
2012-08-31 / #203 Adventures in undefined behavior: The premature downcast (45 comments) / code
2012-09-03 / #204 Buzzword-filled subject line easily misinterpreted by unsuspecting manager (11 comments) / non-computer
2012-09-04 / #205 Why don’t the shortcuts I put in the CSIDL_COMMON_FAVORITES folder show up in the Favorites menu? (25 comments) / other
2012-09-05 / #206 How did the X-Mouse setting come to be? (34 comments) / history
2012-09-06 / #207 You can’t rule out a total breakdown of normal functioning, because a total breakdown of normal functioning could manifest itself as anything (16 comments) / code
2012-09-07 / #208 The case of the asynchronous copy and delete (29 comments) / other
2012-09-10 / #209 When you transfer control across stack frames, all the frames in between need to be in on the joke (13 comments) / code
2012-09-11 / #210 Why can’t I use Magnifier in Full Screen or Lens mode? (16 comments) / tipssupport
2012-09-11 / #211 One for the «They have to say that because of me»: Ground rules at the Point Defiance Zoo (13 comments) / non-computer
2012-09-12 / #212 Rogue feature: Docking a folder at the edge of the screen (31 comments) / history
2012-09-13 / #213 WM_CTLCOLOR vs GetFileVersionInfoSize: Just because somebody else screwed up doesn’t mean you’re allowed to screw up too (16 comments) / history
2012-09-14 / #214 IShellFolder::BindToObject is a high-traffic method; don’t do any heavy lifting (6 comments) / code
2012-09-14 / #215 Raymond learns about some of the things people do to get banned on Xbox LIVE (29 comments) / other
2012-09-17 / #216 How do you deal with an input stream that may or may not contain Unicode data? (27 comments) / code
2012-09-18 / #217 The day I stole Joe Belfiore’s mouse (23 comments) / other;the-social-skills-of-a-thermonuclear-device
2012-09-19 / #218 Does the CopyFile function verify that the data reached its final destination successfully? (30 comments) / other
2012-09-20 / #219 How do I invoke a verb on an IShellItemArray? (3 comments) / code
2012-09-21 / #220 How can I implement SAFEARRAY.ToString() without going insane? (10 comments) / code
2012-09-21 / #221 In vollen Zügen genießen (13 comments) / non-computer
2012-09-24 / #222 I brought this process into the world, and I can take it out! (25 comments) / other
2012-09-24 / #223 A classification of faces with eyes open and closed in Dr. Seuss’s ABC based on the nature of the character (14 comments) / non-computer
2012-09-25 / #224 Why can’t I set «Size all columns to fit» as the default? (30 comments) / other
2012-09-26 / #225 Sabotaging yourself: Closing a handle and then using it (19 comments) / code
2012-09-27 / #226 Why aren’t environment variables being expanded in my RGS file? (12 comments) / code
2012-09-27 / #227 The Ride to Rio: Bicycling from Los Angeles to Rio de Janeiro (10 comments) / non-computer
2012-09-28 / #228 Data in crash dumps are not a matter of opinion (24 comments) / other
2012-09-28 / #229 2012 Q3 link clearance: Microsoft research edition (14 comments) / other
2012-10-01 / #230 What’s the difference between F5 and F8 at the boot screen? (34 comments) / history
2012-10-02 / #231 Microspeak: Granular (13 comments) / microspeak;other
2012-10-03 / #232 How do I suppress the default animation that occurs when I hide or show a window? (18 comments) / code
2012-10-04 / #233 Why does RegOpenKey sometimes (but not always) fail if I use two backslashes instead of one? (11 comments) / code
2012-10-04 / #234 An unexpected application of negative numbers to gift-giving (7 comments) / non-computer
2012-10-05 / #235 How do I override the default icon selection algorithm? (13 comments) / code
2012-10-08 / #236 How does Explorer deal with recent files that were renamed? (25 comments) / other
2012-10-09 / #237 Usage guidance for a popcorn machine in the kitchenette (34 comments) / non-computer
2012-10-10 / #238 Why does Windows Compressed Folders (Zip folders) reject paths that begin with a slash? (20 comments) / tipssupport
2012-10-11 / #239 Combo boxes have supported incremental searching for quite some time now (21 comments) / code
2012-10-12 / #240 What happens if you forget to pass an OVERLAPPED structure on an asynchronous handle? (13 comments) / code
2012-10-15 / #241 The cries of «Oh no!» emerge from each office as the realization slowly dawns (35 comments) / history
2012-10-16 / #242 Irony patrol: Recycling bins (40 comments) / history
2012-10-17 / #243 If there’s a problem with a wiki, then you can fix it; that’s why it’s a wiki (24 comments) / other
2012-10-18 / #244 Why does ShellExecute return SE_ERR_ACCESSDENIED for nearly everything? (7 comments) / history
2012-10-19 / #245 Using WM_COPYDATA to marshal message parameters since the window manager otherwise doesn’t know how (17 comments) / code
2012-10-22 / #246 How do you come up with new shortcut keys? (17 comments) / other
2012-10-23 / #247 Diversion: Generating a random color from JavaScript (32 comments) / code
2012-10-24 / #248 You can’t use the WM_USER message in a dialog box (18 comments) / code
2012-10-25 / #249 Keyboard layouts aren’t like Beetlejuice – they won’t appear just because you say their name (16 comments) / code
2012-10-26 / #250 Whether the Unicode Bidi algorithm is intuitive depends on your definition of «intuitive» (11 comments) / other
2012-10-29 / #251 In the conversion to 64-bit Windows, why were some parameters not upgraded to SIZE_T? (29 comments) / other
2012-10-30 / #252 Keyboard shortcut for resizing all columns in a listview control to fit (17 comments) / tipssupport
2012-10-30 / #253 The wisdom of seve^H^H^H^Hsixth graders: Living without electronics for a week (11 comments) / non-computer;the-wisdom-of-seventh-graders
2012-10-31 / #254 The TEMP directory is like a public hot tub whose water hasn’t been changed in over a year (28 comments) / other
2012-11-01 / #255 When you synthesize input with SendInput, you are also synthesizing the timestamp (6 comments) / code
2012-11-02 / #256 How do I parse a string into a FILETIME? (5 comments) / code;time
2012-11-05 / #257 How do I get the tabbed dialog effect on my own custom tabbed dialog? (13 comments) / code
2012-11-06 / #258 If you’re asking somebody to help you, you want to make it easy for them, not harder (36 comments) / other;the-social-skills-of-a-thermonuclear-device
2012-11-07 / #259 Instead of trying to create a filter that includes everything, try just omitting the filter (12 comments) / other
2012-11-08 / #260 What does the COINIT_SPEED_OVER_MEMORY flag to CoInitializeEx do? (20 comments) / history
2012-11-09 / #261 Thread affinity of user interface objects: Addendum (14 comments) / code
2012-11-12 / #262 Why are taskbar live previews lost when you use Fast User Switching? (25 comments) / other
2012-11-12 / #263 Frequentists vs Bayesians (20 comments) / non-computer
2012-11-13 / #264 Microsoft Money crashes during import of account transactions or when changing a payee of a downloaded transaction (49 comments) / code
2012-11-14 / #265 Break it up, you two!: The zero width non-joiner (14 comments) / other
2012-11-15 / #266 If you’re going to write your own allocator, you need to respect the MEMORY_ALLOCATION_ALIGNMENT (22 comments) / code
2012-11-16 / #267 How do I forward an exported function to an ordinal in another DLL? (16 comments) / code
2012-11-19 / #268 Raymond’s podcast list (for 2011, at least) (12 comments) / non-computer
2012-11-20 / #269 Microspeak: touch base (5 comments) / microspeak;non-computer
2012-11-20 / #270 How do I use group policy to improve security of USB thumb drives in my organization? (15 comments) / tipssupport
2012-11-21 / #271 It rather involved being on the other side of this airtight hatchway: Silently enabling features (41 comments) / other
2012-11-22 / #272 The resource compiler will helpfully add window styles for you, but if you’re building a dialog template yourself, you don’t get that help (6 comments) / code
2012-11-23 / #273 When studying performance, you need to watch out not only for performance degradation, but also unexpected performance improvement (5 comments) / other
2012-11-23 / #274 The Hater’s Guide to the Williams-Sonoma Catalog (7 comments) / non-computer
2012-11-26 / #275 How does the window manager decide where to place a newly-created window? (16 comments) / code
2012-11-26 / #276 Puzzling triple rainbow clearly identifies location of pot of gold (11 comments) / non-computer
2012-11-27 / #277 Security vulnerability reports as a way to establish your l33t kr3|)z (29 comments) / other
2012-11-28 / #278 Why are there both FIND and FINDSTR programs, with unrelated feature sets? (35 comments) / history
2012-11-29 / #279 Various ways of performing an operation asynchronously after a delay (23 comments) / code
2012-11-30 / #280 The debugger lied to you because the CPU was still juggling data in the air (28 comments) / other
2012-12-03 / #281 Have you found any TheDailyWTF-worthy code during the development of Windows 95? (25 comments) / history
2012-12-04 / #282 The QuickCD PowerToy, a brief look back (27 comments) / history
2012-12-05 / #283 Why do I get notified for changes to HKEY_CLASSES_ROOT when nobody is writing to HKEY_CLASSES_ROOT? (23 comments) / code
2012-12-06 / #284 Replaying input is not the same as reprocessing it (19 comments) / code
2012-12-07 / #285 It rather involved being on the other side of this airtight hatchway: Writing to the application directory (25 comments) / other
2012-12-10 / #286 Why do some shortcuts not support editing the command line and other properties? (27 comments) / code
2012-12-10 / #287 I’ll tell you what I think of the new University of California logo once it finishes loading (20 comments) / non-computer
2012-12-11 / #288 Microspeak: v-team (15 comments) / microspeak;other
2012-12-12 / #289 How am I supposed to free the information returned by the GetSecurityInfo function? (25 comments) / code
2012-12-13 / #290 Why is it so hard to write a program that requires UI Access privilege? (23 comments) / other
2012-12-14 / #291 Why is it possible to create a toolbar with the wrong HINSTANCE? And what’s the right HINSTANCE anyway? (5 comments) / code
2012-12-17 / #292 Like the cake, WS_EX_TRANSPARENT is a lie, or at least not the entire truth (4 comments) / code
2012-12-17 / #293 2012 års Gävlebock gick upp i brand. Igen. (15 comments) / non-computer
2012-12-18 / #294 Why was Pinball removed from Windows Vista? (115 comments) / history
2012-12-19 / #295 Why doesn’t SHGetKnownFolderPath return the customized path? (23 comments) / code
2012-12-20 / #296 Why do I sometimes get classic buttons and sometimes themed buttons depending on the host process? (20 comments) / code
2012-12-21 / #297 Why do BackupRead and BackupWrite require synchronous file handles? (24 comments) / history
2012-12-24 / #298 What is the proper handling of WM_RENDERFORMAT and WM_RENDERALLFORMATS? (4 comments) / code
2012-12-24 / #299 Miss Denmark, she is dressed as a mermaid because we couldn’t secure the rights from LEGO (3 comments) / non-computer
2012-12-25 / #300 You too can use your psychic powers: Spaces in paths (29 comments) / tipssupport
2012-12-26 / #301 A question about endian-ness turns out to be the wrong question (29 comments) / other
2012-12-26 / #302 What celebration of Kwanzaa would be complete without Sandra Lee’s infamous Kwanzaa cake? (7 comments) / non-computer
2012-12-27 / #303 What is so special about the instance handle 0x10000000? (12 comments) / code
2012-12-28 / #304 What do HeapLock and HeapUnlock do, and when do I need to call them? (16 comments) / code
2012-12-31 / #305 Why can’t you rename deleted items in the Recycle Bin? (30 comments) / other
2012-12-31 / #306 2012 year-end link clearance (12 comments) / other

2013


Date Title
2013-01-01 / #0 If NTFS is a robust journaling file system, why do you have to be careful when using it with a USB thumb drive? (68 comments) / tipssupport
2013-01-02 / #1 A few stray notes on Windows patching and hot patching (58 comments) / other
2013-01-03 / #2 Why does my program run really slow or even crash (or stop crashing, or crash differently) if running under a debugger? (27 comments) / code
2013-01-04 / #3 What’s the guidance on when to use rundll32? Easy: Don’t use it (28 comments) / code
2013-01-07 / #4 Understanding the classical model for linking, groundwork: The algorithm (23 comments) / code;linker
2013-01-08 / #5 Understanding the classical model for linking: Taking symbols along for the ride (15 comments) / code;linker
2013-01-09 / #6 Understanding the classical model for linking: You can override an LIB with another LIB, and a LIB with an OBJ, but you can’t override an OBJ (27 comments) / code;linker
2013-01-09 / #7 The enduring cultural fascination with Queen’s Bohemian Rhapsody (28 comments) / non-computer
2013-01-10 / #8 Understanding the classical model for linking: Sometimes you don’t want a symbol to come along for a ride (7 comments) / code;linker
2013-01-11 / #9 Understanding errors in classical linking: The delay-load catch-22 (25 comments) / code;linker
2013-01-14 / #10 How can I write a script that finds my top-rated photos? (25 comments) / code
2013-01-14 / #11 State law requires you to watch this video of a singing hippo (15 comments) / dream;non-computer
2013-01-15 / #12 If there were some sort of award for alternative commuting, we would’ve been eligible (17 comments) / non-computer
2013-01-16 / #13 How do I create a TaskDialog with a progress bar but no cancel button? (35 comments) / code
2013-01-17 / #14 A brief history of the GetEnvironmentStrings functions (24 comments) / history
2013-01-18 / #15 What is this rogue version 1.0 of the HTML clipboard format? (34 comments) / code
2013-01-21 / #16 The changing name of the Microsoft event held in conjunction with Martin Luther King, Jr. Day (9 comments) / other
2013-01-21 / #17 The 2013/2014 Seattle Symphony subscription season at a glance (10 comments) / non-computer
2013-01-22 / #18 Microspeak: pivot (12 comments) / microspeak;other
2013-01-22 / #19 Heads-up: Phone scammers pretending to be JPMorgan Chase MasterCard security (21 comments) / non-computer
2013-01-23 / #20 Why was WHEEL_DELTA chosen to be 120 instead of a much more convenient value like 100 or even 10? (35 comments) / history
2013-01-23 / #21 Eliot Chang’s list of things Asians hate (54 comments) / non-computer
2013-01-24 / #22 STRICT_TYPED_ITEMIDS is the shell namespace version of the STRICT macro used by USER and GDI (12 comments) / code
2013-01-25 / #23 When you have a SAFEARRAY, you need to know what it is a SAFEARRAY *of* (5 comments) / code
2013-01-28 / #24 Finding a printer, and then creating a shortcut to that printer (6 comments) / code
2013-01-28 / #25 Please hold your head perfectly still while you write up that memo (6 comments) / dream;non-computer
2013-01-29 / #26 Poisoning your own DNS for fun and profit (28 comments) / tipssupport
2013-01-30 / #27 Why doesn’t HeapValidate detect corruption in the managed heap? (17 comments) / code
2013-01-31 / #28 The somewhat misguided question of whether MapViewOfFile or WriteProcessMemory is faster (25 comments) / code
2013-02-01 / #29 Psychic debugging: Why your IContextMenu::InvokeCommand doesn’t get called even though you returned success from IContextMenu::QueryContextMenu (20 comments) / code
2013-02-01 / #30 The annual sporting event involving a football that dare not speak its name and a digression into the sportsmanship of wasting time in nonproductive activity (34 comments) / non-computer
2013-02-04 / #31 Obtaining the parsing name (and pidl) for a random shell object (5 comments) / code
2013-02-04 / #32 Old trace logs in your dreams (12 comments) / dream;other
2013-02-05 / #33 Optimizing the Chili’s dining experience (26 comments) / non-computer
2013-02-06 / #34 The curious pattern of pre-emptively rejecting the solution to your problem (28 comments) / other
2013-02-07 / #35 How can I register my context menu command for all file types *except* one, or other complex conditionals? (12 comments) / code
2013-02-07 / #36 Once you know something can be done, doing it is much easier (22 comments) / non-computer
2013-02-08 / #37 For the Nitpickers: Enhanced-mode Windows 3.0 didn’t exactly run a copy of standard-mode Windows inside the virtual machine (45 comments) / history
2013-02-08 / #38 The Essential Guide To Dim Sum (4 comments) / non-computer
2013-02-11 / #39 Display an overlay on the taskbar button (20 comments) / code
2013-02-11 / #40 Let me take this shortcut across Lake Saskatchewan (18 comments) / dream;non-computer
2013-02-12 / #41 What’s the story of the onestop.mid file in the Media directory? (45 comments) / history
2013-02-13 / #42 How do I launch a file as if it were a text file, even though its extension is not .txt? (18 comments) / code
2013-02-14 / #43 If you can’t find the function, find the caller and see what the caller jumps to (17 comments) / code
2013-02-15 / #44 Debug session: Why is an LPC server not responding? (16 comments) / code
2013-02-18 / #45 Display control buttons on your taskbar preview window (15 comments) / code
2013-02-18 / #46 I speak German better in my dream than I do in real life (21 comments) / dream;non-computer
2013-02-19 / #47 Microspeak: bubble up (12 comments) / microspeak;other
2013-02-20 / #48 You can ask the compiler to answer your calling convention questions (22 comments) / code
2013-02-21 / #49 What does -1.#IND mean?: A survey of how the Visual C runtime library prints special floating point values (29 comments) / code
2013-02-22 / #50 Isn’t the CompletionKey parameter to CreateIoCompletionPort superfluous? (4 comments) / code
2013-02-22 / #51 Now that version 4 of the .NET Framework supports in-process side-by-side runtimes, is it now okay to write shell extensions in managed code? (36 comments) / code
2013-02-25 / #52 Display a custom thumbnail for your application (and while you’re at it, a custom live preview) (12 comments) / code
2013-02-25 / #53 Dreaming up strange inventions: The combination urinal/bidet/washing machine (13 comments) / dream;non-computer
2013-02-26 / #54 This code would be a lot faster if it weren’t for the synchronization (56 comments) / other
2013-02-27 / #55 When the option becomes so second-nature you forget that it’s an option (17 comments) / other
2013-02-28 / #56 Is there a way to specify an icon to appear next to a menu item via the resource template? (4 comments) / code
2013-02-28 / #57 What does 1#J mean? A strange corner case of the printing of special values (44 comments) / code
2013-03-01 / #58 The source of much confusion: «backed by the system paging file» (42 comments) / code
2013-03-04 / #59 Marking a shortcut to say that it should not be placed on the Windows 8 Start page upon installation or treated as a newly-installed application (15 comments) / code
2013-03-04 / #60 Around and around and back and somewhere else (20 comments) / dream;non-computer
2013-03-05 / #61 Inadvertently creating dress-like-Steve day (14 comments) / non-computer
2013-03-05 / #62 Space Mountain as if the lights were on, and other Disneyland/World secrets (5 comments) / non-computer
2013-03-06 / #63 What are the dire consequences of not selecting objects out of my DC? (10 comments) / code
2013-03-07 / #64 What are the conventions for managing standard handles? (31 comments) / code
2013-03-08 / #65 Why do Explorer and the command prompt interpret file times differently? (27 comments) / time;tipssupport
2013-03-08 / #66 Microsoft-internal Chuck Norris facts (11 comments) / non-computer
2013-03-11 / #67 How can I see what files and shares are being accessed remotely, and the general usage pattern for the NetXxx functions (4 comments) / code
2013-03-11 / #68 Derive the age of the planet Jupiter from the properties of liquid hydrogen and the planet’s surface temperature (8 comments) / dream;non-computer
2013-03-12 / #69 Redistributing computers among offices for heating purposes (25 comments) / non-computer
2013-03-12 / #70 How do I hide Public Libraries on all computers in my organization? (18 comments) / tipssupport
2013-03-13 / #71 Closing holes in the update notification pattern (19 comments) / code
2013-03-14 / #72 Playing with the Windows Animation Manager: Fixing a sample (12 comments) / code
2013-03-15 / #73 Playing with the Windows Animation Manager: Moving lots of stuff around (5 comments) / code
2013-03-18 / #74 Manipulating the positions of desktop icons (12 comments) / code
2013-03-18 / #75 It may be your birthday, but why stop at just the day? Think big! (21 comments) / non-computer
2013-03-19 / #76 Microspeak: Science project (31 comments) / other
2013-03-19 / #77 Raymond’s highly scientific predictions for the 2013 NCAA men’s basketball tournament (12 comments) / highly-scientific;non-computer
2013-03-20 / #78 The x86 architecture is the weirdo: Structured exception handling (22 comments) / other
2013-03-21 / #79 Does this operation work when file system redirection is disabled? The default answer is NO (23 comments) / code
2013-03-22 / #80 When will GetMessage return -1? (16 comments) / code
2013-03-25 / #81 Using accessibility to monitor windows as they come and go (9 comments) / code
2013-03-25 / #82 Dreaming about a rather unusual guitar rehearsal (1 comment) / dream;non-computer
2013-03-26 / #83 There’s no law that says two people can’t have the same thing to eat (37 comments) / non-computer
2013-03-27 / #84 «Adjust visual effects for best performance» should really be called «Adjust visual effects for crappiest appearance» (59 comments) / tipssupport
2013-03-28 / #85 The C language specification describes an abstract computer, not a real one (21 comments) / other
2013-03-29 / #86 How do I convert a method name to a method index for the purpose of INTERFACEINFO? (6 comments) / code
2013-03-29 / #87 2013 Q1 link clearance: Microsoft blogger edition (12 comments) / other
2013-04-01 / #88 Some trivia about the //build/ 2011 conference (12 comments) / history
2013-04-01 / #89 The joke’s on you, because PATH goes to Penn Station, not Grand Central! (7 comments) / dream;non-computer
2013-04-02 / #90 Where did the research project RedShark get its name? (21 comments) / history
2013-04-03 / #91 How can I move an HTREEITEM to a new parent? (10 comments) / code
2013-04-04 / #92 Don’t forget, the fourth parameter to ReadFile and WriteFile is sometimes mandatory (11 comments) / code
2013-04-05 / #93 How do I wait until all processes in a job have exited? (10 comments) / code
2013-04-08 / #94 The managed way to retrieve text under the cursor (mouse pointer) (6 comments) / code
2013-04-08 / #95 Another meaning of the word leptoceratops (10 comments) / dream;non-computer
2013-04-09 / #96 On giving a name at the register to be called when your order is ready (16 comments) / non-computer
2013-04-10 / #97 The problem with adding more examples and suggestions to the documentation is that eventually people will stop reading the documentation (27 comments) / other
2013-04-11 / #98 The importance of having a review panel of twelve-year-old boys, episode 2 (27 comments) / other
2013-04-12 / #99 Is it legal to have a cross-process parent/child or owner/owned window relationship? (14 comments) / code
2013-04-12 / #100 The phenomenon of houses with nobody living inside, for perhaps-unexpected reasons (11 comments) / non-computer
2013-04-15 / #101 Using opportunistic locks to get out of the way if somebody wants the file (24 comments) / code
2013-04-15 / #102 Your tenant and your lover, in your dreams (6 comments) / dream;non-computer
2013-04-16 / #103 Dangerous setting is dangerous: This is why you shouldn’t turn off write cache buffer flushing (71 comments) / tipssupport
2013-04-17 / #104 If you don’t know what you’re going to do with the answer to a question, then there’s not much point in making others work hard to answer it (32 comments) / other
2013-04-18 / #105 How can I figure out which user modified a file? (20 comments) / other
2013-04-19 / #106 Why does CoCreateInstance work even though my thread never called CoInitialize? The curse of the implicit MTA (12 comments) / code
2013-04-19 / #107 Technically not lying, but not exactly admitting fault either (11 comments) / non-computer
2013-04-22 / #108 Getting the current selection from an Explorer window (8 comments) / code
2013-04-22 / #109 Dreaming about games based on Unicode (20 comments) / dream;non-computer
2013-04-23 / #110 Microspeak: Tenet (18 comments) / microspeak;other
2013-04-24 / #111 Dark corners of C/C++: The typedef keyword doesn’t need to be the first word on the line (29 comments) / code
2013-04-25 / #112 If you’re going to use an interlocked operation to generate a unique value, you need to use it before it’s gone (35 comments) / code
2013-04-26 / #113 Another way to create a process with attributes, maybe worse maybe better (17 comments) / code
2013-04-26 / #114 Fake film project tries to create real film to hide fakeness (and fails) (17 comments) / non-computer
2013-04-29 / #115 Getting the display name for a shell property (2 comments) / code
2013-04-29 / #116 Dentistry in the Brazil-like future (14 comments) / dream;non-computer
2013-04-30 / #117 The most expensive notepads in Microsoft history (9 comments) / history
2013-05-01 / #118 How do I get the current value of the RSP register from a C/C++ function? (No answer, but a solution.) (14 comments) / code
2013-05-01 / #119 I wrote two lines of code yesterday (32 comments) / other
2013-05-02 / #120 Any setting you expose to the user you implicitly expose to applications (38 comments) / other
2013-05-03 / #121 Creating a simple pidl: For the times you care enough to send the very fake (6 comments) / code
2013-05-06 / #122 Reading mouse input from a console program, and programmatically turning off Quick Edit mode (12 comments) / code
2013-05-06 / #123 Extending process attribute inheritance beyond its current boundaries (8 comments) / other
2013-05-07 / #124 How to tell the poseurs from the actual Windows developers (53 comments) / other
2013-05-08 / #125 Mathematical formulas are designed to be pretty, not to be suitable for computation (33 comments) / code
2013-05-09 / #126 Why am I getting LNK2019 unresolved external for my inline function? (23 comments) / code
2013-05-10 / #127 If you want to use a name for your file mapping, don’t just use the name of the file itself (20 comments) / code
2013-05-13 / #128 How can I display a live screenshot of a piece of another application? (4 comments) / code
2013-05-13 / #129 The secret lair of Administrative Assistants (12 comments) / dream;non-computer
2013-05-14 / #130 Microspeak: booked (10 comments) / microspeak;non-computer
2013-05-15 / #131 What does GDI use biXPelsPerMeter and SetBitmapDimensionEx for? (16 comments) / code
2013-05-15 / #132 Hey look, now I’m Director of Strategic Planning, oh, and my name also changed to Oliver Lee (16 comments) / non-computer
2013-05-16 / #133 Untangling the confusingly-named WM_UPDATEUISTATE and WM_CHANGEUISTATE messages (11 comments) / code
2013-05-16 / #134 Your electric fan is trying to kill you, and other cultural superstitions (72 comments) / non-computer
2013-05-17 / #135 Who sends the initial WM_UPDATEUISTATE message? (6 comments) / code
2013-05-20 / #136 Copying a file to the clipboard so you can paste it into Explorer or an email message or whatever (10 comments) / code
2013-05-20 / #137 The importance of remembering parity in a back-and-forth race on your flying bicycle (2 comments) / dream;non-computer
2013-05-21 / #138 A question about proper disposal of unwanted items with an unhelpful answer (13 comments) / non-computer
2013-05-22 / #139 How do I get a window back on the screen when it moved far, far away? Windows 7 (and 8) edition (30 comments) / tipssupport
2013-05-23 / #140 Even though mouse-move, paint, and timer messages are generated on demand, it’s still possible for one to end up in your queue (8 comments) / code
2013-05-24 / #141 What happens if I manually post an auto-generated message into my message queue? (18 comments) / code
2013-05-27 / #142 How do I customize the console properties for a shortcut to a console application? (9 comments) / code
2013-05-27 / #143 What are the scoping rules for variables in nested courtyards? (7 comments) / dream;other
2013-05-28 / #144 Why don’t hotkeys for items on my Start menu work when I am in a fullscreen application? (38 comments) / tipssupport
2013-05-29 / #145 What’s the point of SecureZeroMemory? (37 comments) / code
2013-05-30 / #146 The posted message queue vs the input queue vs the message queue (8 comments) / code
2013-05-31 / #147 Posted messages are processed ahead of input messages, even if they were posted later (9 comments) / code
2013-06-03 / #148 How do I make it more difficult for somebody to take a screenshot of my window? (39 comments) / code
2013-06-03 / #149 When a CD gets stuck on infinite repeat during the night (8 comments) / dream;non-computer
2013-06-04 / #150 Asynchronous input vs synchronous input, a quick introduction (20 comments) / code
2013-06-05 / #151 When you share an input queue, you have to wait your turn (15 comments) / code
2013-06-06 / #152 A pathological program which ignores the keyboard, and understanding the resulting behavior based on what we know about the synchronous input (11 comments) / code
2013-06-07 / #153 Sharing an input queue takes what used to be asynchronous and makes it synchronous, like focus changes (19 comments) / code
2013-06-10 / #154 A big little program: Monitoring Internet Explorer and Explorer windows, part 1: Enumeration (18 comments) / code
2013-06-10 / #155 Unexpected complexity of Swedish pronouns, and escaping the resulting embarrassment (13 comments) / dream;non-computer
2013-06-11 / #156 An introduction to COM connection points (16 comments) / code
2013-06-12 / #157 Dispatch interfaces as connection point interfaces (18 comments) / code
2013-06-13 / #158 A big little program: Monitoring Internet Explorer and Explorer windows, part 2: Tracking navigations (8 comments) / code
2013-06-14 / #159 A big little program: Monitoring Internet Explorer and Explorer windows, part 3: Tracking creation and destruction (13 comments) / code
2013-06-17 / #160 Displaying a property sheet for multiple files (9 comments) / code
2013-06-17 / #161 I wonder if the Queen of England ever pulls this sort of prank in real life (21 comments) / dream;non-computer
2013-06-18 / #162 Microspeak: to family well (29 comments) / microspeak;other
2013-06-19 / #163 AttachThreadInput is like taking two threads and pooling their money into a joint bank account, where both parties need to be present in order to withdraw any money (29 comments) / code
2013-06-20 / #164 Solving the problem rather than answering the question: Why does somebody want to write an unkillable process? (49 comments) / other
2013-06-21 / #165 Of what use is the RDW_INTERNALPAINT flag? (11 comments) / code
2013-06-24 / #166 Drawing content at a fixed screen position, regardless of window position (10 comments) / code
2013-06-24 / #167 Wait, this is not my regular bicycle commute home (12 comments) / dream;non-computer
2013-06-25 / #168 Where did the names of the fonts Marlett and Verdana come from? (17 comments) / history
2013-06-26 / #169 The default error mode (SetErrorMode) is not zero (23 comments) / code
2013-06-27 / #170 Once you return from the WM_ENDSESSION message, your process can be terminated at any time (21 comments) / code
2013-06-28 / #171 It’s the address space, stupid (78 comments) / code
2013-06-28 / #172 2013 mid-year link clearance (19 comments) / other
2013-07-01 / #173 Building on our program that draws content at a fixed screen position regardless of window position (11 comments) / code
2013-07-01 / #174 I wonder what sort of efficiency that house gets on the Autobahn (3 comments) / dream;non-computer
2013-07-02 / #175 You can read as well as I can, or maybe not (14 comments) / other;the-social-skills-of-a-thermonuclear-device
2013-07-02 / #176 I didn’t go to //build/ in San Francisco, but I’ll be at RAMP in Budapest (48 comments) / other
2013-07-03 / #177 Why don’t elevated processes inherit their environment variables from their non-elevated parent? (23 comments) / other
2013-07-04 / #178 Why was the Windows source code trunk called the Blue Line? (15 comments) / history
2013-07-05 / #179 It rather involved being on the other side of this airtight hatchway: Disabling Safe DLL searching (17 comments) / other
2013-07-08 / #180 A program for my nieces: The ABCs, part 1 (19 comments) / code
2013-07-08 / #181 It really wasn’t that fancy a Swedish sentence (10 comments) / dream;non-computer
2013-07-09 / #182 The credit card with a half-million-dollar credit limit (26 comments) / history
2013-07-10 / #183 Why is the syntax for touching a file from the command prompt so strange? (38 comments) / history
2013-07-11 / #184 Where is this CRC that is allegedly invalid on my hard drive? (29 comments) / other
2013-07-12 / #185 If you want to track whether the current thread owns a critical section, you can use the critical section itself to protect it (42 comments) / code
2013-07-15 / #186 A program for my nieces: The ABCs, part 2, choosing a font (11 comments) / code
2013-07-15 / #187 Watch out for those out-of-control Canadian tour buses (10 comments) / dream;non-computer
2013-07-16 / #188 Microspeak: Landing, especially the heated kind (14 comments) / microspeak;other
2013-07-17 / #189 Why is LOCALE_SDURATION so dorky-looking? (31 comments) / other
2013-07-18 / #190 If you’re not using the command line interpreter, then the command line interpreter metacharacters mean nothing (15 comments) / code
2013-07-19 / #191 Nasty gotcha: STGM_READ | STGM_WRITE does not grant read/write access (10 comments) / code
2013-07-22 / #192 A program for my nieces: The ABCs, part 3 (9 comments) / code
2013-07-22 / #193 At least it’s clear who will NOT be bunking together (4 comments) / dream;non-computer
2013-07-23 / #194 Office Office Office Malkovich Office Office Office (13 comments) / non-computer
2013-07-24 / #195 Windows 7 no longer tries to guess application size and other information (34 comments) / tipssupport
2013-07-24 / #196 Nighttime pictures of London and Tokyo (10 comments) / non-computer
2013-07-25 / #197 What is the default cursor for a thread? (21 comments) / code
2013-07-26 / #198 From Microsoft’s mail room to the board room (14 comments) / history
2013-07-29 / #199 A program for my nieces: The ABCs, part 4 (11 comments) / code
2013-07-29 / #200 I’m sure that Star Trek-themed parties exist, so why has no one ever scheduled one as a Microsoft holiday party? (5 comments) / dream;non-computer
2013-07-30 / #201 Sometimes people can be so helpless: Finding the owner of a Web page (13 comments) / other
2013-07-31 / #202 Why does Explorer sometimes show my server name in parentheses? (27 comments) / tipssupport
2013-08-01 / #203 The case of the auto-hide taskbar (43 comments) / other
2013-08-02 / #204 It rather involved being on the other side of this airtight hatchway: Open access to the application directory (24 comments) / other
2013-08-05 / #205 Why does BitConverter.LittleEndian return false on my x86 machine? (27 comments) / code
2013-08-05 / #206 A practical reason for shutting down for the Mayan apocalyse (9 comments) / dream;non-computer
2013-08-06 / #207 The mysterious ways of the params keyword in C# (21 comments) / code
2013-08-06 / #208 Sometimes sports-rule lawyering comes true: The strikeout with only one thrown pitch (15 comments) / non-computer
2013-08-07 / #209 Weak references have no effect on object lifetime (18 comments) / code
2013-08-07 / #210 The mathematical card game Krypto and reaching a level of proficiency where the rules break down (16 comments) / class=
2013-08-08 / #211 On partially-constructed objects, additional remarks, not as interesting (14 comments) / code
2013-08-09 / #212 Why does the CLR report a NullReferenceException even if the referenced access is not exactly the null pointer? (28 comments) / code
2013-08-09 / #213 Each time I move, my mailbox moves further away (27 comments) / non-computer
2013-08-12 / #214 How do I convert a synchronous file handle into an asynchronous one? (20 comments) / code
2013-08-12 / #215 Please don’t wade across the Strait of Juan de Fuca (1 comment) / dream;non-computer
2013-08-13 / #216 Generally speaking, yanking the power plug unexpectedly should not be part of your business process (25 comments) / other
2013-08-14 / #217 What’s the point of letting you change the GCL_CBCLSEXTRA if it has no effect? (14 comments) / code
2013-08-15 / #218 How do I control the order of the pages in property sheets from my shell extension? (18 comments) / code
2013-08-16 / #219 If I signal an auto-reset event and there is a thread waiting on it, is it guaranteed that the event will be reset and the waiting thread released before SetEvent returns? (13 comments) / code
2013-08-19 / #220 The tiny table sorter – or – you can write LINQ in JavaScript (8 comments) / code
2013-08-19 / #221 A dream about forgetting to deploy the backup brake pads (15 comments) / dream;non-computer
2013-08-20 / #222 Microspeak: The train (15 comments) / microspeak;other
2013-08-21 / #223 Adding a confirmation dialog to every drag/drop operation does not solve the problem (42 comments) / tipssupport
2013-08-22 / #224 All I/O on a synchronous file handle is serialized; that’s why it’s called a synchronous file handle (30 comments) / code
2013-08-23 / #225 If I attach a file to an existing completion port, do I have to close the completion port handle a second time? (13 comments) / code
2013-08-26 / #226 Why doesn’t the «Automatically move pointer to the default button in a dialog box» work for nonstandard dialog boxes, and how do I add it to my own nonstandard dialog boxes? (30 comments) / code;tipssupport
2013-08-26 / #227 The challenge of improvisational historical comedy (1 comment) / dream;non-computer
2013-08-27 / #228 How can I find out which process and user is modifying a file? (26 comments) / tipssupport
2013-08-28 / #229 The format of data and custom resources (14 comments) / code
2013-08-29 / #230 How can I write to a file only as long as nobody’s looking? (9 comments) / code
2013-08-30 / #231 Can an x64 function repurpose parameter home space as general scratch space? (23 comments) / code
2013-09-02 / #232 What is the official name of the most popular work visa in the United States? (10 comments) / non-computer
2013-09-02 / #233 If you had to deal with preschoolers all day, you’d need a nap too (5 comments) / dream;non-computer
2013-09-03 / #234 If your product is client-managed, how do you sell the server? (43 comments) / other
2013-09-04 / #235 How permanent is the «Remove from this list» action on the Start menu? (22 comments) / tipssupport
2013-09-05 / #236 Why are my posted messages getting lost when the user drags my window around? (8 comments) / code
2013-09-06 / #237 How to rescue a broken stack trace on x64: Recovering the stack pointer (1 comment) / other
2013-09-09 / #238 Programmatically editing the metadata of an audio file (12 comments) / other
2013-09-09 / #239 Mom and dad’s event-filled first day of school (5 comments) / dream;non-computer
2013-09-10 / #240 Early versions of Aero Peek: Aladdin, Bat Signal, and Squeegee (28 comments) / history
2013-09-11 / #241 Why does Internet Explorer put tab stops at 8-character intervals instead of 4, like all right-thinking people? (50 comments) / other
2013-09-12 / #242 It rather involved being on the other side of this airtight hatchway: Creating problematic files in a directory that requires administrative access (23 comments) / other
2013-09-13 / #243 How does InterlockedIncrement work internally? (23 comments) / other
2013-09-16 / #244 Forcing a file handle closed when it has been opened remotely (23 comments) / code
2013-09-16 / #245 Entering the world of competitive Ring-Around-the-Rosie (7 comments) / dream;non-computer
2013-09-17 / #246 Facilities jargon: Energize (16 comments) / non-computer
2013-09-18 / #247 SubtractRect doesn’t always give you the exact difference (15 comments) / code
2013-09-19 / #248 When a program is launched via DDE, and there are multiple servers, which one is used? (7 comments) / code
2013-09-19 / #249 Raymond’s subjective, biased, unfair, and completely wrong characterization of the sounds of several East Asian (and one Southeast Asian) languages (37 comments) / non-computer
2013-09-20 / #250 How can I tell that I have a shell folder that represents My Computer? (6 comments) / code
2013-09-23 / #251 Providing a custom autocomplete source for an edit control (15 comments) / code
2013-09-23 / #252 I dreamed that I was in an alternate-universe Samuel L. Jackson movie (16 comments) / dream;non-computer
2013-09-24 / #253 Wait, so does moving a file recalculate inherited permissions or doesn’t it? (15 comments) / tipssupport
2013-09-24 / #254 Punctuation is becoming increasingly decorative and less functional (40 comments) / non-computer
2013-09-25 / #255 How can I tell that somebody used the MAKEINTRESOURCE macro to smuggle an integer inside a pointer? (22 comments) / code
2013-09-26 / #256 Don’t forget, Unicode includes formatting characters which can be used to influence output formatting (17 comments) / code
2013-09-27 / #257 How can I determine how responsive my application is to input? (0 comments) / code
2013-09-27 / #258 2013 Q3 link clearance: Microsoft blogger edition (9 comments) / other
2013-09-30 / #259 Playing a sound every time the foreground window changes (22 comments) / code
2013-09-30 / #260 Sometimes my dreams are entirely uneventful (19 comments) / dream;non-computer
2013-10-01 / #261 The management of memory for resources in 16-bit Windows, redux (10 comments) / history
2013-10-02 / #262 The relationship between module resources and resource-derived objects in 16-bit Windows (6 comments) / code
2013-10-03 / #263 The relationship between module resources and resource-derived objects in 32-bit Windows (10 comments) / code
2013-10-04 / #264 What’s the difference between CopyIcon and DuplicateIcon? (9 comments) / code
2013-10-07 / #265 Printing the contents of the clipboard as text to stdout (27 comments) / code
2013-10-07 / #266 But instead, they decided to build the Great Wheel (3 comments) / dream;non-computer
2013-10-08 / #267 I wrote FAT on an airplane, for heaven’s sake (47 comments) / history
2013-10-08 / #268 I wrote my thesis on an airplane, for heaven’s sake (32 comments) / non-computer
2013-10-09 / #269 Using the TAB key to navigate in non-dialogs, redux (7 comments) / code
2013-10-10 / #270 How do I find out what size the window manager would have chosen for my window? (16 comments) / code
2013-10-10 / #271 Happy 110th birthday, Professor Alyea (2 comments) / non-computer
2013-10-11 / #272 C++ corner case: You can implement pure virtual functions in the base class (40 comments) / code
2013-10-14 / #273 Filtering the folders that appear in the Browse for Folder dialog (5 comments) / code
2013-10-14 / #274 The imaginary experience of dining at an underground restaurant (5 comments) / dream;non-computer
2013-10-15 / #275 Just because I don’t deny something doesn’t make it true (26 comments) / other
2013-10-16 / #276 Why does my window get a WM_ACTIVATE message when it isn’t active? (18 comments) / code
2013-10-17 / #277 What is the inverse of AdjustWindowRect and AdjustWindowRectEx? (17 comments) / code
2013-10-18 / #278 The case of the redirected standard handles that won’t close even though the child process has exited (and a smidge of Microspeak: reduction) (44 comments) / code;microspeak
2013-10-21 / #279 Opening and manipulating Internet Explorer windows programmatically (13 comments) / code
2013-10-21 / #280 Using a toy cash register as a keyboard doesn’t add up (12 comments) / dream;non-computer
2013-10-22 / #281 The hierarchy of user education, as interpreted by a vice president (15 comments) / other
2013-10-23 / #282 It rather involved being on the other side of this airtight hatchway: Planting DLLs into directories on the PATH for applications whose current directory is always System32 (29 comments) / other
2013-10-24 / #283 When should I use the FIND_FIRST_EX_LARGE_FETCH flag to FindFirstFileEx? (14 comments) / code
2013-10-25 / #284 My, those threads start up really fast nowadays (52 comments) / code
2013-10-28 / #285 Using GetLogicalProcessorInformationEx to see the relationship between logical and physical processors (13 comments) / code
2013-10-28 / #286 The financial acumen of sea turtles (10 comments) / dream;non-computer
2013-10-29 / #287 Help me optimize this code which enumerates all possible GUIDs (64 comments) / code
2013-10-30 / #288 Distinguishing between asking for help with a product and asking for help with a product’s installation (15 comments) / other
2013-10-31 / #289 If there is no 16-bit emulation layer in 64-bit Windows, how come certain 16-bit installers are allowed to run? (37 comments) / other
2013-10-31 / #290 The guide to trading candy (3 comments) / non-computer
2013-11-01 / #291 On the various ways of getting the current time and date in Win32 (40 comments) / code;time
2013-11-04 / #292 Manipulating the zone identifier to specify where a file was download from (38 comments) / code
2013-11-04 / #293 The complexity of modern voting, or at least modern dream voting (8 comments) / non-computer
2013-11-05 / #294 What is the point of FreeLibraryAndExitThread? (24 comments) / code
2013-11-06 / #295 CoUninitalize will ask a DLL if it is okay to unload now, but the answer is a foregone conclusion (6 comments) / code
2013-11-07 / #296 Partially eliminating the need for SetThreadpoolCallbackLibrary and reducing the cost of FreeLibraryAndExitThread (23 comments) / code
2013-11-08 / #297 What’s the point of the various …WhenCallbackReturns functions? (6 comments) / code
2013-11-11 / #298 How did Raymond discover his carrier-screaming talent? And his homemade Marauder’s Map (14 comments) / non-computer
2013-11-12 / #299 Microspeak: Spinning up or kicking off a build (21 comments) / microspeak;other
2013-11-13 / #300 A possibly unbeatable record for the shortest amount of time between an email message and its resend (25 comments) / email;other
2013-11-14 / #301 Why is my FormatMessage call crashing trying to read my insertion parameter? (19 comments) / code
2013-11-15 / #302 Restoring symbols to a stack trace originally generated without symbols (10 comments) / other
2013-11-18 / #303 How can I launch an unelevated process from my elevated process and vice versa? (27 comments) / code
2013-11-18 / #304 My friend lived in a tiny house with an enormous garage (5 comments) / dream;non-computer
2013-11-19 / #305 Why is the Program Files directory called Program Files instead of just Programs? (97 comments) / history
2013-11-20 / #306 Why don’t all of my documents show up when I arrange my Documents library by Name? (29 comments) / tipssupport
2013-11-21 / #307 How do I get the path to the default user’s profile? (22 comments) / code
2013-11-22 / #308 How do I get the effect of CW_USEDEFAULT positioning on a window I’ve already created? (37 comments) / code
2013-11-25 / #309 Extracting GPS coordinates from a photo and plotting it on a map (13 comments) / code
2013-11-25 / #310 My friend lived in an apartment inside a museum (10 comments) / dream;non-computer
2013-11-26 / #311 Why did Raymond bring a knitting bag to every meeting? (31 comments) / other
2013-11-27 / #312 The case of the DLL that refuses to load (17 comments) / code
2013-11-28 / #313 If you try to declare a variadic function with an incompatible calling convention, the compiler secretly converts it to cdecl (16 comments) / code
2013-11-28 / #314 Things that can happen when your kitchen gets taken over by others (18 comments) / non-computer
2013-11-29 / #315 Why can’t I create my dialog with DialogBox, DialogBoxParam, CreateDialog, CreateDialogParam, or the indirect versions of same? (2 comments) / code
2013-11-29 / #316 Notes on gift card and gift certificates in the state of Washington (25 comments) / non-computer
2013-12-02 / #317 Logging the foreground process as it changes (9 comments) / code
2013-12-02 / #318 The walls of my friend’s house sometimes randomly got corrupted (16 comments) / dream;non-computer
2013-12-03 / #319 How do I configure the timeout used by UI0Detect (Interactive Services Detection service)? (10 comments) / tipssupport
2013-12-03 / #320 Sir, is this your high-speed ferry? (13 comments) / non-computer
2013-12-04 / #321 What’s the difference between the wParam of the WM_NOTIFY message and the idFrom in the NMHDR structure? (13 comments) / code
2013-12-05 / #322 What’s up with the registry key HKEY_CLASSES_ROOTCLSIDCLSID? (18 comments) / code
2013-12-06 / #323 Is it wrong to call SHFileOperation from a service? (20 comments) / code
2013-12-09 / #324 Destroying all child processes (and grandchildren) when the parent exits (15 comments) / code
2013-12-09 / #325 This was only a test; if this had been an actual concert… (10 comments) / dream;non-computer
2013-12-10 / #326 Mysterious email, possible social engineering, whatever it was, it didn’t work (16 comments) / non-computer
2013-12-11 / #327 Some vice presidents forget that not everybody attends the same meetings that they do (16 comments) / other
2013-12-12 / #328 How do you intercept taskbar notification balloons? (15 comments) / code
2013-12-13 / #329 Turning off the disco lights on the Start screen (43 comments) / history
2013-12-16 / #330 Disabling the PrtSc key by blocking input (12 comments) / code
2013-12-16 / #331 That fee was so that we wouldn’t have to raise our prices (18 comments) / dream;non-computer
2013-12-17 / #332 Why doesn’t the New Folder command work in the root of a redirected drive resource in a Remote Desktop session? (27 comments) / tipssupport
2013-12-17 / #333 Tales from «The Box»: A survey of crackpots in physics (11 comments) / non-computer
2013-12-18 / #334 Whether your application should display its content in RTL should be based on the content (15 comments) / other
2013-12-19 / #335 How do I display an RTL string in a notification balloon on an LTR system? (8 comments) / code
2013-12-20 / #336 Wouldn’t the Recycle Bin sample program have been simpler without COM? (17 comments) / other
2013-12-23 / #337 Creating custom tasks on a jump list (2 comments) / code
2013-12-23 / #338 That doesn’t sound like South Frisian to me (4 comments) / dream;non-computer
2013-12-24 / #339 Essays from the funniest man in Microsoft Research (16 comments) / other
2013-12-25 / #340 The chain of stories triggered by seeing a package of Ahoj-Brause (12 comments) / non-computer
2013-12-26 / #341 Why is GetWindowLongPtr returning a garbage value on 64-bit Windows? (33 comments) / code
2013-12-26 / #342 I think we’re going to be getting frozen leftovers for lunch today (10 comments) / non-computer
2013-12-27 / #343 Brief Q&A on the HeapEnableTerminationOnCorruption heap information flag (13 comments) / code
2013-12-30 / #344 How can I get the list of programs the same way that Programs and Features gets it? (25 comments) / code
2013-12-30 / #345 There’s no seating up there, so you just have to hang on for dear life (5 comments) / dream;non-computer
2013-12-31 / #346 New Year’s Eve is sometimes a stressful occasion (18 comments) / history
2013-12-31 / #347 2013 year-end link clearance (11 comments) / other

2014


Date Title
2014-01-01 / #0 We know your job is hard, you don’t have to show us (10 comments) / other
2014-01-02 / #1 If the cursor clip rectangle is a global resource, how come I can’t change it with ClipCursor? (7 comments) / code
2014-01-03 / #2 What happened in real-mode Windows when somebody did a longjmp into a discardable segment? (14 comments) / history
2014-01-06 / #3 How do I obtain the computer manufacturer’s name via C++? (30 comments) / code
2014-01-06 / #4 Excuses college students use for missing assignments (28 comments) / non-computer
2014-01-07 / #5 The case of the mysterious Alternate Data Stream query (12 comments) / tipssupport
2014-01-08 / #6 The case of the missing context menu verbs (21 comments) / code
2014-01-09 / #7 Can you dllexport/dllimport an inline function? (48 comments) / code
2014-01-10 / #8 How do I manually recalculate ACLs on a file based on the containing directory? (11 comments) / code
2014-01-13 / #9 Creating a listview with checkboxes on some items but not others (13 comments) / code
2014-01-13 / #10 The Dead Grandmother/Exam Syndrome (19 comments) / non-computer
2014-01-14 / #11 How do I hit the Win+PrintScreen hotkey if my tablet doesn’t have a PrtSc key? (30 comments) / tipssupport
2014-01-15 / #12 There are so many things that call themselves message queues (10 comments) / other
2014-01-16 / #13 The curse of the leading zero (62 comments) / code
2014-01-17 / #14 Psychic debugging: Why messages aren’t getting processed by your message pump (21 comments) / code
2014-01-20 / #15 How do I get a high resolution icon for a file? (10 comments) / code
2014-01-20 / #16 Hello Kitty takes a rather inefficient trip to the United States (31 comments) / non-computer
2014-01-21 / #17 When the Web page says that a tool is not supported, it means that if you find a problem and contact technical support, they’re just going to point you back to the Web page (35 comments) / other
2014-01-22 / #18 What clock do MSG.time and GetMessageTime use? (13 comments) / code
2014-01-22 / #19 Commissioner Bud Selig was named the first recipient of the Commissioner Bud Selig Leadership Award (12 comments) / non-computer
2014-01-23 / #20 The Visual Effects dialog box just tells you what you want to hear (21 comments) / tipssupport
2014-01-24 / #21 Non-psychic debugging: Looking for leaked objects by their vtable (25 comments) / code
2014-01-24 / #22 Jan-Keno Janssen decides to rent a bicycle to get around Las Vegas; this is what happens (40 comments) / non-computer
2014-01-27 / #23 How can I make a callback function a member of my C++ class? (25 comments) / code
2014-01-27 / #24 The 2014/2015 Seattle Symphony subscription season at a glance (8 comments) / non-computer
2014-01-28 / #25 Why does my setup program detect the operating system incorrectly the second time I run it? (65 comments) / tipssupport
2014-01-29 / #26 One of my favorite error codes: Optional parameter missing (25 comments) / code
2014-01-30 / #27 Can process IDs be greater than 64000? Because we’re seeing process IDs greater than 64000 (25 comments) / code
2014-01-31 / #28 Non-psychic debugging: If somebody’s complaining that a collection should be empty but isn’t, you might want to see what’s in there (11 comments) / code
2014-01-31 / #29 Why chicken wings dominate Super Bowl snack time (13 comments) / non-computer
2014-02-03 / #30 How can I make a WNDPROC or DLGPROC a member of my C++ class? (22 comments) / code
2014-02-03 / #31 The new research citation format, if students got to design it (8 comments) / non-computer
2014-02-04 / #32 Racing email against a snail (13 comments) / other
2014-02-05 / #33 How do I prevent folders like My Pictures from being recreated? (24 comments) / tipssupport
2014-02-06 / #34 If an asynchronous I/O completes synchronously, is the hEvent in the OVERLAPPED structure signaled anyway? (12 comments) / code
2014-02-06 / #35 The United States Team uniforms for the opening ceremony is rather hideous, and illegal, and a bit anachronistic (26 comments) / non-computer
2014-02-07 / #36 VirtualLock locks your memory into the working set, even if your threads are blocked (12 comments) / code
2014-02-10 / #37 Execute a file as if it were a program, even though its extension is not EXE (32 comments) / code
2014-02-10 / #38 Excuses I learned from babies (10 comments) / non-computer
2014-02-11 / #39 Microspeak: Party, in various forms (13 comments) / microspeak;other
2014-02-12 / #40 What is this extra thread in my process? (29 comments) / code
2014-02-12 / #41 The heavy metal umlaut encroaches into Seattle real estate (29 comments) / non-computer
2014-02-13 / #42 When something gets added to a queue, it takes time for it to come out the front of the queue (9 comments) / code
2014-02-14 / #43 Debugging: Diagnosing why malloc is failing (14 comments) / code
2014-02-14 / #44 When someone proposes marriage, bear in mind that there is a question that needs to be answered (31 comments) / non-computer
2014-02-17 / #45 Writing automation to wait for a window to be created (and dismiss it) (18 comments) / code
2014-02-17 / #46 The Grand Duke’s monocle is an affectation (10 comments) / non-computer
2014-02-18 / #47 If you cancel an operation while it’s in progress, then it’s not surprising that it’s only half-done (65 comments) / tipssupport
2014-02-19 / #48 When will the static control automatically delete the image loaded into it, and when is it the responsibility of the application? (25 comments) / code
2014-02-20 / #49 What is the programmatic equivalent to unchecking the box to prevent a file from having its contents indexed? (25 comments) / code
2014-02-21 / #50 How can I make sure my program is launched only from my helper program and no other parent? (40 comments) / code
2014-02-24 / #51 Logging the contents of every message box dialog via automation (9 comments) / code
2014-02-24 / #52 Nieces sometimes extrapolate from insufficient contextual data (10 comments) / non-computer
2014-02-25 / #53 A simple email introduction: Fan mail (6 comments) / non-computer
2014-02-26 / #54 Why are leading digits converted to language-specific digit shapes, but not trailing digits, and how do I suppress the conversion entirely? (18 comments) / code
2014-02-27 / #55 What does the SEE_MASK_UNICODE flag in ShellExecuteEx actually do? (15 comments) / code
2014-02-28 / #56 How can I detect that my program was run from Task Scheduler, or my custom shortcut, or a service, or whatever (53 comments) / code
2014-03-03 / #57 Adventures in automation: Dismissing all message boxes from a particular application but only if they say that the operation succeeded (13 comments) / code
2014-03-03 / #58 What two-year-olds think about when they are placed in time-out (10 comments) / non-computer
2014-03-04 / #59 What order does the DIR command arrange files if no sort order is specified? (28 comments) / tipssupport
2014-03-05 / #60 Why do I have to add 1 to the color index when I set it as the hbrBackground of a window class? (23 comments) / code
2014-03-06 / #61 We’re currently using FILE_FLAG_NO_BUFFERING and FILE_FLAG_WRITE_THROUGH, but we would like our WriteFile to go even faster (29 comments) / code
2014-03-07 / #62 Converting from a UTC-based SYSTEMTIME directly to a local-time-based SYSTEMTIME (18 comments) / code;time
2014-03-10 / #63 Programmatically uploading a file to an FTP site (24 comments) / code
2014-03-10 / #64 Why Johnny can’t read music (9 comments) / non-computer
2014-03-11 / #65 How do I disable zone markers for downloaded files, so that Explorer stops being a nag about running downloaded files and just trusts me to do the right thing? (43 comments) / tipssupport
2014-03-11 / #66 On live performances of Star Trek (1 comment) / non-computer
2014-03-12 / #67 Operations jargon: Internet egress (11 comments) / other
2014-03-13 / #68 Why does the Directory.GetFiles method sometimes ignore *.html files when I ask for *.htm? (68 comments) / code
2014-03-14 / #69 How do I create an IShellItemArray from a bunch of file paths? (7 comments) / code
2014-03-17 / #70 How do I show the contents of a directory while respecting the user’s preferences for hidden and super-hidden files as well as the user’s language preferences? (16 comments) / code
2014-03-18 / #71 Why do I have to hit an arrow key before a keyboard-initiated Move operation will follow the mouse? (44 comments) / other
2014-03-18 / #72 Raymond’s highly scientific predictions for the 2014 NCAA men’s basketball tournament (7 comments) / highly-scientific;non-computer
2014-03-19 / #73 I think this person’s monitor is broken: It doesn’t know how to render text in capital letters (24 comments) / other
2014-03-20 / #74 Going for the facts: Who is displaying this message box? (19 comments) / code
2014-03-20 / #75 When visitors to the United States underestimate the size of the country (84 comments) / non-computer
2014-03-21 / #76 Why can’t I __declspec(dllexport) a function from a static library? (21 comments) / code
2014-03-21 / #77 Different senses of scale create different travel expectations (48 comments) / non-computer
2014-03-24 / #78 Enumerating set partitions with Bell numbers and Stirling numbers of the second kind (15 comments) / code
2014-03-25 / #79 Geeky t-shirt alert: Windows 7’s so-called God Mode (11 comments) / other
2014-03-26 / #80 Can CoCreateGuid ever return GUID_NULL? (26 comments) / code
2014-03-27 / #81 Functions that return GDI regions rarely actually return regions (11 comments) / code
2014-03-28 / #82 The dangers of buffering up posted messages and then reposting them later (18 comments) / code
2014-03-31 / #83 A puzzle involving dynamic programming, or maybe it doesn’t (25 comments) / code
2014-04-01 / #84 Buggy milk cartons, beeping computers, and other silliness (13 comments) / other
2014-04-02 / #85 It rather involved being on the other side of this airtight hatchway: Invalid parameters from one security level crashing code at the same security level (again) (37 comments) / other
2014-04-03 / #86 Why does the access violation error message put the operation in quotation marks? Is is some sort of euphemism? (24 comments) / other
2014-04-04 / #87 It’s bad enough for a guest to demolish the host’s house; demolishing an unrelated person’s house is taking it to a whole new level (35 comments) / code
2014-04-07 / #88 Using WM_SETREDRAW to speed up adding a lot of elements to a control (14 comments) / code
2014-04-08 / #89 Why is Rundll32 called Rundll32 and not just Rundll? (35 comments) / history
2014-04-09 / #90 What happens to my COM server-side object when clients die unexpectedly? (11 comments) / code
2014-04-10 / #91 Why does PrintWindow hate CS_PARENTDC? redux (9 comments) / code
2014-04-11 / #92 Windows is not a Microsoft Visual C/C++ Run-Time delivery channel (113 comments) / code
2014-04-14 / #93 Enumerating subsets with binomial coefficients (1 comment) / code
2014-04-14 / #94 The geeky thrill of discovering that two things are really the same thing, just with different labels (15 comments) / other
2014-04-15 / #95 Microspeak: bar check (15 comments) / microspeak;other
2014-04-15 / #96 The gradual erosion of the car trip experience, part 2 (27 comments) / non-computer
2014-04-16 / #97 There is no complete list of all notifications balloon tips in Windows (33 comments) / tipssupport
2014-04-17 / #98 How can I get the Windows 8 touch keyboard to display autocomplete suggestions like the Bing app? (25 comments) / code
2014-04-18 / #99 How do I set a breakpoint on a function whose name contains spaces or other special characters? (3 comments) / other
2014-04-18 / #100 Raymond’s house rules for Easter Egg Hunts (19 comments) / non-computer
2014-04-21 / #101 How can I get information about the items in the Recycle Bin from script? (7 comments) / code
2014-04-22 / #102 Le Chatelier’s Principle in action: Administrative overrides (43 comments) / other
2014-04-23 / #103 How do I programmatically create folders like My Pictures if they were manually deleted? (10 comments) / code
2014-04-24 / #104 I thought you could use SWP_FRAMECHANGED to force a control to recalculate its properties after a change in styles (7 comments) / code
2014-04-25 / #105 A discovered quirk is just few steps away from becoming a feature (24 comments) / other
2014-04-28 / #106 Showing a balloon tip at a specific position, then removing it (5 comments) / code
2014-04-29 / #107 Why does the common file save dialog create a temporary file and then delete it? (29 comments) / history
2014-04-30 / #108 The StartRunNoHOMEPATH policy affects whether the user’s HOME path is the current directory when you use Start.Run, but make sure you read that carefully (15 comments) / tipssupport
2014-05-01 / #109 How do I extract an icon at a nonstandard size if IExtractIcon::Extract tells me to go jump in a lake? (13 comments) / code
2014-05-02 / #110 If a lot of settings are ignored when set in a DLL, why bother even letting you set them on a DLL? (34 comments) / other
2014-05-05 / #111 Getting the location of the Close button in the title bar (19 comments) / code
2014-05-05 / #112 Warehouse holding 1000 cans of surströmming burns to the ground, insert punch line here (12 comments) / class=
2014-05-06 / #113 Letting the boss think your project is classier than it really is (16 comments) / history
2014-05-07 / #114 Why does saving a file in Notepad fire multiple FindFirstChangeNotification events? (9 comments) / code
2014-05-08 / #115 How can you use both versions 5 and 6 of the common controls within the same module? (9 comments) / code
2014-05-09 / #116 When was the WM_COPYDATA message introduced, and was it ported downlevel? (9 comments) / history
2014-05-09 / #117 Even if you’re the President, your mother still has the power to embarrass you (8 comments) / non-computer
2014-05-12 / #118 Enumerating bit sequences with isolated zero-bits via the Fibonacci recurrence (22 comments) / code
2014-05-13 / #119 How do I change among the three levels of play in Space Cadet Pinball? (19 comments) / tipssupport
2014-05-14 / #120 The mystery of the icon that never appears (22 comments) / code
2014-05-15 / #121 Is WriteProcessMemory atomic? (33 comments) / code
2014-05-16 / #122 An extensible interlocked arithmetic function (via lambdas) (21 comments) / code
2014-05-19 / #123 Creating a simple shell item, just as fake as a simple pidl (3 comments) / code
2014-05-20 / #124 The code names for various subprojects within Windows 95 (25 comments) / history
2014-05-21 / #125 Dialog boxes return focus to the control that had focus when you last switched away; how do I get in on that action for my own windows? (16 comments) / code
2014-05-22 / #126 Why does my radio button group selection get reset each time my window regains activation? (10 comments) / code
2014-05-22 / #127 Eventually, we may find out where notes eight through twelve came from (16 comments) / non-computer
2014-05-23 / #128 Why is the debugger telling me I crashed because my DLL was unloaded, when I see it loaded right here happily executing code? (8 comments) / code
2014-05-26 / #129 Find the index of the smallest element in a JavaScript array (49 comments) / code
2014-05-27 / #130 Only senior executives can send email to the All Employees distribution list, but mistakes still happen (26 comments) / other
2014-05-28 / #131 Cargo-cult registry settings and the people who swear by them (14 comments) / other
2014-05-28 / #132 How to take down the entire Internet with this one weird trick, according to Crisis (28 comments) / non-computer
2014-05-29 / #133 It rather involved being on the other side of this airtight hatchway: Denial of service by high CPU usage (40 comments) / other
2014-05-29 / #134 Get your hex wrench ready, because here comes the Ikea bicycle (14 comments) / non-computer
2014-05-30 / #135 Why does GetFileVersionInfo map the whole image into memory instead of just parsing out the pieces it needs? (46 comments) / code
2014-06-02 / #136 Obtaining information about the user’s wallpaper on multiple monitors (11 comments) / code
2014-06-03 / #137 As long as your file names meet operating system requirements, you can use whatever you like; the rest is up to you (64 comments) / other
2014-06-04 / #138 Why did it take so long for Windows to support a taskbar on more than one monitor? (83 comments) / other
2014-06-05 / #139 Closing over the loop variable is just as harmful in JavaScript as it is in C#, and more cumbersome to fix (38 comments) / code
2014-06-06 / #140 Link-time code generation invalidates a lot of classical assumptions about linking (31 comments) / code
2014-06-09 / #141 Improving the performance of CF_HDROP by providing file attribute information (3 comments) / code
2014-06-10 / #142 Microspeak: Brownbag (22 comments) / microspeak;non-computer
2014-06-11 / #143 Why do network servers sometimes show up as a Recycle Bin Location? (6 comments) / tipssupport
2014-06-12 / #144 Can we continue to call FindNextFile() with the same handle that returned an error last time? (25 comments) / code
2014-06-13 / #145 Non-classical processor behavior: How doing something can be faster than not doing it (53 comments) / code
2014-06-16 / #146 Enumerating bit strings with a specific number of bits set (binomial coefficients strike again) (9 comments) / code
2014-06-17 / #147 Who would ever write a multi-threaded GUI program? (37 comments) / history
2014-06-18 / #148 10 is the new 6 (35 comments) / history
2014-06-19 / #149 What happened to the Shut Down menu in classic Task Manager? (61 comments) / history
2014-06-20 / #150 Once you go input-idle, your application is deemed ready to receive DDE messages (11 comments) / code
2014-06-23 / #151 Adding a sound to the Alt+Tab window (17 comments) / code
2014-06-24 / #152 Finding the «Run as administrator» command, a game of hide-and-seek (46 comments) / tipssupport
2014-06-24 / #153 The social interactions in two preschool classes, in graphic form (34 comments) / non-computer
2014-06-25 / #154 Getting past the question to solving the problem, episode 2014.06.25 (28 comments) / tipssupport
2014-06-26 / #155 For Honor, For Excellence, For Pizza (18 comments) / history
2014-06-27 / #156 Undefined behavior can result in time travel (among other things, but time travel is the funkiest) (73 comments) / code
2014-06-30 / #157 Getting the location of the Close button in the title bar, from Windows 2000 or Windows XP (11 comments) / code
2014-06-30 / #158 2014 mid-year link clearance (18 comments) / other
2014-07-01 / #159 What is the default size of the Recycle Bin, and how can an administrator control the size of the Recycle Bin? (13 comments) / tipssupport
2014-07-02 / #160 Redirecting the Favorites folder is technically legal, but you wouldn’t like it (47 comments) / tipssupport
2014-07-03 / #161 It rather involved being on the other side of this airtight hatchway: Surreptitious file access by administrator (43 comments) / other
2014-07-04 / #162 Communication between moving vehicles during the narrow window of the late 1990s (39 comments) / other
2014-07-07 / #163 Customing the standard color-picker dialog (11 comments) / code
2014-07-08 / #164 How do I turn off email reminders for my Windows Live calendar, and disable the birthday calendar while I’m at it? (12 comments) / tipssupport
2014-07-09 / #165 Why are only some of the Windows 7 system notification icons colorless? (51 comments) / other
2014-07-10 / #166 Using the REFIID/void** pattern for returning COM objects for future-proofing and to avoid problems with dependencies (36 comments) / code
2014-07-11 / #167 If I duplicate a handle, can I keep using the duplicate after closing the original? (10 comments) / code
2014-07-14 / #168 Enumerating integer compositions (the return of the binomial coefficients) (12 comments) / code
2014-07-15 / #169 Why does Outlook map Ctrl+F to Forward instead of Find, like all right-thinking programs? (97 comments) / history
2014-07-16 / #170 How do I configure Windows Update programmatically? (20 comments) / code
2014-07-17 / #171 What does it mean when GetQueuedCompletionStatus return ERROR_SEM_TIMEOUT? (9 comments) / code
2014-07-17 / #172 Outdoor Trek: Mirror, Mirror starts this weekend (1 comment) / non-computer
2014-07-18 / #173 The time one of my colleagues debugged a line-of-business application for a package delivery service (41 comments) / history
2014-07-21 / #174 How can I get the URL to the Web page the clipboard was copied from? (18 comments) / code
2014-07-21 / #175 The alternate story of the time one of my colleagues debugged a line-of-business application for a package delivery service (77 comments) / history
2014-07-22 / #176 Microspeak: Tell Mode / Ask Mode (12 comments) / microspeak;other
2014-07-23 / #177 When will GetSystemWindowsDirectory return something different from GetWindowsDirectory? (30 comments) / code
2014-07-24 / #178 When I send a WM_GETFONT message to a window, why don’t I get a font? (12 comments) / code
2014-07-25 / #179 How do I obtain the computer manufacturer’s name from C++? (14 comments) / code
2014-07-28 / #180 Finding the shortest path to the ground while avoiding obstacles (9 comments) / code
2014-07-29 / #181 Did the Windows 95 interface have a code name? (17 comments) / history
2014-07-30 / #182 If you want to be notified when your app is uninstalled, you can do that from your uninstaller (28 comments) / code
2014-07-31 / #183 What is the strange garbage-looking string in the «command» value of a static verb? (14 comments) / code
2014-08-01 / #184 Before claiming that a function doesn’t work, you should check what you’re passing to it and what it returns (53 comments) / code
2014-08-04 / #185 Enumerating the ways of choosing teams in a group of players (16 comments) / code
2014-08-05 / #186 Microspeak: 1 – 1 is not zero (28 comments) / microspeak;other
2014-08-06 / #187 Why does Explorer say «File too large» for my custom file system, when the problem has nothing to do with the file being too large (heck it’s not even a file) (34 comments) / code
2014-08-07 / #188 Since clean-up functions can’t fail, you have to soldier on (20 comments) / code
2014-08-07 / #189 The latest technologies in plaintext editing: NotepadConf (13 comments) / other
2014-08-08 / #190 The case of the orphaned LpdrLoaderLock critical section (11 comments) / code
2014-08-11 / #191 If you want to set a thread’s apartment model via Thread.CurrentThread.ApartmentState, you need to act quickly (18 comments) / code
2014-08-11 / #192 Revival of the Daleks: Act One, Scene One (2 comments) / non-computer
2014-08-12 / #193 Keep your eye on the code page: C# edition (warning about DllImport) (19 comments) / code
2014-08-13 / #194 Keep your eye on the code page: C# edition (the mysterious third code page) (12 comments) / code
2014-08-14 / #195 Customers not getting the widgets they paid for if they click too fast -or- In C#, the += operator is not merely not guaranteed to be atomic, it is guaranteed not to be atomic (40 comments) / code
2014-08-15 / #196 The scope of the C# checked/unchecked keyword is static, not dynamic (21 comments) / code
2014-08-18 / #197 Deleting elements from an JavaScript array and closing up the gaps (14 comments) / code
2014-08-18 / #198 News flash: Big houses cost more to maintain (21 comments) / news-flash;non-computer
2014-08-19 / #199 My friend and his buddy invented the online shopping cart back in 1994 (25 comments) / history
2014-08-20 / #200 If you’re looking for the code that displays a particular dialog box, the most directly way to find it is to look for the dialog box (18 comments) / other
2014-08-21 / #201 Some reasons not to do anything scary in your DllMain, part 3 (26 comments) / code
2014-08-22 / #202 Why does the OpenThread function behave differently when the target thread belongs to another process? (2 comments) / code
2014-08-22 / #203 Dispelling the myths, rumors, and innuendo surrounding the QueryPerformanceCounter function (28 comments) / code
2014-08-25 / #204 How do I read the «Double-click to open an item (single-click to select)» setting in Folder Options? (21 comments) / code
2014-08-26 / #205 It’s time we face reality, my friends: We’re not rocket scientists (13 comments) / history
2014-08-27 / #206 Where does the Installed Updates control panel get the install date from? (12 comments) / tipssupport
2014-08-28 / #207 Taking advantage of the fact that the handle returned when you create a kernel synchronization object has full access regardless of the actual ACL (6 comments) / code
2014-08-29 / #208 How can I detect that a user’s SID has changed and recover their old data? (9 comments) / code
2014-09-01 / #209 It’s a trap! Employment documents that require you to violate company policy (20 comments) / other
2014-09-02 / #210 Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1? (42 comments) / history
2014-09-03 / #211 Why does the timestamp of a file increase by up to 2 seconds when I copy it to a USB thumb drive? (24 comments) / tipssupport
2014-09-04 / #212 Aha, I have found a flaw in the logic to detect whether my program is running on 64-bit Windows (60 comments) / code
2014-09-05 / #213 You can use a file as a synchronization object, too (35 comments) / code
2014-09-08 / #214 Piping to notepad (26 comments) / code
2014-09-08 / #215 The wisdom of seventh graders: The emergency survival kit (15 comments) / non-computer;the-wisdom-of-seventh-graders
2014-09-09 / #216 Steve Ballmer did not write the text for the blue screen of death (61 comments) / history
2014-09-10 / #217 I wrote the original blue screen of death, sort of (45 comments) / history
2014-09-11 / #218 The history of Win32 critical sections so far (19 comments) / history
2014-09-11 / #219 A lie repeated often enough becomes the truth: The continuing saga of the Windows 3.1 blue screen of death (which, by the way, was never called that) (36 comments) / other
2014-09-12 / #220 What did Windows 3.1 do when you hit Ctrl+Alt+Del? (29 comments) / history
2014-09-15 / #221 Enumerating all the ways of making change (29 comments) / code
2014-09-16 / #222 Microspeak: spend (15 comments) / non-computer
2014-09-17 / #223 Poor man’s comments: Inserting text that has no effect into a configuration file (34 comments) / other
2014-09-17 / #224 The citizenship test is pass/fail; there’s no blue ribbon for acing it (35 comments) / non-computer
2014-09-18 / #225 The stream pointer position in IDataObject::GetData and IDataObject::GetDataHere is significant (5 comments) / code
2014-09-19 / #226 I marked my parameter as [optional], so why do I get an RPC error when I pass NULL? (14 comments) / code
2014-09-22 / #227 Receiving a notification any time the selection changes in an Explorer window (1 comment) / code
2014-09-23 / #228 The grand ambition of giving your project the code name Highlander (24 comments) / other
2014-09-24 / #229 What is the story of the mysterious DS_RECURSE dialog style? (12 comments) / history
2014-09-25 / #230 If a process crashes while holding a mutex, why is its ownership magically transferred to another process? (29 comments) / code
2014-09-26 / #231 Marshaling won’t get in your way if it isn’t needed (10 comments) / code
2014-09-29 / #232 Simulating media controller buttons like Play and Pause (18 comments) / code
2014-09-30 / #233 Why does misdetected Unicode text tend to show up as Chinese characters? (34 comments) / other
2014-10-01 / #234 You can name your car, and you can name your kernel objects, but there is a qualitative difference between the two (30 comments) / code
2014-10-02 / #235 In the red corner, EXCEPTION_INT_DIVIDE_BY_ZERO and STATUS_INTEGER_DIVIDE_BY_ZERO; and in the blue corner, EXCEPTION_INT_OVERFLOW and STATUS_INTEGER_OVERFLOW (21 comments) / code
2014-10-03 / #236 Why is 0x00400000 the default base address for an executable? (31 comments) / history
2014-10-06 / #237 Enumerating cyclical decompositions with Stirling numbers (11 comments) / code
2014-10-07 / #238 Microspeak: All-up (15 comments) / microspeak;non-computer
2014-10-08 / #239 Standard handles are really meant for single-threaded programs (19 comments) / code
2014-10-09 / #240 Why is there a 64KB no-man’s land near the end of the user-mode address space? (29 comments) / history
2014-10-10 / #241 Some parts of an interface can change but others can’t (25 comments) / code
2014-10-13 / #242 Enumerating notification icons via UI Automation (19 comments) / code
2014-10-14 / #243 Is there a way to disable a specific balloon notification without disabling all of them? (11 comments) / tipssupport
2014-10-15 / #244 The GetCurrentThread function is like a check payable to Bearer: What it means depends on who’s holding it (40 comments) / code
2014-10-16 / #245 If only DLLs can get DllMain notifications, how can an EXE receive a notification when a thread is created (for example)? (18 comments) / code
2014-10-17 / #246 When are global objects constructed and destructed by Visual C++? (23 comments) / code
2014-10-20 / #247 Scripting an Internet Explorer window (12 comments) / code
2014-10-21 / #248 The great thing about regular expression languages is that there are so many to choose from! (30 comments) / code
2014-10-22 / #249 How do I disable Windows 8 touch contact visualizations for my application? (13 comments) / code
2014-10-23 / #250 How can I detect programmatically whether the /3GB switch is enabled? (42 comments) / code
2014-10-24 / #251 Debugging a hang: Chasing the wait chain inside a process (32 comments) / code
2014-10-27 / #252 Enumerating the ways of distributing n balls into k boxes (16 comments) / code
2014-10-28 / #253 A question about preventing the system from going to the idle state turns out to be misguided (28 comments) / code
2014-10-29 / #254 The contents of the Start page are not programmatically accessible (60 comments) / code
2014-10-30 / #255 Why is the FAT driver called FASTFAT? Why would anybody ever write SLOWFAT? (33 comments) / history
2014-10-31 / #256 The case of the file that won’t copy because of an Invalid Handle error message (40 comments) / code
2014-11-03 / #257 Applying a filter to the contents of an Explorer Browser (42 comments) / code
2014-11-04 / #258 Microspeak: Line of sight (15 comments) / microspeak;other
2014-11-05 / #259 Passing the incorrect object type for a handle, how bad is it? (24 comments) / code
2014-11-06 / #260 How do I get a handle to the primary monitor? (21 comments) / code
2014-11-06 / #261 Raymond, why did you stop studying Chinese? It has no grammar! (68 comments) / non-computer
2014-11-07 / #262 Why does an attempt to create a SysLink control in my plug-in sometimes fail? (1 comment) / code
2014-11-10 / #263 Kicking around a function that formats stuff (17 comments) / code
2014-11-11 / #264 A little cheat in my Tiger Beat photo homage (9 comments) / non-computer
2014-11-12 / #265 How can I wait until all startup applications have finished launching? (27 comments) / code
2014-11-13 / #266 When does GetTickCount consider the system to have started? (45 comments) / code
2014-11-14 / #267 How to view the stack of a user-mode thread when its kernel stack has been paged out (4 comments) / other
2014-11-17 / #268 How do I enumerate drives the same way that the NET USE command does? (14 comments) / code
2014-11-18 / #269 File version information does not appear in the property sheet for some files (26 comments) / tipssupport
2014-11-19 / #270 Distinguishing between normative and positive statements to help people answer your question (28 comments) / non-computer
2014-11-20 / #271 A library loaded via LOAD_LIBRARY_AS_DATAFILE (or similar flags) doesn’t get to play in any reindeer module games (23 comments) / code
2014-11-21 / #272 Is it wrong to call SHFileOperation from a service? Revised (28 comments) / code
2014-11-24 / #273 The crazy world of stripping diacritics (25 comments) / code
2014-11-25 / #274 What is the difference between Full Windows Touch Support and Limited Touch Support? (19 comments) / tipssupport
2014-11-26 / #275 If 16-bit Windows had a single input queue, how did you debug applications on it? (32 comments) / history
2014-11-27 / #276 Some light reading on lock-free programming (8 comments) / code
2014-11-28 / #277 A user’s SID can change, so make sure to check the SID history (23 comments) / code
2014-12-01 / #278 Counting array elements which are below a particular limit value using SSE (12 comments) / code
2014-12-02 / #279 Microspeak: Redlines (30 comments) / microspeak;other
2014-12-03 / #280 What happens if I don’t paint when I get a WM_PAINT message? (19 comments) / code
2014-12-04 / #281 If my WM_TIMER handler takes longer than the timer period, will my queue fill up with WM_TIMER messages? (15 comments) / code
2014-12-05 / #282 Killing a window timer prevents the WM_TIMER message from being generated for that timer, but it doesn’t retroactively remove ones that were already generated (7 comments) / code
2014-12-08 / #283 Creating double-precision integer multiplication with a quad-precision result from single-precision multiplication with a double-precision result (20 comments) / code
2014-12-09 / #284 The psychology of confirmation, or something, I don’t know what to call it (46 comments) / other
2014-12-10 / #285 If you get a procedure address by ordinal, you had better be absolutely sure it’s there, because the failure mode is usually indistinguishable from success (18 comments) / code
2014-12-11 / #286 What states are possible in a DRAWITEMSTRUCT structure? (24 comments) / code
2014-12-12 / #287 Detecting whether a SID is well-known SID (15 comments) / code
2014-12-15 / #288 Notes on calculating constants in SSE registers (12 comments) / code
2014-12-15 / #289 When corporate policies meet precision scientific equipment (14 comments) / non-computer
2014-12-16 / #290 If you set up roaming profiles, you are expected to set up each machine identically, for the most part (17 comments) / tipssupport
2014-12-17 / #291 It rather involved being on the other side of this airtight hatchway: Account vulnerable to Active Directory administrator (45 comments) / other
2014-12-17 / #292 It’s not too late (okay maybe it’s too late) to get this gift for the physicist who has everything (7 comments) / non-computer
2014-12-18 / #293 How can I query the location of the taskbar on secondary monitors? (22 comments) / code
2014-12-19 / #294 How did protected-mode 16-bit Windows fix up jumps to functions that got discarded? (16 comments) / history
2014-12-22 / #295 Setting, clearing, and testing a single bit in an SSE register (8 comments) / code
2014-12-23 / #296 The Softsel Hot List for the week of December 22, 1986 (21 comments) / history
2014-12-24 / #297 How can I let my child use an app that I bought from the Windows Store? (38 comments) / tipssupport
2014-12-25 / #298 My pants are fancy! (13 comments) / history
2014-12-26 / #299 Debugging walkthrough: Access violation on nonsense instruction (20 comments) / other
2014-12-29 / #300 Integer signum in SSE (4 comments) / code
2014-12-30 / #301 How did that program manage to pin itself to my taskbar when I installed it? (27 comments) / tipssupport
2014-12-31 / #302 Even the publishing department had its own Year 2000 preparedness plan (7 comments) / other
2014-12-31 / #303 2014 year-end link clearance (14 comments) / other

2015


Date Title
2015-01-01 / #0 Horrifically nasty gotcha: FindResource and FindResourceEx (15 comments) / code
2015-01-02 / #1 How do you prevent the linker from discarding a function you want to make available for debugging? (22 comments) / code
2015-01-05 / #2 More notes on calculating constants in SSE registers (10 comments) / code
2015-01-06 / #3 No good deed goes unpunished: Marking a document as obsolete (43 comments) / other
2015-01-07 / #4 Why is there a BSTR cache anyway? (25 comments) / history
2015-01-08 / #5 What happens if I don’t pass a pCreateExParams to CreateFile2? (10 comments) / code
2015-01-09 / #6 Finding the leaked object reference by scanning memory: Example (16 comments) / other
2015-01-12 / #7 Limiting the bottom byte of an XMM register and clearing the other bytes (9 comments) / code
2015-01-13 / #8 Microspeak: landing (redux) (9 comments) / microspeak;non-computer
2015-01-14 / #9 Where can I find the standard asynchronous stream? (8 comments) / code
2015-01-15 / #10 Why does CreateFile take a long time on a volume handle? (32 comments) / code
2015-01-16 / #11 Why does a single integer assignment statement consume all of my CPU? (21 comments) / code
2015-01-19 / #12 Why does Outlook use a semicolon to separate multiple recipients by default? (35 comments) / tipssupport
2015-01-20 / #13 Why does the copy dialog give me the incorrect total size of the files being copied? (31 comments) / tipssupport
2015-01-21 / #14 Why does my synchronous overlapped ReadFile return FALSE when the end of the file is reached? (16 comments) / code
2015-01-22 / #15 The wonderful world of shell bind context strings (6 comments) / code
2015-01-23 / #16 Helper functions to make shell bind contexts slightly more manageable (11 comments) / code
2015-01-26 / #17 Customizing item enumeration with IShellItem (5 comments) / code
2015-01-27 / #18 Tip for trying to boost morale: Don’t brag about your overseas trips (26 comments) / other
2015-01-28 / #19 The compiler can make up its own calling conventions, within limits (21 comments) / code
2015-01-29 / #20 Color-aware ClearType requires access to fixed background pixels, which is a problem if you don’t know what the background pixels are, or if they aren’t fixed (47 comments) / code
2015-01-30 / #21 Creating a shared memory block that can grow in size (13 comments) / code
2015-01-30 / #22 Got errands? Now is the time (24 comments) / non-computer
2015-02-02 / #23 Customizing item enumeration with IShellItem, the old-fashioned way (3 comments) / code
2015-02-03 / #24 Another way to make sure nobody sends you feedback (28 comments) / non-computer
2015-02-04 / #25 If you wonder why a function can’t be found, one thing to check is whether the function exists in the first place (10 comments) / other
2015-02-05 / #26 The SuspendThread function suspends a thread, but it does so asynchronously (22 comments) / code
2015-02-06 / #27 Use GFlags to catch the silent killer (silent but deadly) (22 comments) / code
2015-02-09 / #28 Using thread pool cleanup groups to clean up many things at once (10 comments) / code
2015-02-10 / #29 Staying cool is one of the skills of a corporate president (12 comments) / non-computer
2015-02-11 / #30 Why was the replacement installer for recognized 16-bit installers itself a 32-bit program instead of a 64-bit program? (34 comments) / other
2015-02-12 / #31 Who is this rogue operative that filled my object with 0xDD, then sent me a message? (21 comments) / code
2015-02-13 / #32 What is this inconsistent heap state that MSDN warns me about during DLL_PROCESS_DETACH? (23 comments) / code
2015-02-16 / #33 Reading the word under the cursor via UI Automation (12 comments) / code
2015-02-16 / #34 The 2015/2016 Seattle Symphony subscription season at a glance (6 comments) / non-computer
2015-02-17 / #35 Microspeak: Light up (16 comments) / microspeak;other
2015-02-18 / #36 When asking about the capacity of a program, you also need to consider what happens when you decide to stop using the program (27 comments) / other
2015-02-19 / #37 What’s the point of using a custom timer queue if there is a default one already? (4 comments) / code
2015-02-20 / #38 Non-capturing C++ lambdas can be converted to a pointer to function, but what about the calling convention? (24 comments) / code
2015-02-23 / #39 Further adventures in trying to guess what encoding a file is in (8 comments) / code
2015-02-24 / #40 Nice job, you got an A minus from Bill (15 comments) / non-computer
2015-02-25 / #41 Why does the mouse cursor jump a few pixels if you click on the very bottom row of pixels on the taskbar? (31 comments) / other
2015-02-26 / #42 RegNotifyChangeKeyValue sucks less (11 comments) / code
2015-02-27 / #43 Solving the problem rather than answering the question: How can a non-administrator modify a registry key that requires administrator permission? (32 comments) / code
2015-03-02 / #44 Connecting some blocks: Tell me more about the current image in my wallpaper slide show (11 comments) / code
2015-03-03 / #45 Setting up a new computer often results in leftover slot covers, so what do you do with the slot covers? (30 comments) / history
2015-03-04 / #46 Why are the dimensions of a maximized window larger than the monitor? (23 comments) / code
2015-03-05 / #47 Modifying the CS_NOCLOSE style does affect all windows of the class, just not necessarily in an immediately noticeable way (21 comments) / code
2015-03-06 / #48 A question about the FileTimeToLocalFileTime function turned out to be something else (16 comments) / code;time
2015-03-09 / #49 How can I programmatically resize a listview column to fit its contents? (13 comments) / code
2015-03-10 / #50 The more times you use the word «simply» in your instructions, the more I suspect you don’t know what that word means (49 comments) / other
2015-03-11 / #51 Dubious security vulnerability: Copying a program and running the copy (30 comments) / other
2015-03-12 / #52 Under what conditions will the IUnknown::AddRef method return 0? (14 comments) / code
2015-03-13 / #53 Debugging walkthrough: Access violation on nonsense instruction, episode 2 (17 comments) / other
2015-03-16 / #54 Does the CLR really call CoInitializeEx on the first call to unmanaged code, even if you don’t deal with COM at all and are just calling native code via p/invoke? (13 comments) / code
2015-03-17 / #55 Microspeak: Headcount, req, and related personnel terms (16 comments) / other
2015-03-18 / #56 Travel tip: Don’t forget your car on the ferry (26 comments) / non-computer
2015-03-19 / #57 Sure, we have RegisterWindowMessage and RegisterClipboardFormat, but where are DeregisterWindowMessage and DeregisterClipboardFormat? (23 comments) / other
2015-03-20 / #58 Finding the constructor by scanning memory for the vtable (5 comments) / other
2015-03-23 / #59 CancelIoEx can cancel I/O on console input, which is kind of nice (24 comments) / code
2015-03-24 / #60 A Venn diagram demonstrating the dining options in one of the new cafeterias (27 comments) / non-computer
2015-03-25 / #61 What’s the difference between PathIsSystemFolder and Protected Operating System Files? (17 comments) / code
2015-03-26 / #62 Switching on a tuple: Sneaky trick (31 comments) / code
2015-03-27 / #63 Flaw reported in Windows 95 (24 comments) / history
2015-03-30 / #64 How do I make a boldface item on a context menu? (8 comments) / code
2015-03-30 / #65 I want you to chase your sisters until they throw up (7 comments) / non-computer
2015-03-31 / #66 What was the relationship between Outlook and Outlook Express? (23 comments) / history
2015-04-01 / #67 Under what circumstances will a dialog box not use the caption specified in the resource file? (6 comments) / code
2015-04-02 / #68 It appears that some programmers think that Windows already ships with that time machine the Research division is working on (41 comments) / code
2015-04-03 / #69 Why is CreateToolhelp32Snapshot returning incorrect parent process IDs all of a sudden? (28 comments) / code
2015-04-06 / #70 Opening the classic folder browser dialog with a specific folder preselected (24 comments) / code
2015-04-07 / #71 The details of the major incident were not clearly articulated, but whatever it is, it’s already over (15 comments) / other
2015-04-08 / #72 Why is the System.DateCreated property off by a few seconds? (38 comments) / code
2015-04-09 / #73 If more than one object causes a WaitForMultipleObjects to return, how do I find out about the other ones? (23 comments) / code
2015-04-10 / #74 On the ways of creating a GUID that looks pretty (39 comments) / code
2015-04-13 / #75 After I encrypt memory with CryptProtectMemory, can I move it around? (23 comments) / code
2015-04-14 / #76 In the Seattle area, people treat you nicer once they learn your last name is Gates (11 comments) / non-computer
2015-04-15 / #77 When I set the «force X off» policy to Disabled, why doesn’t it force X on? (18 comments) / tipssupport
2015-04-16 / #78 Why did the original code for FIND.COM use lop as a label instead of loop? (4 comments) / history
2015-04-17 / #79 Why are there both TMP and TEMP environment variables, and which one is right? (49 comments) / history
2015-04-20 / #80 How to find the IP address of a hacker, according to CSI: Cyber (50 comments) / non-computer
2015-04-21 / #81 What was the starting point for the Panther Win32 kernel? (21 comments) / history
2015-04-22 / #82 It rather involved being on the other side of this airtight hatchway: Invalid parameters from one security level crashing code at the same security level (yet again) (23 comments) / other
2015-04-23 / #83 How did the scopes for the CryptProtectMemory function end up in a strange order? (4 comments) / history
2015-04-24 / #84 Why can’t I have variadic COM methods? (9 comments) / code
2015-04-27 / #85 How do I extract the path to Control Panel from this shortcut so I can launch it? (15 comments) / code
2015-04-27 / #86 Wow, they really crammed a lot into those 410 transistors (29 comments) / other
2015-04-28 / #87 Access to a file’s attributes is controlled by two things (20 comments) / code;tipssupport
2015-04-29 / #88 Is the atom returned by RegisterClass(Ex) a «real» atom? (19 comments) / code
2015-04-30 / #89 How can I tell if a file is an image of some type? (20 comments) / code
2015-05-01 / #90 How does the window manager adjust ptMaxSize and ptMaxPosition for multiple monitors? (2 comments) / code
2015-05-01 / #91 That’s not how you start a boat (9 comments) / non-computer
2015-05-04 / #92 Creating a window that can be resized in only one direction (13 comments) / code
2015-05-05 / #93 What does it mean when the Advanced Security Settings dialog says that an ACE was inherited from «Parent Object» without naming the specific parent? (8 comments) / tipssupport
2015-05-06 / #94 Why is there an invisible U+202A at the start of my file name? (19 comments) / tipssupport
2015-05-07 / #95 Hidden message in a T-shirt, it’s been done before (14 comments) / history
2015-05-08 / #96 Documentation creates contract, which is why you need to be very careful what you document (40 comments) / other
2015-05-11 / #97 Can I run a service executable from a network location? (10 comments) / tipssupport
2015-05-12 / #98 How does Task Manager compute Up Time, and why doesn’t it agree with GetTickCount? (25 comments) / tipssupport
2015-05-13 / #99 Why don’t you forward WM_GETMINMAXINFO and clamp the results? (4 comments) / code
2015-05-14 / #100 Low-level hooks have thread affinity, so make sure you keep an eye on the thread (4 comments) / code
2015-05-15 / #101 MapGenericMask is just a convenience function for converting generic access to specific access, according to the instructions you provide (5 comments) / code
2015-05-18 / #102 Determining programmatically whether a file was built with LAA, ASLR, DEP, or OS-assisted /GS (25 comments) / code
2015-05-19 / #103 It rather involved being on the other side of this airtight hatchway: Code injection via QueueUserAPC (11 comments) / code
2015-05-20 / #104 When you inadvertently become a collector of something you really aren’t all that into (25 comments) / non-computer
2015-05-21 / #105 If you can set enforcement for a rule, you can set up lack of enforcement (9 comments) / other
2015-05-22 / #106 So you decided to call SHFileOperation from a service, at least remember to disable copy hooks (11 comments) / code
2015-05-25 / #107 New C++ experimental feature: The tadpole operators (116 comments) / code
2015-05-26 / #108 The tadpole operators explained (25 comments) / code
2015-05-27 / #109 Dubious security vulnerability: Luring somebody into your lair (31 comments) / other
2015-05-28 / #110 When designing your user interface, be mindful of the selection-readers (47 comments) / other
2015-05-29 / #111 Under what conditions can SetFocus crash? Another debugging investigation (10 comments) / other
2015-06-01 / #112 How can I make the touch keyboard appear automatically when focus enters an edit control in my program? (13 comments) / code
2015-06-02 / #113 Why do events logged by the ReportEvent function show up in the wrong order in the Event Viewer? (18 comments) / tipssupport
2015-06-03 / #114 Adding a little marker to your comments in Microsoft Word (14 comments) / tipssupport
2015-06-04 / #115 What’s the point of giving my unnamed object proper security attributes since unnamed objects aren’t accessible outside the process anyway (or are they?) (10 comments) / code
2015-06-05 / #116 There is no /8TB flag on 64-bit Windows (36 comments) / code
2015-06-08 / #117 How can I reposition my controls so they aren’t covered by the touch keyboard? (8 comments) / code
2015-06-09 / #118 Bitter or acerbic? or does it make a difference? (21 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2015-06-10 / #119 Taking ownership of a file doesn’t give you access, yet (27 comments) / tipssupport
2015-06-11 / #120 Keep your eye on the code page: Is this string CP_ACP or UTF-8? (34 comments) / code
2015-06-12 / #121 How can I force a CreateFile call to hang, in order to test something? (13 comments) / code
2015-06-15 / #122 How can I reposition my window so it isn’t covered by the touch keyboard? (1 comment) / code
2015-06-16 / #123 One way to make sure nobody reports problems with your Web site (16 comments) / other
2015-06-17 / #124 When you think you found a problem with a function, make sure you’re actually calling the function (18 comments) / code
2015-06-18 / #125 How come the technique for launching an unelevated process from an elevated process doesn’t work? (40 comments) / code
2015-06-19 / #126 Why does the class name for Explorer change depending on whether you open it with /e? (21 comments) / history
2015-06-19 / #127 Random links on taking better pictures (28 comments) / non-computer
2015-06-22 / #128 Reinterpreting the bits of a 64-bit integer as if they were a double-precision floating point number (and vice versa) (22 comments) / code
2015-06-23 / #129 Sorry for the interruption, but it doesn’t happen often (22 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2015-06-24 / #130 A trick for finding the correct internal mailing list (12 comments) / tipssupport
2015-06-25 / #131 Where is the full version of the music that plays when you start Windows 98 for the first time? (23 comments) / history
2015-06-26 / #132 Windows 95 and Windows NT manage the TEB on x86 differently (22 comments) / other
2015-06-29 / #133 Parsing a string as a 64-bit integer, somehow (17 comments) / code
2015-06-30 / #134 Microspeak: Stretch goal (9 comments) / microspeak;non-computer
2015-06-30 / #135 2015 mid-year link clearance (11 comments) / other
2015-07-01 / #136 How secure are GUIDs? Can I use it to generate passwords? (29 comments) / code
2015-07-02 / #137 Is a SID with zero subauthorities a valid SID? It depends whom you ask (6 comments) / other
2015-07-03 / #138 Why does the BackupWrite function take a pointer to a modifiable buffer when it shouldn’t be modifying the buffer? (18 comments) / history
2015-07-06 / #139 Trying out all the different ways of recognizing different types of timestamps from quite a long way away (13 comments) / code
2015-07-07 / #140 Intentionally making the suggestion look nothing like any scripting language, yet understandable enough to get the point across (10 comments) / other
2015-07-08 / #141 What would be the point of creating a product that can’t do its job? (57 comments) / other
2015-07-09 / #142 Why is my x64 process getting heap address above 4GB on Windows 8? (43 comments) / code
2015-07-10 / #143 On the various ways of creating large files in NTFS (12 comments) / code;tipssupport
2015-07-13 / #144 Generating different types of timestamps from quite a long way away (7 comments) / code
2015-07-14 / #145 Hazy memories of the Windows 95 ship party (19 comments) / history
2015-07-15 / #146 Why doesn’t the Print command appear when I select 20 files and right-click? (20 comments) / tipssupport
2015-07-16 / #147 Why do I get ERROR_INVALID_HANDLE from GetModuleFileNameEx when I know the process handle is valid? (18 comments) / code
2015-07-17 / #148 What did the Ignore button do in Windows 3.1 when an application encountered a general protection fault? (37 comments) / history
2015-07-20 / #149 How can I detect whether a keyboard is attached to the computer? (24 comments) / code
2015-07-21 / #150 Please enjoy the new eco-friendly printers, now arguably less eco-friendly (27 comments) / non-computer
2015-07-22 / #151 When you think you found a problem with a function, make sure you’re actually calling the function, episode 2 (16 comments) / code
2015-07-23 / #152 Corrupted file causes application to crash; is that a security vulnerability? (39 comments) / other
2015-07-24 / #153 The curse of the redefinition of the symbol HLOG (6 comments) / code
2015-07-27 / #154 The Itanium processor, part 1: Warming up (62 comments) / other
2015-07-28 / #155 The Itanium processor, part 2: Instruction encoding, templates, and stops (27 comments) / other
2015-07-29 / #156 The Itanium processor, part 3: The Windows calling convention, how parameters are passed (20 comments) / other
2015-07-30 / #157 The Itanium processor, part 4: The Windows calling convention, leaf functions (10 comments) / other
2015-07-30 / #158 The Itanium processor, part 3b: How does spilling actually work? (7 comments) / other
2015-07-31 / #159 The Itanium processor, part 5: The GP register, calling functions, and function pointers (22 comments) / other
2015-08-03 / #160 The Itanium processor, part 6: Calculating conditionals (8 comments) / other
2015-08-04 / #161 The Itanium processor, part 7: Speculative loads (15 comments) / other
2015-08-05 / #162 The Itanium processor, part 8: Advanced loads (14 comments) / other
2015-08-06 / #163 The Itanium processor, part 9: Counted loops and loop pipelining (8 comments) / other
2015-08-07 / #164 The Itanium processor, part 10: Register rotation (18 comments) / other
2015-08-10 / #165 What if I have two programs that are logically a single application, and I want them to be treated as a single group on the taskbar? (29 comments) / code
2015-08-11 / #166 The changing fortunes of being the last program on the Start menu (4 comments) / history
2015-08-11 / #167 The ARM processor architecture: Somebody else’s introduction (15 comments) / other
2015-08-12 / #168 Why does the taskbar icon for grouped windows change to something weird? (21 comments) / other
2015-08-13 / #169 Crashes in the I/O stack tend to occur in programs which do the most I/O (29 comments) / other
2015-08-14 / #170 Windows started picking up the really big pieces of TerminateThread garbage on the sidewalk, but it’s still garbage on the sidewalk (45 comments) / history
2015-08-17 / #171 p/invoke gotcha: C++ bool is not Win32 BOOLEAN is not UnmanagedType.Bool (25 comments) / code
2015-08-18 / #172 If you are going to call Marshal.GetLastWin32Error, the function whose error you’re retrieving had better have SetLastError=true (16 comments) / code
2015-08-19 / #173 If you are going to call Marshal.GetLastWin32Error, the function whose error you’re retrieving had better be the one called most recently (12 comments) / code
2015-08-20 / #174 I saw a pinvoke signature that passed a UInt64 instead of a FILETIME, what’s up with that? (12 comments) / code
2015-08-21 / #175 Handy delegate shortcut hides important details: The hidden delegate (13 comments) / code
2015-08-24 / #176 Insightful graph: The ship date predictor (51 comments) / non-computer
2015-08-25 / #177 Microspeak: DRI, the designated response individual (7 comments) / microspeak;other
2015-08-26 / #178 Rules can exist not because there’s a problem, but in order to prevent future problems (19 comments) / other
2015-08-27 / #179 The Windows 95 I/O system assumed that if it wrote a byte, then it could read it back (15 comments) / history
2015-08-28 / #180 Debugging walkthrough: Access violation on nonsense instruction, episode 3 (23 comments) / other
2015-08-31 / #181 How do I enumerate remembered connections that are not currently connected? (6 comments) / code
2015-09-01 / #182 Microspeak: move the needle (11 comments) / microspeak;other
2015-09-02 / #183 I saved some files into the Program Files directory, and now they’re gone! (33 comments) / tipssupport
2015-09-03 / #184 When I change the icon in my shortcut, why doesn’t it update on the screen? (10 comments) / code
2015-09-04 / #185 Using an intermediate library to make the main library retargetable (28 comments) / code
2015-09-07 / #186 I guess this explains why Warren Buffett hasn’t retired (20 comments) / non-computer
2015-09-08 / #187 Cynical interpretations of various project milestones (18 comments) / other
2015-09-09 / #188 Raymond’s Windows Universal Samples API concordance (19 comments) / code
2015-09-10 / #189 How do you get network connectivity from the worst PC in the world? (45 comments) / history
2015-09-11 / #190 The C runtime library cannot be mixed and matched (29 comments) / code
2015-09-14 / #191 How do I run a Web search in the user’s default Web browser using their default search provider? (22 comments) / code
2015-09-15 / #192 A process inherits its environment from its parent, and the consequences of this simple statement (30 comments) / code;tipssupport
2015-09-16 / #193 Why doesn’t GetAddrInfo work from behind a proxy? (25 comments) / code
2015-09-17 / #194 How can I start my service as soon as possible, before any other service? (25 comments) / code
2015-09-18 / #195 Why are there all these processes lingering near death, and what is keeping them alive? (30 comments) / code
2015-09-21 / #196 How can I tell if Windows Update is waiting for the system to reboot? (45 comments) / code
2015-09-22 / #197 Thanks for informing us that you know about the compatibility issue in your application, so we don’t have to fix it (58 comments) / other
2015-09-23 / #198 It rather involved being on the other side of this airtight hatchway: Elevation from Administrator to SYSTEM (27 comments) / code
2015-09-24 / #199 How do I call SetTimer with a timer ID that is guaranteed not to conflict with any other timer ID? (8 comments) / code
2015-09-25 / #200 Why doesn’t my keyboard hook get called for keyboard messages I manually posted? (18 comments) / code
2015-09-28 / #201 What happens to lost timer messages if I don’t process them fast enough? (13 comments) / code
2015-09-29 / #202 The trust relationship between this workstation and the primary domain failed, what does this mean? (34 comments) / tipssupport
2015-09-30 / #203 Why can’t I create a file equal to the available disk space? (35 comments) / other
2015-10-01 / #204 If you can’t remember the exact text of a dialog box (so you can search for it), you can ask the Internet (27 comments) / other
2015-10-02 / #205 Calling ShutdownBlockReasonCreate from my service doesn’t stop the user from shutting down (24 comments) / code
2015-10-02 / #206 Hacking the law: On the role of the marriage officiant in the State of Washington (31 comments) / non-computer
2015-10-05 / #207 How do I obtain the comment for a share? (4 comments) / code
2015-10-06 / #208 First, try reading the error message, episode 4: Even programmers see error messages without reading them (37 comments) / other
2015-10-07 / #209 How do we change permissions on a share as fast as Explorer does it? (37 comments) / code
2015-10-08 / #210 What happens if you call VirtualAlloc to MEM_COMMIT a page you never MEM_RESERVE? (12 comments) / code
2015-10-09 / #211 How does a shell namespace extension provide icons for virtual items that track the standard icons set by the user’s file associations? (2 comments) / code
2015-10-09 / #212 Learning about farm animals from my niece (14 comments) / non-computer
2015-10-12 / #213 How do I get the user-customed name of My Computer or Recycle Bin? (8 comments) / code
2015-10-13 / #214 Why do Saturation and Luminance go all the way to 240, but Hue goes only to 239? And why 239 anyway? (34 comments) / tipssupport
2015-10-14 / #215 The MoveSecurityAttributes policy affects only how Explorer recalculates ACLs when a file is moved; everybody else is on their own (13 comments) / tipssupport
2015-10-15 / #216 What’s the difference between UuidFromString, IIDFromString, CLSIDFromString, GUIDFromString… (24 comments) / code
2015-10-16 / #217 I have the handle to a file; how can I get the file name from the debugger? (20 comments) / code
2015-10-19 / #218 How do I get the user-customized name of a mapped network drive? (6 comments) / code
2015-10-20 / #219 What is COM marshaling and how do I use it? (25 comments) / code
2015-10-21 / #220 What are the rules for CoMarshalInterThreadInterfaceInStream and CoGetInterfaceAndReleaseStream? (19 comments) / code
2015-10-22 / #221 What are the rules for CoMarshalInterface and CoUnmarshalInterface? (4 comments) / code
2015-10-23 / #222 CoGetInterfaceAndReleaseStream does not mix with smart pointers (14 comments) / code
2015-10-26 / #223 Are there any negative consequences to having a ton of files on the desktop? (50 comments) / other
2015-10-27 / #224 The Redmond Reality Distortion Field: Analogies involving high-performance cars, usually Ferraris (42 comments) / other
2015-10-28 / #225 How do I create a wizard that contains none of the things that makes a wizard a wizard? (23 comments) / code
2015-10-29 / #226 When you open a securable object, make sure you pass the security mask you actually want (no more, no less) (15 comments) / code
2015-10-30 / #227 Why does the timestamp of a file increase by up to 2 seconds when I put it in a ZIP archive, then extract it? (38 comments) / tipssupport
2015-11-02 / #228 How can I make my custom namespace extension get categorized correctly in My Computer? (12 comments) / code
2015-11-03 / #229 Microspeak: North star (21 comments) / microspeak;other
2015-11-04 / #230 Changing the conditions under which ReadFile produces fewer bytes than requested (24 comments) / code
2015-11-05 / #231 Sometimes a function returns NULL because NULL really is the answer (11 comments) / code
2015-11-06 / #232 Why does the access violation error message put the operation in quotation marks, redux (39 comments) / other
2015-11-09 / #233 Some helper functions for interlocked pointer operations (25 comments) / code
2015-11-10 / #234 I cloned a project, but the new project still groups with the old project on the taskbar (8 comments) / other
2015-11-10 / #235 It’s called «proofreading», give it a shot why don’t you, episode 2 (23 comments) / non-computer
2015-11-11 / #236 Oh, that’s probably why I’m in the Quake credits (25 comments) / history
2015-11-12 / #237 Why is January 1 being reported as the last week of the previous year? (43 comments) / code
2015-11-13 / #238 Diagnosing high CPU by studying profiling results, example (13 comments) / code
2015-11-13 / #239 Exploring the Supercute World of Hello Kitty (9 comments) / non-computer
2015-11-16 / #240 How can I get notified when the cursor changes? (6 comments) / code
2015-11-17 / #241 The ritual of choosing your next office (14 comments) / non-computer
2015-11-18 / #242 Why is the StartRunNOHOMEPATH policy so very specific about what it does? (9 comments) / other
2015-11-18 / #243 If You Are The One: The crazy Chinese dating show (20 comments) / non-computer
2015-11-19 / #244 Stupid JavaScript debugging tricks: Abusing the conditional breakpoint (22 comments) / code
2015-11-20 / #245 Investigating a problem constructing a security descriptor to deny thread-specific access rights to Everyone (15 comments) / code
2015-11-23 / #246 Playing with synchroninzation barriers (24 comments) / code
2015-11-24 / #247 We got around three (20 comments) / non-computer
2015-11-25 / #248 Clarifying the documentation on wildcards accepted by FindFirstFile/FindFirstFileEx (32 comments) / code
2015-11-26 / #249 The increasing urgency of a request to fill out a survey (10 comments) / non-computer
2015-11-27 / #250 How can I append to a file and know where it got written, even if the file is being updated by multiple processes? (7 comments) / code
2015-11-27 / #251 In order to serve you better: Charging your credit card in your home currency (17 comments) / non-computer
2015-11-30 / #252 Enumerating all the programs that can open a particular file extension (13 comments) / code
2015-12-01 / #253 What does Ctrl+Enter mean? It depends on whom you ask (45 comments) / history
2015-12-02 / #254 Hidden gotcha in the thread pool sample program on MSDN (11 comments) / code
2015-12-03 / #255 A question about how to detect whether Windows Update needs the system to be restarted turns out to be the wrong question (50 comments) / code
2015-12-04 / #256 Why did disabling interrupts cause Windows 95 to hang? (35 comments) / history
2015-12-07 / #257 Enumerating all the programs that can launch a particular protocol (22 comments) / code
2015-12-08 / #258 How do I register a command on the desktop background context menu? (And how do I remove one I don’t like?) (31 comments) / code;tipssupport
2015-12-09 / #259 Why doesn’t findstr use the standard regular expression library? (45 comments) / history
2015-12-10 / #260 Why does OpenProcess return access denied, even if I enable debug privilege? (21 comments) / code
2015-12-11 / #261 Hasn’t the problem of updates being partially installed until the next reboot already been solved by changes in Windows? (28 comments) / other
2015-12-14 / #262 Calculating integer factorials in constant time, taking advantage of overflow behavior (26 comments) / code
2015-12-15 / #263 Great moments in forgetfulness: Does anybody have a copy of this file? (22 comments) / other
2015-12-16 / #264 You’d think that with the name TEMP, people wouldn’t expect it to be around for a long time (56 comments) / code
2015-12-17 / #265 Dubious security vulnerability: Messing with the Recycle Bin (20 comments) / other
2015-12-18 / #266 Are views of memory-mapped files coherent within a single process? (And how this was the wrong question.) (13 comments) / code
2015-12-21 / #267 Allocating page file space without allocating RAM (8 comments) / code
2015-12-22 / #268 Unhandled Exception: Cannot print exception string because Exception.ToString() failed. (14 comments) / other
2015-12-23 / #269 Confusing gotcha: PSECURITY_DESCRIPTOR is not a pointer to a SECURITY_DESCRIPTOR (12 comments) / code
2015-12-24 / #270 Why does my in-place tooltip dismiss itself as soon as it appears? (8 comments) / code
2015-12-25 / #271 When is the correct time to call FreeLibraryWhenCallbackReturns? (5 comments) / code
2015-12-28 / #272 Determining how each Explorer window is sorted (11 comments) / code
2015-12-29 / #273 Why are Windows setup logs stored in a Panther directory? Does it have anything to do with the abandoned Panther project from the precursor to Windows 95? (6 comments) / history
2015-12-30 / #274 Why is my call to ChangeTimerQueueTimer having no effect? (And another case of looking past the question to solve the problem.) (4 comments) / code
2015-12-31 / #275 2015 year-end link clearance (14 comments) / other

2016


Date Title
2016-01-01 / #0 If you want to receive a message that is broadcast to top-level windows, you need a top-level window (10 comments) / code
2016-01-04 / #1 Slam City with Scottie Pippen (1995): A flashback (4 comments) / other
2016-01-05 / #2 Why did Windows NT decline to support an undocumented flag to TrackPopupMenuEx? (17 comments) / code
2016-01-06 / #3 Why does the mouse cursor jump a few pixels when you right-click on the Start button? (18 comments) / other
2016-01-07 / #4 It rather involved being on the other side of this airtight hatchway: Attacking the system clock (35 comments) / other
2016-01-08 / #5 The FILE_FLAG_DELETE_ON_CLOSE flag applies to the handle, also known as the file object, which is not the same as the file (11 comments) / code
2016-01-11 / #6 Creating a shell extension that applies only to files with a very specific name (12 comments) / code
2016-01-12 / #7 Getting one’s paycheck from some mysterious pile of money (7 comments) / non-computer
2016-01-13 / #8 My program for faking debugging demos (8 comments) / code
2016-01-14 / #9 When you start talking about numbers as small as 2⁻¹²², you have to start looking more closely at the things you thought were zero (41 comments) / other
2016-01-15 / #10 What does this crash in TppRaiseHandleStatus mean? (6 comments) / code
2016-01-18 / #11 A puzzle involving dynamic programming, or maybe it doesn’t, episode 2 (11 comments) / code
2016-01-18 / #12 Some notes about the blog migration (36 comments) / other
2016-01-19 / #13 What makes XCOPY so X? (35 comments) / history
2016-01-20 / #14 So how bad is it that I’m calling RegOpenKey instead of RegOpenKeyEx? (7 comments) / code
2016-01-21 / #15 What does the /V (verify) flag to XCOPY mean, and how did it get that way? (16 comments) / code
2016-01-22 / #16 If I’m going to store a SID in a file, should I store the string form or the binary form? (11 comments) / code
2016-01-25 / #17 How can I tell whether my console program was launched from Explorer or from a command prompt? (22 comments) / code
2016-01-26 / #18 Some senior executives are afraid to provide feedback, because they know that their feedback will be given too much weight (26 comments) / other
2016-01-27 / #19 Why does CryptDestroyHash crash, but only sometimes? (10 comments) / code
2016-01-28 / #20 Why is getting the HP_HASHSIZE so weird? (11 comments) / code
2016-01-29 / #21 Does the thread pool have different handle access privileges? Why am I getting ERROR_INVALID_HANDLE? (5 comments) / code
2016-02-01 / #22 A brief tour of the console alias functions (10 comments) / code
2016-02-02 / #23 What happened to the ability to use … (three dots) to refer to the grandparent directory? (35 comments) / history
2016-02-03 / #24 Localization gotcha: The RTL question mark (14 comments) / other
2016-02-04 / #25 How do I prevent a child process from displaying the Windows Error Reporting dialog? (25 comments) / code
2016-02-05 / #26 If I issue a second overlapped I/O operation without waiting for the first one to complete, are they still guaranteed to complete in order? (17 comments) / code
2016-02-05 / #27 The overly complicated rules for American football (20 comments) / non-computer
2016-02-08 / #28 How can I get the canonical name for a known folder? (19 comments) / code
2016-02-09 / #29 Hey, you work for Microsoft. Do you know…? (24 comments) / other
2016-02-10 / #30 If somebody creates or deletes a file in a directory while I am enumerating its contents, what happens? (16 comments) / code
2016-02-11 / #31 Debugging walkthrough: Diagnosing an NX exception (9 comments) / code
2016-02-12 / #32 We batched up our COM requests and return a single stream of results, but the performance is still slow (5 comments) / code
2016-02-15 / #33 How can I get the name for the user’s profile directory that is shown in Explorer? (6 comments) / code
2016-02-16 / #34 If I select multiple files of different types, why does the Open verb disappear? (27 comments) / tipssupport
2016-02-16 / #35 I have difficulty following Swedish when spoken at conversational speed, and I count on being able to read the subtitles in order to catch up (11 comments) / non-computer
2016-02-17 / #36 Don’t just grab the foreground window and host UI on it, redux (40 comments) / code
2016-02-18 / #37 Nasty gotcha: VarCmp vs VariantCompare (11 comments) / code
2016-02-19 / #38 When I try to calculate a performance counter manually, the answer is off by a factor of 100 (8 comments) / code
2016-02-22 / #39 Finding the shortest binary string in a given interval (13 comments) / code
2016-02-23 / #40 Why does the date disappear from my taskbar, sometimes? (44 comments) / tipssupport
2016-02-24 / #41 A static_cast is not always just a pointer adjustment (15 comments) / code
2016-02-25 / #42 How do I preload a chunk of memory into a memory-mapped file? (13 comments) / code
2016-02-26 / #43 Changing a loop into a promise or task chain (26 comments) / code
2016-02-29 / #44 How can I get the original shortcut target path with environment variables unexpanded? (2 comments) / code
2016-02-29 / #45 The 2016/2017 Seattle Symphony subscription season at a glance (15 comments) / non-computer
2016-03-01 / #46 You kids are so cute, thinking you invented email (30 comments) / history
2016-03-02 / #47 How can I get the name of the function that crashed given just a module name and offset? (9 comments) / code
2016-03-03 / #48 Are SetProp and RemoveProp thread-safe? (5 comments) / code
2016-03-04 / #49 Why not auto convert week-based time zone information to date-based? (17 comments) / code
2016-03-07 / #50 On word breaking in Chinese and Japanese (12 comments) / code
2016-03-08 / #51 If what you’re doing is undocumented, it’s not guaranteed to keep working, and your promise not to complain doesn’t really hold water (13 comments) / code
2016-03-09 / #52 String comparisons against program output is not usually the best solution (33 comments) / code
2016-03-10 / #53 Could there be any problems with calling GetModuleFileNameEx on your own process? (21 comments) / code
2016-03-11 / #54 On week numbering in the United States (51 comments) / other
2016-03-14 / #55 Adventures in UI Automation: Scraping the Driver Files dialog (18 comments) / code
2016-03-15 / #56 Why doesn’t this registry hack for disabling autorun work? (28 comments) / tipssupport
2016-03-16 / #57 Randomly-generated passwords still have to be legal strings (13 comments) / code
2016-03-17 / #58 Why not use weak linking to solve the retargetable library problem? (33 comments) / code
2016-03-18 / #59 What are the consequences of reserving a huge amount of memory, most of which is never committed? (9 comments) / code
2016-03-21 / #60 Were there specific criteria for making a game work at all costs vs. leaving it be if it had problems too weird to debug? (10 comments) / history
2016-03-22 / #61 How can I find out how much disk space the WinSxS folder is really occupying? (17 comments) / tipssupport
2016-03-23 / #62 Don’t be helpless: You can find information too, if you try (episode 3) (29 comments) / other
2016-03-24 / #63 Why does PathIsUNC say that paths that begin with \? are not UNCs? (15 comments) / code
2016-03-25 / #64 Fixing a floating point exception when operating on NaN (9 comments) / code
2016-03-28 / #65 Getting MS-DOS games to run on Windows 95: Virtual memory (18 comments) / history
2016-03-29 / #66 Why doesn’t a program show up on the Start menu’s Recently Used Programs list if I just used it to open a document? (15 comments) / tipssupport
2016-03-30 / #67 The numerology of the build, redux (12 comments) / history
2016-03-31 / #68 Why are there four functions for parsing strings into GUIDs, and why are they in three different DLLs? (14 comments) / code
2016-04-01 / #69 Is it really a prank if the victim doesn’t realize there’s a prank going on? (28 comments) / history
2016-04-04 / #70 Getting MS-DOS games to run on Windows 95: Working around the iretd problem (11 comments) / history
2016-04-05 / #71 Dubious security vulnerability: Disk space consumption (18 comments) / other
2016-04-06 / #72 How does GetFinalPathNameByHandle choose the name if there are multiple names due to hard links? (13 comments) / code
2016-04-07 / #73 Why can’t the debugger call GetFinalPathNameByHandle via .call? (11 comments) / code
2016-04-08 / #74 Why does FindExecutable behave erratically for files with extensions longer than three characters? (And what can you do about it?) (16 comments) / code
2016-04-11 / #75 Getting MS-DOS games to run on Windows 95: The interrupt flag (28 comments) / history
2016-04-12 / #76 Inherited access control entries are captured when the child object is created (8 comments) / tipssupport
2016-04-13 / #77 If relocated DLLs cannot share pages, then doesn’t ASLR cause all pages to be non-shared? (21 comments) / other
2016-04-14 / #78 Even though the target audience may be programmers, it can still be seen by users (48 comments) / other
2016-04-15 / #79 What happens if I call EnumPropsEx while another thread is mutating the properties? (4 comments) / code
2016-04-18 / #80 Getting MS-DOS games to run on Windows 95: Too much memory! (31 comments) / history
2016-04-19 / #81 Why is there a screen that says “It is now safe to turn off your computer”? (60 comments) / history
2016-04-20 / #82 Why are mouse wheel messages delivered to the focus window instead of the window under the mouse? (38 comments) / history
2016-04-21 / #83 It rather involved being on the other side of this airtight hatchway: Invalid parameters from one security level crashing code at the same security level (doesn’t get old) (25 comments) / other
2016-04-22 / #84 Should I be concerned that WaitForSingleObject is taking a large percentage of my performance test’s execution time (16 comments) / code
2016-04-25 / #85 Getting MS-DOS games to run on Windows 95: Too much EMM memory (16 comments) / history
2016-04-26 / #86 Why can’t I pin a document to the taskbar? (33 comments) / tipssupport
2016-04-27 / #87 How does Explorer calculate “Size on disk”? (15 comments) / tipssupport
2016-04-28 / #88 Is there an API for redrawing a specific window from another application? (26 comments) / code
2016-04-29 / #89 What does QueryThreadCycleTime actually count? (17 comments) / code
2016-05-02 / #90 Startup apps start up when I tell them (29 comments) / other
2016-05-02 / #91 Does Mulan speak Chinese? (30 comments) / non-computer
2016-05-03 / #92 Getting MS-DOS games to run on Windows 95: Not enough XMS handles (18 comments) / history
2016-05-04 / #93 How can I detect whether the user’s keyboard has a Break key? (43 comments) / code
2016-05-05 / #94 How can I write an unkillable program, redux (52 comments) / code
2016-05-06 / #95 Is it okay to acquire an SRWLOCK recursively? (And why not?) (23 comments) / code
2016-05-09 / #96 Taking shortcuts when following driving instructions doesn’t always pay off (28 comments) / non-computer
2016-05-10 / #97 How can my CPU be running faster than the maximum speed? (34 comments) / tipssupport
2016-05-11 / #98 What’s the difference between duplicating the handle to a token and duplicating a token? (6 comments) / code
2016-05-12 / #99 How come a duplicated token doesn’t behave identically to the original? (7 comments) / code
2016-05-13 / #100 Why am I being told that my message ID is too large? (8 comments) / code
2016-05-13 / #101 Is Metro on fire today? (23 comments) / non-computer
2016-05-16 / #102 Wow, that article sounds an awful lot like something I would have writt… hey, wait a second (33 comments) / non-computer
2016-05-17 / #103 But Australian Telecom loves it! (19 comments) / history
2016-05-18 / #104 Why doesn’t RevertToSelf undo the most recent SetThreadToken? (21 comments) / code
2016-05-19 / #105 Why did the friendly name for the Network Service account change? (37 comments) / code
2016-05-20 / #106 How long do I have to keep the SECURITY_ATTRIBUTES and SECURITY_DESCRIPTOR structures valid after using them to create a file? (3 comments) / code
2016-05-23 / #107 Security through lying (67 comments) / other
2016-05-24 / #108 How do I create a directory where people can create subdirectories but cannot mess with those created by other users? (11 comments) / tipssupport
2016-05-25 / #109 How can I generate a stack backtrace that is independent of ASLR? (10 comments) / code
2016-05-26 / #110 Debugging session: Which of the many things happening in this single line of code is the one that crashed? (13 comments) / code
2016-05-27 / #111 Diagnosing a crash in unloaded_something.dll (4 comments) / code
2016-05-30 / #112 Printing the name and position of the focused item on the desktop (7 comments) / code
2016-05-31 / #113 The chain reaction started when a customer’s line of business application doesn’t work with UNCs (10 comments) / tipssupport
2016-06-01 / #114 Why does SHGetKnownFolderPath fail when impersonating? (3 comments) / code
2016-06-02 / #115 How can I tell whether a file is on a removable drive, a fixed drive, or a remote drive? (7 comments) / code
2016-06-03 / #116 Why does SetFileValidData fail even though I enabled the SE_MANAGE_VOLUME_NAME privilege? (13 comments) / code
2016-06-06 / #117 If I create multiple selectors each of size 4GB, do I get a combined address space larger than 4GB? (39 comments) / code
2016-06-07 / #118 I finally finished this awesome game called Photoshop, let me send you a video (35 comments) / tipssupport
2016-06-08 / #119 Investigating an app compat problem: Part 1: The initial plunge (16 comments) / code
2016-06-09 / #120 Investigating an app compat problem: Part 2: Digging in (4 comments) / code
2016-06-10 / #121 Investigating an app compat problem: Part 3: Paydirt (21 comments) / code
2016-06-13 / #122 What’s so special about the number 64 when it comes to TLS slots? (36 comments) / history
2016-06-14 / #123 Is there a way to change the minimum size for large pages? (8 comments) / code
2016-06-15 / #124 Raymond’s complete guide to HSTRING semantics (6 comments) / code
2016-06-16 / #125 Why do I get a spurious WM_MOUSEMOVE message whenever Resource Manager is running? (1 comment) / code
2016-06-17 / #126 How can I update my WinForms app to behave better at high DPI, or at normal DPI on very large screens? (38 comments) / code
2016-06-20 / #127 Peeking inside an IShellItem to see what it’s made of (4 comments) / code
2016-06-21 / #128 How to recognize DNS zone scavenging availability timestamps from quite a long way away (12 comments) / tipssupport
2016-06-22 / #129 Using the Windows::Globalization::Calendar object from a Win32 app (20 comments) / code
2016-06-23 / #130 Why does the x64 calling convention reserve four home spaces for parameters even for functions that take fewer than four parameters? (11 comments) / code
2016-06-24 / #131 Why is my message queue full of WM_TIMER messages? (18 comments) / code
2016-06-27 / #132 If I have multiple attached keyboards, how can I read input from each one individually? (6 comments) / code
2016-06-28 / #133 Why does the Windows calculator generate tiny errors when calculating the square root of a perfect square? (35 comments) / non-computer
2016-06-29 / #134 How can I detect whether the Game Bar is covering my window? (25 comments) / code
2016-06-30 / #135 2016 mid-year link clearance (17 comments) / other
2016-07-01 / #136 How exactly are page tables allocated on demand for large reserved regions? (11 comments) / code
2016-07-04 / #137 Attention all humorless technaheads (27 comments) / other
2016-07-05 / #138 Observing the bizarre rumor mill from the other side (10 comments) / other
2016-07-06 / #139 How can I detect whether my PC is in tablet mode? (14 comments) / code
2016-07-06 / #140 Mathematical term or Hollywood movie? (12 comments) / non-computer
2016-07-07 / #141 Even if you modify a high contrast theme so it isn’t quite so high-contrast, it’s still a high contrast theme (6 comments) / other
2016-07-08 / #142 It rather involved being on the other side of this airtight hatchway: Elevating the elevator (11 comments) / code
2016-07-11 / #143 Where can I get the glossary of Microsoft’s standard translations for computer terms? (12 comments) / other
2016-07-12 / #144 Why does the Windows 8 sign-in animation slide upward? (31 comments) / history
2016-07-13 / #145 What happens if I have multiple asynchronous ReadDirectoryChangesW calls outstanding on the same directory handle? (10 comments) / code
2016-07-14 / #146 How can I preallocate disk space for a file without it being reported as readable? (18 comments) / code
2016-07-15 / #147 Trying to recover from enhancement software that generates fake input incorrectly (7 comments) / code
2016-07-18 / #148 When I tell Windows to compress a file, the compression is far worse than I get if I ask WinZip to compress the file; why is that? (33 comments) / tipssupport
2016-07-19 / #149 Having trouble with Windows Hello face recognition? Try a Jedi mind trick! (20 comments) / tipssupport
2016-07-20 / #150 Microspeak: Tick-tock (14 comments) / other
2016-07-21 / #151 If you don’t want the changes to be permanent, the don’t pass the flag that says that you want the changes to be permanent (21 comments) / code
2016-07-22 / #152 What is the significance of changing the registration for CLSIDs to point to a private copy of MSXML3? (22 comments) / other
2016-07-25 / #153 Is there a Windows API for IntelliSense? (52 comments) / other
2016-07-26 / #154 Why does sharing a folder in Explorer grant full permission on the share to everyone? (17 comments) / other
2016-07-27 / #155 Why does setting the horizontal scroll bar range for the first time also set the vertical range, and vice versa? (8 comments) / code
2016-07-28 / #156 How can I check whether a parameter is a pointer to a stack variable? (34 comments) / code
2016-07-29 / #157 Further discussion of the synchronization barrier (5 comments) / code
2016-08-01 / #158 How do I disable edge gestures when my window is full screen? (5 comments) / code
2016-08-02 / #159 Why don’t I get a file deletion confirmation warning from Explorer when I undo a copy? (28 comments) / other
2016-08-03 / #160 Using #pragma detect_mismatch to help catch ODR violations (12 comments) / code
2016-08-04 / #161 The origin story of the Microsoft ninjacat (22 comments) / history
2016-08-05 / #162 The case of the hung Explorer window (30 comments) / code
2016-08-08 / #163 Why didn’t Windows 95 suck the brains out of the XMS driver? (19 comments) / history
2016-08-09 / #164 What is a ZDP, and what’s so Z about it? (19 comments) / microspeak;tipssupport
2016-08-10 / #165 How to create a file mapping that allows others to open the file in exclusive mode? (9 comments) / code
2016-08-11 / #166 On the importance of making sure WaitForInputIdle doesn’t think you’re idle, episode 1 (3 comments) / code
2016-08-11 / #167 I’m speaking at the brand new Microsoft Canada Excellence Centre tomorrow (17 comments) / other
2016-08-12 / #168 On the importance of making sure WaitForInputIdle doesn’t think you’re idle, episode 2 (6 comments) / code
2016-08-15 / #169 How can I debug a function that has been subjected to COMDAT folding? (3 comments) / code
2016-08-15 / #170 Things I learned from my recent trip to Vancouver (50 comments) / non-computer
2016-08-16 / #171 There are really only two effectively distinct settings for the UAC slider (65 comments) / tipssupport
2016-08-17 / #172 On installing a custom unhandled exception filter and intentionally raising an exception to get its attention (7 comments) / code
2016-08-18 / #173 If I have a modeless dialog box with custom accelerators, which should I call first: IsDialogMessage or TranslateAccelerator (14 comments) / code
2016-08-19 / #174 Is it okay to call TryAcquireSRWLock from a thread that has already acquired the lock? (32 comments) / code
2016-08-22 / #175 Adventures in application compatibility: The bogus memory calculation (21 comments) / history
2016-08-23 / #176 WaitOnAddress lets you create a synchronization object out of any data variable, even a byte (16 comments) / code
2016-08-24 / #177 Implementing a synchronization barrier in terms of WaitOnAddress (9 comments) / code
2016-08-24 / #178 The International Fair Play Committee announces the Rio 2016 Fair Play Awards, but spends most of the time congratulating themselves (14 comments) / non-computer
2016-08-25 / #179 Implementing a critical section in terms of WaitOnAddress (8 comments) / code
2016-08-25 / #180 Soarin’ over California + Seattle = Wings over Washington (2 comments) / non-computer
2016-08-26 / #181 Spurious wakes, race conditions, and bogus FIFO claims: A peek behind the curtain of WaitOnAddress (15 comments) / code
2016-08-29 / #182 Detecting what language or script a run of text is written in, redux (15 comments) / code
2016-08-30 / #183 What is the NTDiskQuotaSidCache.ndx file for? (12 comments) / tipssupport
2016-08-31 / #184 The ship date predictor: Redux (17 comments) / history
2016-09-01 / #185 Discardability in drivers has nothing to do with discardability in user-mode (which has nothing to do with discardability, really) (39 comments) / other
2016-09-02 / #186 A customer question about shortcuts that don’t have a target path (38 comments) / code
2016-09-05 / #187 The complicated engineering behind an ice cream social (29 comments) / non-computer
2016-09-06 / #188 How to get people who installed a leaked build to stop using that build? (37 comments) / history
2016-09-07 / #189 If I zero out my memory pages, does that make them page in faster? (20 comments) / code
2016-09-08 / #190 How can I change a registry key from within the debugger? (19 comments) / other
2016-09-09 / #191 How can I get the memory manager to prefetch bigger chunks of data from my memory-mapped file? (6 comments) / code
2016-09-12 / #192 How can I have a window that rejects activation but still receives pointer input? (14 comments) / code
2016-09-13 / #193 What are these ghost drivers named dump_diskdump.sys and other dump_*.sys that didn’t come from any file? (12 comments) / tipssupport
2016-09-14 / #194 What exactly does the msWindowLength parameter to SetThreadpoolTimer mean? (5 comments) / code
2016-09-15 / #195 Decoding the parameters of a thrown C++ exception (0xE06D7363), revisited (9 comments) / code
2016-09-16 / #196 Does the page table entry really have a sad-face for pages that are reserved? (1 comment) / code
2016-09-19 / #197 It’s an unfortunate choice of data type for the file system redirection cookie (21 comments) / code
2016-09-20 / #198 The social skills of a thermonuclear device: Ruining a conversation (14 comments) / non-computer;the-social-skills-of-a-thermonuclear-device
2016-09-21 / #199 The case of the system() call that returned before finishing (21 comments) / code
2016-09-22 / #200 Dither me this (17 comments) / history
2016-09-23 / #201 When you break into a user-mode application in the kernel debugger, how do you connect a user-mode debugger? (13 comments) / other
2016-09-26 / #202 It says that I should use USB usage page 1 and usage 6 to get raw keyboard data, but what if I have a PS/2 keyboard? (18 comments) / code
2016-09-27 / #203 What’s up with Windows developer tools being written in perl? (29 comments) / other
2016-09-28 / #204 When can you free the memory backing the HSTRING you created with WindowsCreateStringReference? (12 comments) / code
2016-09-29 / #205 The lackey catastrophe (15 comments) / code
2016-09-30 / #206 When are global objects constructed and destructed by Visual C++?, redux (30 comments) / code
2016-10-03 / #207 You can register your child’s name in any language providing you use any Unicode character (27 comments) / other
2016-10-04 / #208 Wow, that’s amazing. You got Picabo Street and Alberto Tomba to autograph the same poster! (10 comments) / non-computer
2016-10-05 / #209 Why doesn’t my custom-drawn trackbar get a paint notification when the position changes from 1 to 0? (21 comments) / code
2016-10-06 / #210 How do I cancel autoplay from a wizard page? (13 comments) / code
2016-10-07 / #211 How can I get the default code page for a locale? (31 comments) / code
2016-10-10 / #212 A Little Program to fix one particular type of mojibake (28 comments) / code
2016-10-11 / #213 Oh, you’re with them? (16 comments) / other
2016-10-12 / #214 Nasty gotcha: The inadvertently named resource (18 comments) / code
2016-10-13 / #215 Dubious security vulnerability: Attacking the application directory in order to fool yourself? (48 comments) / code
2016-10-14 / #216 How can I force memory to be allocated above the 4GB boundary (for debugging purposes) on Windows 7? (12 comments) / code
2016-10-17 / #217 The Windows 8.1 ship-it awards were yellow (35 comments) / other
2016-10-18 / #218 Was it intentional that the Media Control Interface has the same acronym as a telecommunications company? (20 comments) / history
2016-10-19 / #219 Three short questions about LogonUser (with answers!) (2 comments) / code
2016-10-20 / #220 Using DuplicateHandle to help manage the ownership of kernel handles (12 comments) / code
2016-10-21 / #221 Is there anything better than GetThreadTimes for obtaining per-thread CPU usage information? (7 comments) / code
2016-10-24 / #222 Why is Identical COMDAT Folding called Identical COMDAT Folding? (13 comments) / history
2016-10-25 / #223 Microspeak: lift up (6 comments) / microspeak;other
2016-10-26 / #224 Why does the documentation for ReadFile say that the lpNumberOfBytesRead parameter is optional when it is sometimes mandatory? (13 comments) / code
2016-10-27 / #225 How to electrify your own fence: ProcessStrictHandleCheckPolicy (13 comments) / code
2016-10-28 / #226 Why does SetThreadPriority sometimes take a really long time? (15 comments) / code
2016-10-31 / #227 This processor has no stack (insert spooky laughter) (30 comments) / history
2016-11-01 / #228 Windows file system compression had to be dumbed down (38 comments) / history
2016-11-02 / #229 What happens if you call RevertToSelf when not impersonating? (7 comments) / code
2016-11-03 / #230 Solving the problem instead of answering the question: How do I get this RichEdit control to look just like a static control? (17 comments) / code
2016-11-04 / #231 Why is my crash dump file filled with 0xAAAAAAAA? (13 comments) / other
2016-11-07 / #232 How do I programmatically add a folder to my Documents library? (15 comments) / code
2016-11-08 / #233 Why do my file creation, access, or modified time disappear if I set it to midnight on January 1, 1980? (17 comments) / tipssupport
2016-11-09 / #234 Zeroing out my memory does cause them to page in faster after all (6 comments) / code
2016-11-10 / #235 Under what circumstances will GetProcessTimes report that a process exited before it was created? (23 comments) / code
2016-11-11 / #236 If you don’t blow up a debug session every so often, you’re not debugging hard enough (9 comments) / other
2016-11-11 / #237 The long-awaited Redmond Costco opens today, and some useless Costco trivia (15 comments) / non-computer
2016-11-14 / #238 What does the shield over a WiFi network mean? (51 comments) / tipssupport
2016-11-15 / #239 The speed of light is unlikely to improve: consequences (50 comments) / other
2016-11-16 / #240 When you decide to travel at the speed of light, you have to accept the consequences (24 comments) / history
2016-11-17 / #241 Is RunAsInvoker a secret, even higher UAC setting? (20 comments) / other
2016-11-18 / #242 Why does calling SetForegroundWindow immediately followed by GetForegroundWindow not return the same window back? (6 comments) / code
2016-11-21 / #243 Lock free many-producer/single-consumer patterns: A work queue with task coalescing (7 comments) / code
2016-11-22 / #244 Lock free many-producer/single-consumer patterns: A work queue where the last one wins (9 comments) / code
2016-11-23 / #245 Lock free many-producer/single-consumer patterns: A work queue of identical non-coalescable events (21 comments) / code
2016-11-24 / #246 Lock free many-producer/single-consumer patterns: A work queue of distinct events, order not important (1 comment) / code
2016-11-24 / #247 Turkeys Away: An Oral History (1 comment) / non-computer
2016-11-25 / #248 Lock free many-producer/single-consumer patterns: A work queue of distinct events, FIFO (4 comments) / code
2016-11-25 / #249 The Gävle Goat is now 50 years old (11 comments) / non-computer
2016-11-28 / #250 If I simply want to create a registry key but don’t intend to do anything else with it, what security access mask should I ask for? (10 comments) / code
2016-11-29 / #251 The case of the volume label that doesn’t change (10 comments) / tipssupport
2016-11-30 / #252 What could be happening in Safe Mode to make my heap corruption bug go away? (10 comments) / code
2016-12-01 / #253 What is __wchar_t (with the leading double underscores) and why am I getting errors about it? (14 comments) / code
2016-12-02 / #254 Why do I get a _BLOCK_TYPE_IS_VALID debug assertion failure when I try to delete a WIC pixel buffer? (26 comments) / code
2016-12-05 / #255 The case of the unexpected ERROR_ACCESS_DENIED when calling MapViewOfFile (13 comments) / code
2016-12-06 / #256 How can I reset a PC if I forgot the administrator password? (52 comments) / tipssupport
2016-12-07 / #257 Why don’t I get a broken pipe when the child process terminates? (7 comments) / code
2016-12-08 / #258 What is this race condition that the OpenMutex documentation is trying to warn me about? (12 comments) / code
2016-12-09 / #259 Answers to a customer’s questions about memory and DLLs (12 comments) / code
2016-12-12 / #260 Why does tapping the Alt key cause my owner-draw static control to repaint? (12 comments) / code
2016-12-13 / #261 Can a server-side Web application trigger the creation of thumbs.db files? (9 comments) / tipssupport
2016-12-14 / #262 Dubious security vulnerability: Discovering the salt (22 comments) / code
2016-12-15 / #263 How bad is it to delay closing a thread handle for a long time after the thread has exited? (12 comments) / code
2016-12-16 / #264 My colleague who thought he held the unofficial record for consecutive months of skiing (2 comments) / non-computer
2016-12-19 / #265 Why can’t VarDateFromStr parse back a Hungarian date that was generated by VarBstrFromDate? (29 comments) / code
2016-12-20 / #266 If you ask robocopy to destroy the destination, then it will destroy the destination (21 comments) / tipssupport
2016-12-21 / #267 What is the maximum numeric value for a socket, and what is the maximum number of sockets a Windows program can create? (16 comments) / code
2016-12-22 / #268 Another pattern for using the InitOnce functions (1 comment) / code
2016-12-23 / #269 The mother lode of well-known SIDs (12 comments) / code
2016-12-26 / #270 Wireless AC is, unfortunately, not what it sounds like (27 comments) / other
2016-12-27 / #271 Why don’t I get properly translated program output after installing the corresponding language pack? (28 comments) / tipssupport
2016-12-28 / #272 The case of the four unlabeled toggle buttons (11 comments) / other
2016-12-29 / #273 The evolution of the text size limits related to the standard static control (10 comments) / code
2016-12-30 / #274 The invisible work of preparing PC BIOSes for the year 2000 (19 comments) / history
2016-12-30 / #275 2016 year-end link clearance (11 comments) / other

2017


Date Title
2017-01-02 / #0 Applying a permutation to a vector, part 1 (26 comments) / code
2017-01-03 / #1 Applying a permutation to a vector, part 2 (11 comments) / code
2017-01-04 / #2 Applying a permutation to a vector, part 3 (3 comments) / code
2017-01-05 / #3 Sorting by indices, part 1 (4 comments) / code
2017-01-06 / #4 Sorting by indices, part 2: The Schwartzian transform (8 comments) / code
2017-01-09 / #5 Applying a permutation to a vector, part 4: What is the computational complexity of the apply_permutation function? (11 comments) / code
2017-01-10 / #6 Applying a permutation to a vector, part 5 (3 comments) / code
2017-01-11 / #7 Applying a permutation to a vector, part 6 (1 comment) / code
2017-01-12 / #8 How do I detect Windows 10 if I cannot GetProcAddress for the function IsWindows10OrGreater? (44 comments) / code
2017-01-13 / #9 A survey of the various ways of declaring pages of memory to be uninteresting (16 comments) / code
2017-01-16 / #10 How come my CreateMutex call sometimes fails with Access denied? (5 comments) / code
2017-01-17 / #11 Microspeak: ladder up (15 comments) / microspeak;other
2017-01-18 / #12 Does ASLR relocate all DLLs by the same offset? (20 comments) / code
2017-01-19 / #13 A fine detail on how DLLs are relocated as the result of a base address collision, and consequences (22 comments) / code
2017-01-20 / #14 How important is it nowadays to ensure that all my DLLs have non-conflicting base addresses? (27 comments) / code
2017-01-23 / #15 How do I prevent users from terminating a service? (19 comments) / tipssupport
2017-01-24 / #16 Why do my program’s notifications sometimes show a small icon, and sometimes a large icon? (25 comments) / code
2017-01-25 / #17 Are there alternatives to _lock and _unlock in Visual Studio 2015? (8 comments) / code
2017-01-26 / #18 How can I control the directory from which my delay-loaded DLL is loaded? (19 comments) / code
2017-01-27 / #19 How can a COM local server keep itself alive even though there are no active clients? (8 comments) / code
2017-01-30 / #20 Creating an object on the other side of the airtight hatchway isn’t yet a security vulnerability (26 comments) / other
2017-01-31 / #21 Why does my Surface power brick keep blinking on and off? (15 comments) / tipssupport
2017-02-01 / #22 How am I supposed to free the information passed to the SetSecurityInfo function? (8 comments) / code
2017-02-01 / #23 I wasn’t fooled into thinking the Star Wars trench run was along the equatorial trench, but I was fooled anyway (9 comments) / non-computer
2017-02-02 / #24 Are DDE and WM_COPYDATA related as IPC mechanisms? (21 comments) / code
2017-02-02 / #25 Some friendly advice from the Redmond Public Safety department on nighttime nude jogging (7 comments) / non-computer
2017-02-03 / #26 Why am I getting a crash at shutdown inside the thread pool? (6 comments) / code
2017-02-03 / #27 It is a great deal and not a great deal, both at the same time (6 comments) / non-computer
2017-02-06 / #28 Why does a Microsoft mouse accept two batteries even though it works just fine on only one battery? (27 comments) / tipssupport
2017-02-06 / #29 My proposal for an episode of the new Star Trek series (24 comments) / non-computer
2017-02-07 / #30 Microspeak: Placemat review (18 comments) / other
2017-02-08 / #31 Why are all Windows drivers dated June 21, 2006? Don’t you ever update drivers? (65 comments) / other
2017-02-09 / #32 Suspicious memory leak in std::basic_string (15 comments) / code
2017-02-10 / #33 How do I do an interlocked exchange of a hat pointer? (12 comments) / code
2017-02-13 / #34 Sometimes you get so worked up about the compatibility consequences of a change that you miss the obvious (14 comments) / other
2017-02-13 / #35 Advertisement for ink cartridges doesn’t do all the math (25 comments) / non-computer
2017-02-14 / #36 Pipelining your laundry, and the ensuing silliness (33 comments) / other
2017-02-15 / #37 Why did my thread pool stop processing work once it hit a long-running work item? (15 comments) / code
2017-02-15 / #38 Man, this housing downturn is hitting everyone, follow-up (10 comments) / non-computer
2017-02-16 / #39 How do I fix the problem of a long-running task running on the thread pool persistent thread? (10 comments) / code
2017-02-17 / #40 A more efficient solution to the problem of a long-running task running on the thread pool persistent thread (3 comments) / code
2017-02-17 / #41 Follow-up: The bus that straddles traffic (13 comments) / non-computer
2017-02-20 / #42 Another more efficient solution to the problem of a long-running task running on the thread pool persistent thread (0 comments) / code
2017-02-20 / #43 The 2017/2018 Seattle Symphony subscription season at a glance (0 comments) / non-computer
2017-02-21 / #44 Psychic debugging: Why does opening a command prompt always print a weird error message? (13 comments) / tipssupport
2017-02-21 / #45 What little kids think of lifeguards (5 comments) / non-computer
2017-02-22 / #46 Those Year 2000 disaster preparedness trucks were originally there for a different reason (13 comments) / history
2017-02-23 / #47 How to create a folder that inherits its parent’s ACL, and then overrides part of it (18 comments) / code
2017-02-23 / #48 How am I supposed to print my print-at-home tickets if I can’t reproduce them? (26 comments) / non-computer
2017-02-24 / #49 The system manages the system image lists; don’t go changing the art on the walls (11 comments) / code
2017-02-24 / #50 Eventually you reach a critical mass of LEGO pieces where you can build most things from what you already have (13 comments) / non-computer
2017-02-27 / #51 How do I disable the press-and-hold gesture for my window? (6 comments) / code
2017-02-27 / #52 Baking soda has hundreds of uses, but what about what it says on the tin? (11 comments) / non-computer
2017-02-28 / #53 Great moments in journalism: “Confirmed Microsoft Surface Pro 5 launch date” (12 comments) / non-computer
2017-03-01 / #54 Why does my attempt to acquire an SRW lock block even though !locks report no locks held? (7 comments) / code
2017-03-01 / #55 Want to include a gift message with your tires? Nice try. (12 comments) / non-computer
2017-03-02 / #56 Don’t forget to implement canonical names for verbs in your shell context menu extension (4 comments) / code
2017-03-02 / #57 What happens when you tell a Millennial to take pictures of a party (23 comments) / non-computer
2017-03-03 / #58 The case of the 32-bit program that tries to load a 64-bit DLL (36 comments) / code
2017-03-06 / #59 Some internal developer chatter on a bug that caused your screen to turn black (18 comments) / other
2017-03-07 / #60 Microspeak: to reason over (13 comments) / microspeak;other
2017-03-08 / #61 How do we improve the performance of conhost processes when we ping a bunch of servers? (17 comments) / code
2017-03-09 / #62 How do I keep thread pool threads, or other threads in general, from competing with my render thread for CPU? (27 comments) / code
2017-03-10 / #63 Is GENERIC_ALL equivalent to GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE? (10 comments) / code
2017-03-13 / #64 Which languages are fully-localized by Windows? (21 comments) / tipssupport
2017-03-13 / #65 Raymond’s highly scientific predictions for the 2017 NCAA men’s basketball tournament (6 comments) / highly-scientific;non-computer
2017-03-14 / #66 Why is Alt+D the keyboard shortcut for putting focus on the address bar? (34 comments) / history
2017-03-15 / #67 How do I show the sharing pane from a Win32 desktop application? (12 comments) / code
2017-03-16 / #68 How do I provide data to the sharing pane from a Win32 desktop application? (9 comments) / code
2017-03-17 / #69 If I want to maintain a free list of pages, should I use MEM_RESET or MEM_DECOMMIT? (5 comments) / code
2017-03-17 / #70 Not interested in college basketball? No problem. Follow the Name of the Year 2017 bracket (2 comments) / non-computer
2017-03-17 / #71 Happy St. Patrick’s Day. Watch out for that throne. (1 comment) / non-computer
2017-03-20 / #72 Secret passages on Microsoft main campus, episode 2 (15 comments) / non-computer
2017-03-21 / #73 Why does the volume control let me set the volume only to even numbers? (39 comments) / tipssupport
2017-03-22 / #74 You can peek to see whether your delay-loaded function loaded successfully (18 comments) / code
2017-03-23 / #75 Responses to various ideas on how to get people to stop using that leaked build (12 comments) / other
2017-03-24 / #76 When you submit a security vulnerability report, we go the extra mile and try to fix your typos (6 comments) / other
2017-03-27 / #77 How real-mode Windows loaded code from the disk, and how you could use that to minimize disk swapping (18 comments) / history
2017-03-28 / #78 Explorer is a single-instance application, but you can find other ways to get the effect of running a separate instance (23 comments) / tipssupport
2017-03-29 / #79 A brief discussion on how best to respond to the end-session messages (25 comments) / code
2017-03-30 / #80 The gradual erosion of the SEM_NOOPENFILEERRORBOX error mode (6 comments) / code;history
2017-03-30 / #81 For sale: One TARDIS, working (lights), you must pick up from Vancouver (19 comments) / non-computer
2017-03-31 / #82 A survey of the various ways of creating GDI bitmaps with predefined data (24 comments) / code
2017-04-03 / #83 How do I create a shortcut in the Send To menu that runs a program with a command line option? (16 comments) / tipssupport
2017-04-04 / #84 Microspeak: snap (11 comments) / other
2017-04-05 / #85 How do I programmatically obtain the user’s selected accent color in Windows 10? (20 comments) / code
2017-04-06 / #86 What can I do if I want to throw a C++ exception from my InitOnce callback? (5 comments) / code
2017-04-07 / #87 If I have a thread waiting on an event, and I call SetEvent immediately followed by ResetEvent, is the waiting thread guaranteed to be released? (9 comments) / code
2017-04-10 / #88 When I enable page heap, why is my one-byte buffer overrun not detected immediately? (19 comments) / code
2017-04-11 / #89 The Windows 8 close gestures, a retrospective (29 comments) / tipssupport
2017-04-12 / #90 How do I get the current directory for a non-current drive? (43 comments) / code
2017-04-13 / #91 Can memcpy go into an infinite loop? Why is it being blamed for a busy hang? (18 comments) / code
2017-04-14 / #92 How can I atomically leave a critical section and delete it? (7 comments) / code
2017-04-17 / #93 Why does my __FILE__ macro produce an invalid address, which mysteriously becomes valid a few moments later? (7 comments) / code
2017-04-18 / #94 That time a customer reported an error in the map used by Flight Simulator (42 comments) / history
2017-04-19 / #95 Under what conditions could a commit of reserved memory fail? (4 comments) / code
2017-04-20 / #96 On generating sentinel pointer values in Windows (31 comments) / code
2017-04-21 / #97 Application crash reported as security vulnerability, but you never crossed the airtight hatchway (4 comments) / other
2017-04-24 / #98 Filtering the Browse for Folder dialog so it shows only drive letters (16 comments) / code
2017-04-25 / #99 How do I kill a program that hung with an always-on-top fullscreen window? (38 comments) / tipssupport
2017-04-26 / #100 Why are there two incompatible ways of specifying a serial port baud rate? (24 comments) / code
2017-04-27 / #101 Static hooking through predefinition (9 comments) / code
2017-04-28 / #102 Why does the compiler generate memory operations on the full variable even though only one byte is involved? (5 comments) / code
2017-05-01 / #103 Why doesn’t SHGetFileInfo give me customized folder icons? (9 comments) / code
2017-05-01 / #104 Those blue boxes all over the place, I always wondered what they were for (47 comments) / non-computer
2017-05-02 / #105 Microspeak: Work-back (6 comments) / microspeak;other
2017-05-03 / #106 Why don’t I get thumbnails for files that are marked offline? (12 comments) / code
2017-05-04 / #107 The interaction between AppBars and Windows 10 virtual desktops (15 comments) / code
2017-05-05 / #108 Remember that in a stack trace, the addresses are return addresses, not call addresses (19 comments) / code
2017-05-08 / #109 Couldn’t we fix the lackey catastrophe by using #pragma init_seg(user)? (9 comments) / code
2017-05-09 / #110 The early Windows phone devices were liquid-cooled, sort of (15 comments) / history
2017-05-10 / #111 Revised notes on the reliability of FlushFileBuffers (10 comments) / code
2017-05-11 / #112 How to calculate the resulting security descriptor of a child object without creating it (3 comments) / code
2017-05-12 / #113 A question about avoiding page faults the first time newly-allocated memory is accessed (15 comments) / code
2017-05-15 / #114 At least it wasn’t on a Web page with the warning “Beware of the leopard” (28 comments) / non-computer
2017-05-16 / #115 There’s a group policy for Action Center, and another one for Action Center (18 comments) / tipssupport
2017-05-17 / #116 Why do my PDF file associations get reset every time I restart? (64 comments) / other
2017-05-18 / #117 Why is the !locks command called !locks even though it debugs only critical sections? (10 comments) / history
2017-05-19 / #118 Debugging a GDI resource leak: Case study (5 comments) / code
2017-05-22 / #119 Why doesn’t searching my Start menu with Cortana find Internet shortcuts in my All Programs list? (53 comments) / tipssupport
2017-05-23 / #120 What do these hard drive icons mean? (19 comments) / tipssupport
2017-05-24 / #121 Some questions about unflushed data and calling FlushFileBuffers on a new handle to a file (11 comments) / code
2017-05-25 / #122 Diagnosing why you cannot create a stable subkey under a volatile parent key (3 comments) / code
2017-05-26 / #123 Why are hidden files with a leading tilde treated as super-hidden? (15 comments) / tipssupport
2017-05-29 / #124 Does DebugBreak work to launch the debugger, or doesn’t it? (19 comments) / code
2017-05-30 / #125 Why isn’t the original window order always preserved when you undo an Aero Shake? (25 comments) / code
2017-05-31 / #126 Extending our critical section based on WaitOnAddress to support timeouts (0 comments) / code
2017-06-01 / #127 Comparing WaitOnAddress with futexes (futexi? futexen?) (19 comments) / code
2017-06-02 / #128 How likely is it that a window will receive a WM_NULL message out of the blue? (16 comments) / code
2017-06-05 / #129 How can I register a program to auto-relaunch if it crashes or is terminated? (25 comments) / code
2017-06-06 / #130 Microspeak: ROB and Office Hours (20 comments) / microspeak;other
2017-06-07 / #131 On enabling NX and ASLR for a module after the fact (12 comments) / code
2017-06-08 / #132 What will GetLastError() return after a failed InitOnceExecuteOnce? (4 comments) / code
2017-06-09 / #133 The case of the longjmp from nowhere trying to open a registry key (29 comments) / code
2017-06-12 / #134 Creating a semaphore from WaitOnAddress (7 comments) / code
2017-06-13 / #135 Creating a semaphore with a maximum count from WaitOnAddress (8 comments) / code
2017-06-14 / #136 Creating a manual-reset event from WaitOnAddress (6 comments) / code
2017-06-15 / #137 Creating an automatic-reset event from WaitOnAddress (2 comments) / code
2017-06-16 / #138 Combining the work queue of distinct events, order not important, with an auto-reset event (3 comments) / code
2017-06-16 / #139 Stuff my father-in-law says: On baking bread (14 comments) / non-computer
2017-06-19 / #140 How do I set the initial directory of the File Open dialog to a virtual directory? (9 comments) / code
2017-06-20 / #141 Why is Explorer opted out of Data Execution Prevention and termination on heap corruption, and how effective is the policy to opt it back in? (18 comments) / other
2017-06-21 / #142 Summertime, and the lemonade is easy (23 comments) / other
2017-06-22 / #143 When can GetSecurityInfo API return ERROR_INSUFFICIENT_BUFFER? (18 comments) / code
2017-06-23 / #144 Trying to make the thread pool more responsive to a large queue of long-running work items (22 comments) / code
2017-06-26 / #145 Extracting pages from a PDF document and saving them as separate image files, C# edition (11 comments) / code
2017-06-27 / #146 Extracting pages from a PDF document and saving them as separate image files, JavaScript edition with Promises (10 comments) / code
2017-06-28 / #147 Extracting pages from a PDF document and saving them as separate image files, JavaScript edition with async (7 comments) / code
2017-06-29 / #148 Extracting pages from a PDF document and saving them as separate image files, C++/CX edition with explicit tasks (7 comments) / code
2017-06-30 / #149 Extracting pages from a PDF document and saving them as separate image files, C++/CX edition with co_await (4 comments) / code
2017-06-30 / #150 2017 mid-year link clearance (21 comments) / other
2017-07-03 / #151 Emulating the C# using keyword in C++ (14 comments) / code
2017-07-04 / #152 Urban and suburban camouflage (13 comments) / non-computer
2017-07-05 / #153 How fair are SRW locks, particularly when there are both readers and writers? (4 comments) / code
2017-07-06 / #154 Debugging tip: Use .frame /r to recover nonvolatile registers from the stack frame (1 comment) / code
2017-07-07 / #155 How can I tell whether two paths reside on the same underlying volume, so I can know whether they can be hard-linked? (24 comments) / code
2017-07-10 / #156 On the circular path from RAII to crazy-town back to RAII: Thoughts on emulating C#’s using in C++ (4 comments) / code
2017-07-11 / #157 Microspeak: To stand up (13 comments) / microspeak;other
2017-07-12 / #158 Why is the maximum number of TLS slots 1088? What a strange number. (13 comments) / code
2017-07-13 / #159 Customizing the window handle for item enumeration in IShellItem (4 comments) / code
2017-07-14 / #160 Discussion of how to add UTF-16 support to a library that internally uses UTF-8 (21 comments) / code
2017-07-17 / #161 Revisions to previous discussion of the implementation of anonymous methods in C# (10 comments) / code
2017-07-18 / #162 Why does the assignment operator in C# evaluate left to right instead of right to left? (30 comments) / code
2017-07-19 / #163 Do people write insane code with multiple overlapping side effects with a straight face? (68 comments) / code
2017-07-20 / #164 Crash course in async and await (13 comments) / code
2017-07-21 / #165 The perils of async void (21 comments) / code
2017-07-24 / #166 How can I find out how many threads are active in the CLR thread pool? (18 comments) / code
2017-07-25 / #167 If there is no difference between two options, choose the one that is easier to debug (49 comments) / code
2017-07-26 / #168 Wrapping up 2017’s extended CLR Week-and-a-half with some links to other CLR trivia (16 comments) / code
2017-07-26 / #169 Trip report: Sequim Lavender Festival and the Olympic Game Farm (4 comments) / non-computer
2017-07-27 / #170 How am I supposed to free the memory the system allocates in the SetPrivateObjectSecurity function? (12 comments) / code
2017-07-28 / #171 Can I throw a C++ exception from a structured exception? (20 comments) / code
2017-07-31 / #172 The redirection can come anywhere on the line, so watch out for those spaces (53 comments) / code
2017-08-01 / #173 The redirection can come anywhere on the line, and you can use that to get rid of the spaces (28 comments) / code
2017-08-02 / #174 Why does attempting to echo an undefined environment variable result in the message “ECHO is on”? (25 comments) / code
2017-08-03 / #175 Decomposing file paths (and extracting other information like file size, date and time, and attributes) from a batch file (9 comments) / code
2017-08-04 / #176 Wrapping some other scripting language inside a batch file (33 comments) / code
2017-08-07 / #177 The Alpha AXP, part 1: Initial plunge (40 comments) / other
2017-08-08 / #178 The Alpha AXP, part 2: Integer calculations (11 comments) / other
2017-08-09 / #179 The Alpha AXP, part 3: Integer constants (7 comments) / other
2017-08-10 / #180 The Alpha AXP, part 4: Bit 15. Ugh. Bit 15. (25 comments) / code
2017-08-11 / #181 The Alpha AXP, part 5: Conditional operations and control flow (21 comments) / other
2017-08-14 / #182 The Alpha AXP, part 6: Memory access, basics (7 comments) / other
2017-08-15 / #183 The Alpha AXP, part 7: Memory access, loading unaligned data (11 comments) / other
2017-08-16 / #184 The Alpha AXP, part 8: Memory access, storing bytes and words and unaligned data (29 comments) / code
2017-08-17 / #185 The Alpha AXP, part 9: The memory model and atomic memory operations (13 comments) / code
2017-08-18 / #186 The Alpha AXP, part 10: Atomic updates to byte and word memory units (4 comments) / code
2017-08-21 / #187 The Alpha AXP, part 11: Processor faults (2 comments) / code
2017-08-22 / #188 The Alpha AXP: Part 12: How you detect carry on a processor with no carry? (12 comments) / code
2017-08-23 / #189 The Alpha AXP, part 13: On treating a 64-bit processor as if it were a 32-bit processor (20 comments) / code
2017-08-24 / #190 Yes, that was a horrifically awkward video, but it wasn’t the Windows 95 launch (15 comments) / history
2017-08-25 / #191 The Alpha AXP, part 14: On the strange behavior of writes to the zero register (20 comments) / code
2017-08-28 / #192 The Alpha AXP, part 15: Variadic functions (1 comment) / code
2017-08-29 / #193 The Alpha AXP, part 16: What are the dire consequences of having 32-bit values in non-canonical form? (6 comments) / code
2017-08-30 / #194 The Alpha AXP, part 17: Reconstructing a call stack (13 comments) / code
2017-08-31 / #195 The Alpha AXP, epilogue: A correction about file system compression on the Alpha AXP (17 comments) / code
2017-09-01 / #196 I guess I may as well confess that I wrote the Itanium information in the Debugging Tools for Windows package (16 comments) / history
2017-09-04 / #197 Inadvertently becoming the change you wish to see in the world (24 comments) / non-computer
2017-09-05 / #198 Why did my systems reboot into the Recovery Environment and how do I prevent that from happening in the future? (11 comments) / tipssupport
2017-09-05 / #199 Does anybody know what really happened on August 25, 2017 at the Red Sox/Orioles game? (27 comments) / non-computer
2017-09-06 / #200 Can I enable Large Address Awareness dynamically at runtime? (46 comments) / code
2017-09-07 / #201 What are anonymous structs, and more importantly, how do I tell windows.h to stop using them? (26 comments) / code
2017-09-08 / #202 Nasty gotcha: SetThreadUILanguage cannot be used to restore the thread UI language (6 comments) / code
2017-09-11 / #203 If you configure a program to run in Windows 2000 compatibility mode, then it is also vulnerable to Windows 2000 security issues (25 comments) / code
2017-09-12 / #204 Microspeak: Ripcord (14 comments) / microspeak;other
2017-09-13 / #205 What is the correct way of using the string buffer returned by the WindowsPreallocateStringBuffer function? (13 comments) / code
2017-09-14 / #206 Why is my window unexpectedly becoming topmost? (8 comments) / code
2017-09-15 / #207 How can I diagnose why my FreeLibrary isn’t freeing the library? (7 comments) / code
2017-09-18 / #208 The increasingly complex Kremlinology surrounding Windows (20 comments) / non-computer
2017-09-19 / #209 The NET HELPMSG command will decode Windows error codes, at least the simple ones (23 comments) / tipssupport
2017-09-20 / #210 What is the correct way of using SaveDC and RestoreDC? (6 comments) / code
2017-09-21 / #211 How accurate are the various Windows time-querying functions? (23 comments) / code
2017-09-22 / #212 What does it mean when I get an access violation at a very low address when entering a critical section? (6 comments) / code
2017-09-25 / #213 What happens if I wake a condition variable when nobody is waiting for it? Is the wake saved for the next thread that waits? (6 comments) / code
2017-09-26 / #214 Who implemented the Windows NT blue screen of death? (14 comments) / history
2017-09-27 / #215 How to check if a pointer is in a range of memory (33 comments) / code
2017-09-28 / #216 CancelIoEx can cancel synchronous I/O, which is kind of nice (7 comments) / code
2017-09-29 / #217 Why does my thread handle suddenly go bad? All I did was wait on it! (14 comments) / code
2017-10-02 / #218 How can I detect that my window is on the current virtual desktop? (26 comments) / code
2017-10-03 / #219 Alas, Microsoft Building 109 Conference Room A is no more (9 comments) / history
2017-10-04 / #220 The Resource Compiler’s preprocessor is not the same as the C preprocessor (11 comments) / code
2017-10-04 / #221 Reconciling yucky boys and gross kissing with the occasional dance (25 comments) / non-computer
2017-10-05 / #222 Evaluating the security consequences of an instance of reading past the end of a buffer (29 comments) / other
2017-10-06 / #223 How can I investigate the possibility of a lot of leaked window classes (RegisterClass)? (9 comments) / code
2017-10-09 / #224 Why does NTVDM create empty IO.SYS and MSDOS.SYS files? (23 comments) / history
2017-10-10 / #225 Microspeak: Gardening (27 comments) / microspeak;other
2017-10-11 / #226 How can I specify that my DLL should resolve a DLL dependency from the same directory that the DLL is in? (7 comments) / code
2017-10-12 / #227 Why does my program crash when I throw an exception from an APC? (10 comments) / code
2017-10-13 / #228 Exploring the problem: Create a file that only one process can write to (49 comments) / code
2017-10-16 / #229 Nasty gotcha: Powershell aliases that match commands you might want to run (34 comments) / code
2017-10-17 / #230 When a stopgap solution becomes an undocumented feature some people rely on (16 comments) / history
2017-10-18 / #231 I used WS_EX_COMPOSITED to get rid of my redrawing flicker, but it resulted in sluggish response (18 comments) / code
2017-10-19 / #232 How do I create a shortcut whose target is specified by a relative path? (6 comments) / code
2017-10-20 / #233 On the gradual improvements in how the system deals with the failure to initialize a critical section (18 comments) / code
2017-10-23 / #234 A closer look at the complexity analysis of finding the k’th smallest element in two sorted arrays (14 comments) / code
2017-10-24 / #235 When I use Alt+PrtSc to take a screen shot of a maximized window, why does it capture a few pixels from an adjacent monitor? (36 comments) / tipssupport
2017-10-25 / #236 Why was the Windows 95 precursor project code-named Panther abandoned? (38 comments) / history
2017-10-26 / #237 How do I prevent my registered hotkey from firing repeatedly due to auto-repeat? (5 comments) / code
2017-10-27 / #238 How do I preserve the user’s notification icon preferences for my program after I update it? (11 comments) / code
2017-10-30 / #239 Should I name my file mapping after the file it was created from? (11 comments) / code
2017-10-31 / #240 Why does upgrading my project to Unicode cause Visual Studio to use a different version of the common controls? (26 comments) / code
2017-11-01 / #241 How can I detect that a shell item refers to a virtual folder, or to a file system inside a file? (13 comments) / code
2017-11-02 / #242 What are the dire consequences of accessing the fields of __m128i directly? (9 comments) / code
2017-11-03 / #243 Why are my notification icon customizations lost after six months of disuse? (26 comments) / tipssupport
2017-11-06 / #244 Why did Windows 95 store image list bitmaps four-across instead of as a strict vertical strip? (3 comments) / history
2017-11-07 / #245 Was there a problem with Windows 95-era programs relying on undocumented information disclosure stuff? (50 comments) / history
2017-11-08 / #246 How can I control which parts of the shell namespace the INamespaceWalk::Walk operation will walk into? (6 comments) / code
2017-11-09 / #247 How can I cancel the INamespace­Walk::Walk operation? (9 comments) / code
2017-11-10 / #248 Cancelling the INamespace­Walk::Walk operation a little faster (16 comments) / code
2017-11-13 / #249 On memory allocations larger than 64KB on 16-bit Windows (22 comments) / history
2017-11-14 / #250 Microspeak: FCIB (15 comments) / history;microspeak
2017-11-15 / #251 What happens if you simply return from the thread callback passed to _beginthread and _beginthreadex? (21 comments) / code
2017-11-16 / #252 Why is there no way to add a permission to a page with VirtualProtect instead of replacing it? (12 comments) / code
2017-11-17 / #253 The wrong way of benchmarking the most efficient integer comparison function (43 comments) / code
2017-11-20 / #254 How can I find the installation directory for my UWP application? (19 comments) / code
2017-11-21 / #255 The sad implementation history of COM component categories and why it means you have to click twice to see your newly-installed taskbar toolbar (22 comments) / history;tipssupport
2017-11-22 / #256 What is the documentation for SetParent trying to tell me about synchronizing the UI state? (9 comments) / code
2017-11-23 / #257 Demonstrating what happens when a parent and child window have different UI states (6 comments) / code
2017-11-24 / #258 Getting a parent and child window to have the same UI states (8 comments) / code
2017-11-27 / #259 The TVS_CHECKBOXES style is quirky, which is a polite way of saying that it is crazy (6 comments) / code
2017-11-28 / #260 Beware of the leaked image list when using the TVS_CHECKBOXES style (6 comments) / code
2017-11-29 / #261 Creating tree view check boxes manually: A simple state image list (14 comments) / code
2017-11-30 / #262 Creating tree view check boxes manually: Responding to clicks (3 comments) / code
2017-12-01 / #263 Creating tree view check boxes manually: Themed check boxes (6 comments) / code
2017-12-04 / #264 Tree view check boxes: A sordid history (6 comments) / code
2017-12-05 / #265 Tree view check boxes: The extended check box states (10 comments) / code
2017-12-06 / #266 How can I prevent the keyboard focus rectangle from appearing on a control I created? (4 comments) / code
2017-12-07 / #267 Knowing just enough about debugging IRPs to chase the problem out of the I/O stack (7 comments) / tipssupport
2017-12-08 / #268 How do I respond to the WM_MENUCHAR message? (4 comments) / code
2017-12-11 / #269 Coroutines mean that the thing that looks like a stack variable may not technically be one (8 comments) / code
2017-12-12 / #270 Why not slipstream ZDP fixes into the bits downloaded by the installer rather than being a separate download? (2 comments) / tipssupport
2017-12-13 / #271 Creating double-precision integer multiplication with a quad-precision result from single-precision multiplication with a double-precision result using intrinsics (part 1) (11 comments) / code
2017-12-14 / #272 Creating double-precision integer multiplication with a quad-precision result from single-precision multiplication with a double-precision result using intrinsics (part 2) (2 comments) / code
2017-12-15 / #273 Creating double-precision integer multiplication with a quad-precision result from single-precision multiplication with a double-precision result using intrinsics (part 3) (2 comments) / code
2017-12-18 / #274 What kind of messages can a message-only window receive? (22 comments) / code
2017-12-18 / #275 On the little-documented role of the page-turner (20 comments) / non-computer
2017-12-19 / #276 How does Task Manager categorize processes as App, Background Process, or Windows Process? (18 comments) / tipssupport
2017-12-20 / #277 How do I ShellExecute a file, but with a specific program instead of the default program? (13 comments) / code
2017-12-21 / #278 What’s the difference between VARIANT and VARIANTARG? (2 comments) / code
2017-12-22 / #279 Exposing undefined behavior when trying to port code to another platform (45 comments) / code
2017-12-25 / #280 Time travel is here, at least when it comes to debugging (6 comments) / code
2017-12-26 / #281 Microspeak: over-index (4 comments) / microspeak;non-computer
2017-12-27 / #282 Why do I have to pass a valid page protection value to VirtualAlloc even if it ignores it? (4 comments) / code
2017-12-28 / #283 How does Resource Monitor get information for processes that already terminated? (6 comments) / code
2017-12-29 / #284 2017 year-end link clearance (11 comments) / other

2018


Date Title
2018-01-01 / #0 How do I know that Resource Monitor isn’t just retaining a handle to the terminated process? (29 comments) / code
2018-01-02 / #1 What happens when a huge number of people share a single grocery store loyalty card? (26 comments) / non-computer
2018-01-03 / #2 Why are the module timestamps in Windows 10 so nonsensical? (25 comments) / other;tipssupport
2018-01-04 / #3 How do I get the computer’s serial number? Consuming Windows Runtime classes in desktop apps, part 1: Raw C++ (26 comments) / code
2018-01-05 / #4 How do I get the computer’s serial number? Consuming Windows Runtime classes in desktop apps, part 2: C++/CX (9 comments) / code
2018-01-08 / #5 How do I get the computer’s serial number? Consuming Windows Runtime classes in desktop apps, part 3: C++/WinRT (15 comments) / code
2018-01-09 / #6 How do I get the computer’s serial number? Consuming Windows Runtime classes in desktop apps, part 4: C# (8 comments) / code
2018-01-10 / #7 How do I get the computer’s serial number? Consuming Windows Runtime classes in desktop apps, part 5: PowerShell (17 comments) / code
2018-01-10 / #8 Why is there a semicircular bar at the base of the ORCA card reader? (18 comments) / non-computer
2018-01-11 / #9 What does it mean when the documentation says that you must specify the app in the system’s metadata before you can retrieve Smbios­Information properties? (9 comments) / code
2018-01-12 / #10 Why don’t context menus respect the UI state for keyboard accelerators? (22 comments) / code
2018-01-15 / #11 How do I know that Resource Monitor isnt just retaining a handle to the terminated process? (17 comments) / code
2018-01-16 / #12 As far as the French government is concerned, I am the expert on Windows XP (33 comments) / other
2018-01-17 / #13 Why does HRESULT begin with H when it’s not a handle to anything? (22 comments) / history
2018-01-18 / #14 A helper template function to wait for WaitOnAddress in a loop (6 comments) / code
2018-01-18 / #15 Stuff my father-in-law says: On taking the train (23 comments) / non-computer
2018-01-19 / #16 A helper template function to wait for a Win32 condition variable in a loop (5 comments) / code
2018-01-22 / #17 The history of change-packing tools at Microsoft (so far) (57 comments) / history
2018-01-23 / #18 Microspeak: Impedance mismatch (7 comments) / microspeak;other
2018-01-24 / #19 How can I reserve a range of address space and receive notifications when the program first reads or writes a page in the range? (4 comments) / code
2018-01-25 / #20 How can I reserve a range of address space and create nonzero memory on demand when the program reads or writes a page in the range? (5 comments) / code
2018-01-25 / #21 Like love, taxes make people do the strangest things (29 comments) / non-computer
2018-01-26 / #22 How can I reserve a range of address space and create nonzero memory on demand when the program reads or writes a page in the range, even when multithreading? (7 comments) / code
2018-01-26 / #23 The saga of Heartland vs. The United States Beet Sugar Association (9 comments) / non-computer
2018-01-29 / #24 Well that was a helpful error message (17 comments) / other
2018-01-29 / #25 Microspeak sighting: over-index (6 comments) / microspeak;non-computer
2018-01-30 / #26 Why does hypervisor remain enabled even when Hyper-V is disabled in Windows Features? (11 comments) / tipssupport
2018-01-30 / #27 Communication by hand signals, and other complex coordination problems (7 comments) / non-computer
2018-01-31 / #28 How can I get a signature for a Windows system that will remain unchanged even if the user reinstalls Windows? (12 comments) / code
2018-02-01 / #29 Spurious wake-ups in Win32 condition variables (16 comments) / code
2018-02-02 / #30 The case of the SRWLock violation in a thread pool work item (16 comments) / code
2018-02-05 / #31 // If this happens, I am going to quit and become a barista (30 comments) / other
2018-02-06 / #32 Microspeak: POR (4 comments) / microspeak;other
2018-02-07 / #33 Why does misinterpreting UTF16-LE Unicode text as ANSI tend to show up as just one character? (7 comments) / other
2018-02-08 / #34 What do the output values from CoGetApartmentType mean? (7 comments) / code
2018-02-09 / #35 Optimizing BitBlt by generating code on the fly (24 comments) / history
2018-02-12 / #36 There are no bugs in the I/O manager (17 comments) / history
2018-02-13 / #37 When Windows copies a file, does it ever copy bytes that are in the slack space? (31 comments) / tipssupport
2018-02-14 / #38 What’s the difference between the zero width non-joiner and the zero width space? (23 comments) / other
2018-02-15 / #39 Why are there two kinds of Universal Windows apps, one for Windows 8 and another for Windows 10? (34 comments) / history
2018-02-16 / #40 So what is a Windows “critical process” anyway? (10 comments) / other
2018-02-19 / #41 This is a race the display driver wouldn’t normally expect to lose (11 comments) / history
2018-02-20 / #42 We couldn’t create a new partition or locate an existing one, possible workarounds (26 comments) / tipssupport
2018-02-21 / #43 How can I call freopen but open the file with shared access instead of exclusive access? (10 comments) / code
2018-02-22 / #44 Why does IsPathRelative return FALSE for paths that are drive-relative? (23 comments) / code
2018-02-23 / #45 How do I make sure that my shell extension is at the top of the context menu? (16 comments) / code
2018-02-23 / #46 The 2018/2019 Seattle Symphony subscription season at a glance (3 comments) / non-computer
2018-02-26 / #47 I just met you, and this is crazy, but here’s my callstack. Debug me maybe. (24 comments) / other;the-social-skills-of-a-thermonuclear-device
2018-02-27 / #48 It rather involved being on the other side of this airtight hatchway: Replacing an unsigned writable MSI package (21 comments) / other
2018-02-28 / #49 An amusing story about a practical use of the null garbage collector (15 comments) / history
2018-03-01 / #50 How does Task Manager choose the icon to show for a process? (24 comments) / other
2018-03-02 / #51 If I call GetExitCodeThread for a thread that I know for sure has exited, why does it still say STILL_ACTIVE? (9 comments) / code
2018-03-05 / #52 Inadvertently designing a horrible time and date picker (50 comments) / other
2018-03-06 / #53 Microspeak: The triad, the ad-hoc acronyms that result, and the arithmetic problem 3 × 3 (13 comments) / microspeak;other
2018-03-07 / #54 When MSDN says NULL, is it okay to use nullptr? (21 comments) / code
2018-03-08 / #55 What’s the difference between CreateTimerQueueTimer and SetThreadpoolTimer? (5 comments) / code
2018-03-09 / #56 Why is the daylight saving time cutover time 1 millisecond too soon in some time zones? (26 comments) / other
2018-03-09 / #57 Torsken har ankommet (22 comments) / non-computer
2018-03-12 / #58 Stop cherry-picking, start merging, Part 1: The merge conflict (39 comments) / other
2018-03-13 / #59 Stop cherry-picking, start merging, Part 2: The merge conflict that never happened (but should have) (9 comments) / other
2018-03-14 / #60 Stop cherry-picking, start merging, Part 3: Avoiding problems by creating a new merge base (9 comments) / other
2018-03-15 / #61 Stop cherry-picking, start merging, Part 4: Exploiting the recursive merge algorithm (4 comments) / other
2018-03-16 / #62 Stop cherry-picking, start merging, Part 5: Exploiting the three-way merge (20 comments) / other
2018-03-19 / #63 Stop cherry-picking, start merging, Part 6: Replacing the temporary fix with the permanent fix (8 comments) / other
2018-03-20 / #64 Stop cherry-picking, start merging, Part 7: Preventing a change from leaving a branch (9 comments) / other
2018-03-21 / #65 Stop cherry-picking, start merging, Part 8: How to merge a partial cherry-pick (2 comments) / other
2018-03-22 / #66 Stop cherry-picking, start merging, Part 9: Chasing the commit (2 comments) / other
2018-03-22 / #67 The mystery of the stalker dental hygienist (21 comments) / non-computer
2018-03-23 / #68 Stop cherry-picking, start merging, Part 10: Web-based workflow for VSTS (1 comment) / other
2018-03-23 / #69 Stop cherry-picking, start merging: Index (3 comments) / other
2018-03-26 / #70 What are the odds that two pull requests get completed at the exact same time? (40 comments) / other
2018-03-26 / #71 A rare opportunity to fact-check the “celebrity net worth” sites (6 comments) / non-computer
2018-03-27 / #72 The WMI root node is just a node in the WMI namespace (9 comments) / other
2018-03-28 / #73 When I memcpy a struct into a std::atomic of that struct, why does the result not match? (16 comments) / code
2018-03-29 / #74 What’s up with compare_exchange_weak anyway? (15 comments) / code
2018-03-29 / #75 Geology throwdown: The whisper of the rocks (2 comments) / non-computer
2018-03-30 / #76 How do I choose between the strong and weak versions of compare-exchange? (10 comments) / code
2018-03-30 / #77 Why is it cheaper to fly out of Vancouver for spring break instead of Seattle, while also being cheaper to fly out of Seattle for spring break instead of Vancouver? (11 comments) / non-computer
2018-04-02 / #78 The MIPS R4000, part 1: Introduction (30 comments) / code
2018-04-03 / #79 The MIPS R4000, part 2: 32-bit integer calculations (14 comments) / code
2018-04-04 / #80 The MIPS R4000, part 3: Multiplication, division, and the temperamental HI and LO registers (13 comments) / code
2018-04-05 / #81 The MIPS R4000, part 4: Constants (11 comments) / code
2018-04-06 / #82 The MIPS R4000, part 5: Memory access (aligned) (9 comments) / code
2018-04-09 / #83 The MIPS R4000, part 6: Memory access (unaligned) (3 comments) / code
2018-04-10 / #84 The MIPS R4000, part 7: Memory access (atomic) (6 comments) / code
2018-04-11 / #85 The MIPS R4000, part 8: Control transfer (16 comments) / code
2018-04-12 / #86 The MIPS R4000, part 9: Stupid branch delay slot tricks (13 comments) / code
2018-04-13 / #87 The MIPS R4000, part 10: Trampolines and stubs (8 comments) / code
2018-04-16 / #88 The MIPS R4000, part 11: More on branch delay slots (11 comments) / code
2018-04-17 / #89 The MIPS R4000, part 12: Calling convention (8 comments) / code
2018-04-17 / #90 Whoa, that fitness tracker is a really expensive watch (22 comments) / non-computer
2018-04-18 / #91 The MIPS R4000, part 13: Function prologues and epilogues (4 comments) / code
2018-04-19 / #92 The MIPS R4000, part 14: Common patterns (5 comments) / code
2018-04-20 / #93 The MIPS R4000, part 15: Code walkthrough (9 comments) / code
2018-04-23 / #94 The early history of redundant function pointer casts: MakeProcInstance (10 comments) / history
2018-04-24 / #95 It rather involved being on the other side of this airtight hatchway: Passing invalid parameters from kernel mode to another kernel-mode function corrupts the kernel (who knew?) (22 comments) / other
2018-04-25 / #96 Microspeak: Tented (19 comments) / microspeak;other
2018-04-26 / #97 How can I have my program execute some code only if run from the Visual Studio debugger? (16 comments) / code
2018-04-27 / #98 A cute hidden message in a image to entertain you while you wait (13 comments) / other
2018-04-30 / #99 I don’t know how I managed to be presenting at the same conference as Dona Sarkar (11 comments) / other
2018-04-30 / #100 The seasoned pianist’s guide to musical collaborators (17 comments) / non-computer
2018-05-01 / #101 Windows 10 virtual desktops are a window management feature, not a security feature (42 comments) / tipssupport
2018-05-02 / #102 How to avoid accessing freed memory when canceling a thread pool callback (13 comments) / code
2018-05-03 / #103 Avoiding deadlocks when cancelling a thread pool callback, part 1: External callback data (5 comments) / code
2018-05-04 / #104 Avoiding deadlocks when cancelling a thread pool callback, part 2: Referring back to the containing object (2 comments) / code
2018-05-04 / #105 See you at Build 2018 next week (14 comments) / other
2018-05-07 / #106 After all, it’s called a hotkey, not a hotcharacter (7 comments) / code
2018-05-08 / #107 Microspeak: ZBB, recall class, glide path, and RTM (12 comments) / microspeak;other
2018-05-09 / #108 Why does my shortcut to a nonexistent file end up with spaces changed to underscores? (16 comments) / code
2018-05-10 / #109 On the difficulty of getting pixel-perfect layout in Win32 dialog templates (22 comments) / code
2018-05-11 / #110 Why can’t FindWindowEx find another program’s window by name? (11 comments) / code
2018-05-14 / #111 For a brief period, Windows 95 could run Windows 3.1 in a virtual machine (26 comments) / history
2018-05-15 / #112 Why is Windows Compressed Folders (Zip folders) support stuck at the turn of the century? (85 comments) / history;tipssupport
2018-05-16 / #113 Stupid C++ namespace tricks (14 comments) / code
2018-05-17 / #114 How do I create a SAL annotation for a structure with a variable-length array? (1 comment) / code
2018-05-18 / #115 Misdirected security vulnerability: Malformed file results in memory corruption (17 comments) / other
2018-05-21 / #116 Maintaining Notepad is not a full-time job, but it’s not an empty job either (69 comments) / history
2018-05-22 / #117 Why does the install date and size of a program change roughly two days after I install it, even though no changes were made to the program in the meantime? (31 comments) / tipssupport
2018-05-23 / #118 If you say that your buffer can hold 200 characters, then it had better hold 200 characters (35 comments) / code
2018-05-24 / #119 How do I create a disabled checkbox for a listview item? (2 comments) / code
2018-05-25 / #120 My namespace importing trick imported the same three namespaces into each top-level namespace, yet it worked? (10 comments) / code
2018-05-28 / #121 How are BitBlt raster opcodes calculated? (7 comments) / history
2018-05-29 / #122 How do I get file version information from the command line? (15 comments) / tipssupport
2018-05-29 / #123 The alphabet, in alphabetical order, in various languages (46 comments) / non-computer
2018-05-30 / #124 When you call Open­Thread­Token while impersonating, you have to say who is asking for the thread token (3 comments) / code
2018-05-31 / #125 How can I obtain the heap from which a heap block was allocated? (42 comments) / code
2018-06-01 / #126 How can I write a program that monitors another window for a title change? (0 comments) / code
2018-06-04 / #127 Adventures in application compatibility: Following a detour off a cliff (14 comments) / code
2018-06-05 / #128 Stupid cmd.exe tricks: Changing directories with forward slashes instead of backslashes (31 comments) / tipssupport
2018-06-06 / #129 The unhandled exception filter is the responsibility of the process; don’t change it without permission (12 comments) / code
2018-06-07 / #130 What is this weird constructory syntax C::C()? (19 comments) / code
2018-06-08 / #131 Why does GetServiceDisplayNameA report a larger required buffer size than actually necessary? (32 comments) / code
2018-06-08 / #132 Unusual choice of units: 1.8 billion square millimeters (40 comments) / non-computer
2018-06-11 / #133 Pulling the rug out from under an internet protocol (36 comments) / history
2018-06-11 / #134 Where is the Seattle BoltBus stop? (1 comment) / non-computer
2018-06-12 / #135 Stupid cmd.exe tricks: Entering a directory that doesn’t exist, then immediately leaving (20 comments) / tipssupport
2018-06-13 / #136 Why does the CREATOR_OWNER SID sometimes reset itself to the object’s current owner rather than its original owner? (17 comments) / tipssupport
2018-06-13 / #137 Even though the brand is called One A Day, none of them actually should be taken one a day (22 comments) / non-computer
2018-06-14 / #138 How do I programmatically control the order of my program’s notification icons? (35 comments) / code
2018-06-15 / #139 Is there a problem with Create­Remote­Thread on 64-bit systems? (35 comments) / code
2018-06-18 / #140 Woodworking, the opposite of software development (18 comments) / non-computer
2018-06-19 / #141 Microspeak: knobs (10 comments) / microspeak;other
2018-06-20 / #142 When I intentionally create a stack overflow with SendMessage, why do I sometimes not get a stack overflow? (20 comments) / code
2018-06-21 / #143 What can influence how much stack is consumed when sending a message? (2 comments) / code
2018-06-22 / #144 How I learned to type (38 comments) / non-computer
2018-06-25 / #145 The cost/benefit analysis of comparing before an assignment (23 comments) / code
2018-06-26 / #146 Taking advantage of the asymmetry of offline compression (15 comments) / other
2018-06-27 / #147 Lock free many-producer/single-consumer patterns: A work queue of distinct events, order not important, follow-up question (6 comments) / code
2018-06-28 / #148 How can I detect from the preprocessor what a macro’s definition is? (18 comments) / code
2018-06-29 / #149 2018 mid-year link clearance (9 comments) / other
2018-07-02 / #150 Consider the environment: Do you want a receipt? (31 comments) / non-computer
2018-07-03 / #151 How can I determine why the System process is listening on port 80? (10 comments) / tipssupport
2018-07-03 / #152 Did you happen to lose something in the Amstel River? Say within the past 500 years? (1 comment) / non-computer
2018-07-04 / #153 The Windows Calculator no longer generates tiny errors when calculating the square root of a perfect square (34 comments) / tipssupport
2018-07-05 / #154 How can I detect whether the user is logging off? (20 comments) / code
2018-07-06 / #155 The case of the very large memory blocks of the same size, mostly zero, but whose nonzero bytes follow a pattern (17 comments) / code
2018-07-09 / #156 Stop merging if you need to cherry-pick (14 comments) / other
2018-07-10 / #157 How do I change the password of another user without having to sign in as them? (29 comments) / tipssupport
2018-07-11 / #158 Const methods don’t prevent a method from having side effects (29 comments) / code
2018-07-12 / #159 Why does a non-recursive Read­Directory­ChangesW still report files created inside subdirectories? (11 comments) / code
2018-07-13 / #160 When generating a random password, the result must still be a valid string (20 comments) / code
2018-07-13 / #161 Warning: Ruler is not to scale (27 comments) / non-computer
2018-07-16 / #162 Internal training video on expense reports contains inconsistency: Alert the media! (9 comments) / non-computer
2018-07-17 / #163 What is this vmmem program that is using up all my CPU and memory? (7 comments) / tipssupport
2018-07-18 / #164 Sure I can protect data with CryptProtectData, but how do I remove the ability to decrypt it? (25 comments) / code
2018-07-19 / #165 When is it appropriate to use the current processor number as an optimization hint? (5 comments) / code
2018-07-20 / #166 How can I get the actual window procedure address and not a thunk? (22 comments) / code
2018-07-23 / #167 How do I trigger an EN_UPDATE notification for all of my edit controls when the user’s locale information changes? (7 comments) / code
2018-07-23 / #168 The heavy metal umlaut reaches baked goods (25 comments) / non-computer
2018-07-24 / #169 Pushing the boundaries of cryptography in a security vulnerability report (21 comments) / other
2018-07-25 / #170 Why are my file write operations synchronous, even though I opened the file as FILE_FLAG_OVERLAPPED? (22 comments) / code
2018-07-26 / #171 What happens to custom unhandled exception filters if a debugger is not running? (2 comments) / code
2018-07-27 / #172 Is the Terminate­Thread function synchronous? (30 comments) / code
2018-07-30 / #173 Dark Pattern: Opt-in above the fold, but opt-out below the fold (39 comments) / history
2018-07-31 / #174 Server names: One of the remaining places where IT managers can be a little silly (41 comments) / other
2018-08-01 / #175 Creating an apartment-aware PPL task from nothing (3 comments) / code
2018-08-02 / #176 Creating an awaitable lock for C++ PPL tasks (4 comments) / code
2018-08-03 / #177 Creating an awaitable lock for WinJS and JavaScript Promises (2 comments) / code
2018-08-03 / #178 A puzzle aboard the Anacortes-Sidney ferry: How do the cars get off? (19 comments) / non-computer
2018-08-06 / #179 The PowerPC 600 series, part 1: Introduction (19 comments) / history
2018-08-07 / #180 The PowerPC 600 series, part 2: Condition registers and the integer exception register (5 comments) / history
2018-08-08 / #181 The PowerPC 600 series, part 3: Arithmetic (22 comments) / history
2018-08-09 / #182 The PowerPC 600 series, part 4: Bitwise operations and constants (4 comments) / history
2018-08-10 / #183 The PowerPC 600 series, part 5: Rotates and shifts (12 comments) / history
2018-08-13 / #184 The PowerPC 600 series, part 6: Memory access (3 comments) / history
2018-08-14 / #185 The PowerPC 600 series, part 7: Atomic memory access and cache coherency (6 comments) / history
2018-08-15 / #186 The PowerPC 600 series, part 8: Control transfer (4 comments) / history
2018-08-16 / #187 The PowerPC 600 series, part 9: The table of contents (2 comments) / history
2018-08-17 / #188 The PowerPC 600 series, part 10: Passing parameters, function prologues and epilogues (9 comments) / history
2018-08-20 / #189 The PowerPC 600 series, part 11: Glue routines (12 comments) / history
2018-08-21 / #190 The PowerPC 600 series, part 12: Leaf functions (4 comments) / history
2018-08-22 / #191 The PowerPC 600 series, part 13: Common patterns (2 comments) / history
2018-08-23 / #192 The PowerPC 600 series, part 14: Code walkthrough (9 comments) / history
2018-08-24 / #193 The Windows 95 team were proud slackers (22 comments) / history
2018-08-27 / #194 How do I force the Task Manager window closed whenever it opens? (30 comments) / other
2018-08-28 / #195 The evolution of Windows 8 charms (28 comments) / history
2018-08-29 / #196 Obsolete Microspeak: TDBN and the six-pack (45 comments) / microspeak;other
2018-08-30 / #197 The early history of Windows file attributes, and why there is a gap between System and Directory (24 comments) / history
2018-08-31 / #198 Removing the Terminate­Thread from code that waits for a job object to empty (10 comments) / code
2018-09-03 / #199 That time the Word team hired somebody who never showed up, who turned out to be an important member of the team in spite of not being on it (10 comments) / history
2018-09-04 / #200 Apparently they know more information about me than me, but dare I ask? (14 comments) / non-computer
2018-09-05 / #201 How do I request that my out-of-process COM server run unelevated? (6 comments) / code
2018-09-06 / #202 What does it mean for a window to be Unicode? (5 comments) / code
2018-09-07 / #203 Removing the Terminate­Thread from a DLL that needs to shut down a helper thread at unload (9 comments) / code
2018-09-10 / #204 How can I conditionally compile based on a preprocessor macro value, while ensuring that the macro is correctly spelled? (4 comments) / code
2018-09-11 / #205 Le Chatelier’s principle in action: Notifications (9 comments) / other
2018-09-12 / #206 How do I get the system to run my program in this very special way? (14 comments) / code
2018-09-12 / #207 Anything is a soldering kit if you’re brave enough: The MOnSter 6502 (7 comments) / other
2018-09-13 / #208 Raising the colon off the ground (24 comments) / other
2018-09-14 / #209 Why does the Zune HD have the message “For our Princess” on the inside of the case, and why is she a princess? (1 comment) / history
2018-09-17 / #210 What defines an old-style common dialog? (26 comments) / code
2018-09-17 / #211 A lack of species sensitivity when serving pizza to guests (12 comments) / non-computer
2018-09-18 / #212 Why is Alt+F4 the hotkey for closing a window? Why not Alt+F5 or Alt+F3? (32 comments) / history
2018-09-19 / #213 Why did every Windows 3.0 DLL have an exported function called WEP? (11 comments) / history
2018-09-20 / #214 What do the various regsvr32 exit codes mean? (11 comments) / code
2018-09-21 / #215 Why is regsvr32 exiting with code 3? (0 comments) / tipssupport
2018-09-24 / #216 Why does the compiler turn my conditional loop into an infinite one? (17 comments) / code
2018-09-25 / #217 How do I prevent my program’s temporary documents from appearing in Search? (22 comments) / tipssupport
2018-09-26 / #218 What does the thread parameter to Set­Windows­Hook­Ex actually mean? (0 comments) / code
2018-09-27 / #219 Considering the performance implications of converting recursion to an explicit stack (18 comments) / code
2018-09-27 / #220 Can you wear wallpaper on your feet? You can if it’s a PARTY.BMP! (8 comments) / other
2018-09-28 / #221 The sad history of the C++ throw(…) exception specifier (14 comments) / code
2018-10-01 / #222 Generating a table with vertical text, like I did with the sad history of the C++ throw(…) exception specifier (28 comments) / other
2018-10-02 / #223 All sorts of bad things happen when we disable the Task Scheduler service, is that bad? (53 comments) / tipssupport
2018-10-03 / #224 Practical example of why you need to leave room for German localization (37 comments) / other
2018-10-04 / #225 Can I be sure that turning on automatic generation of short file names will get me short file names? (44 comments) / code
2018-10-05 / #226 How can I use WS_CLIP­CHILDREN and still be able to draw a control with a transparent background? (8 comments) / code
2018-10-08 / #227 When I call Crypt­Protect­Data with the same parameters, why aren’t the results identical? (9 comments) / code
2018-10-09 / #228 The numerology of the sample directory listing in the Windows 95 font selector property sheet page (31 comments) / history
2018-10-10 / #229 Notes on DrawText and tab stops (2 comments) / code
2018-10-11 / #230 How can I include/exclude specific memory blocks in user-mode crash dumps? (8 comments) / code
2018-10-12 / #231 Why doesn’t GetTextExtentPoint return the correct extent for strings containing tabs? (10 comments) / code
2018-10-12 / #232 So, um, what are we looking at? (11 comments) / non-computer
2018-10-15 / #233 How can I programmatically inspect and manipulate a registry hive file without mounting it? (10 comments) / code
2018-10-16 / #234 Why does Windows ask me to pick a program with which to open a file, even when I already specified which program I want to use to open the file? (23 comments) / tipssupport
2018-10-17 / #235 What does the “Ae” stand for in AeDebug? (6 comments) / history
2018-10-18 / #236 After reporting a non-responsive program to Windows Error Reporting, why does the process spawn a suspended child process? (16 comments) / tipssupport
2018-10-19 / #237 File-extending writes are not always synchronous, which is entirely within the contract (4 comments) / code
2018-10-22 / #238 Why does the Entry Point Not Found error dialog sometimes not include the name of the missing entry point? (29 comments) / code
2018-10-23 / #239 Adding a Ctrl+arrow accelerator for moving the trackbar by just one unit, part 1: Initial plunge (5 comments) / code
2018-10-24 / #240 Adding a Ctrl+arrow accelerator for moving the trackbar by just one unit, part 2: Second try (6 comments) / code
2018-10-25 / #241 How do I prevent users from using the mouse to drag the trackbar thumb to positions that aren’t multiples of five? Part 1: Reframe the problem (3 comments) / code
2018-10-26 / #242 How do I prevent users from using the mouse to drag the trackbar thumb to positions that aren’t multiples of five? Part 2: Nudging the thumb position (1 comment) / code
2018-10-29 / #243 The case of the oplock deadlock poppycock (16 comments) / other
2018-10-30 / #244 What happened to the Arial Unicode MS font? (17 comments) / history
2018-10-31 / #245 Dulce et decorum est pro patria party (7 comments) / history
2018-11-01 / #246 If the prototypes of DispatchMessageA and DispatchMessageW are identical, why have both? (0 comments) / code
2018-11-01 / #247 In the state of Washington, you are allowed to turn left on a red light onto a one-way street (23 comments) / non-computer
2018-11-02 / #248 Why does the MonthCalendar control show the wrong week numbers in Romania? (15 comments) / code
2018-11-05 / #249 Sure, you can implement your own cryptographic service provider for a standard algorithm, but why would you? (13 comments) / other
2018-11-06 / #250 Dubious security vulnerability: A program that adds a user to the Administrators group in the usual way (25 comments) / code
2018-11-07 / #251 Using linker segments and __declspec(allocate(…)) to arrange data in a specific order (5 comments) / code
2018-11-08 / #252 Gotchas when using linker sections to arrange data, part 1 (11 comments) / code
2018-11-09 / #253 Gotchas when using linker sections to arrange data, part 2 (5 comments) / code
2018-11-12 / #254 The case of the System process that consumed a lot of CPU (15 comments) / other
2018-11-13 / #255 Saying good-bye to the original Microsoft Redmond campus (13 comments) / other
2018-11-14 / #256 What’s the point of passing a never-signaled event to MsgWaitForMultipleObjects? (6 comments) / code
2018-11-15 / #257 How do I revert a control back to its default theme? (3 comments) / code
2018-11-15 / #258 Songs with every other beat removed, how to make your own! (3 comments) / non-computer
2018-11-16 / #259 Closing the race window between creating a suspended process and putting it in a job (6 comments) / code
2018-11-16 / #260 The Moncler 1 Pierpaolo Piccioli, your high fashion for the elegant parties that take place in a walk-in freezer (11 comments) / non-computer
2018-11-19 / #261 How do I suppress the “Did you mean to switch apps?” warning message from my XAML WebView control? (5 comments) / code
2018-11-20 / #262 For a brief period, the kernel tried to deal with gamma rays corrupting the processor cache (30 comments) / history
2018-11-21 / #263 Trying to allocate the same virtual address in multiple processes (4 comments) / code
2018-11-22 / #264 How can I make a dialog box right-to-left at runtime? (1 comment) / code
2018-11-23 / #265 The default number of threads in an I/O completion port is the number of processors, but is that logical or physical processors? (2 comments) / code
2018-11-23 / #266 If activation of your gift card lasts more than four hours, consult a physician immediately (5 comments) / non-computer
2018-11-26 / #267 What’s up with Code Analysis rule CA2202: Do not dispose objects multiple times? (18 comments) / code
2018-11-27 / #268 Nifty trick: Combining constructor with collection initializer (5 comments) / code
2018-11-28 / #269 What happens if I mutate a string in a p/invoke? (19 comments) / code
2018-11-29 / #270 Taking advantage of the ordering guarantees of the LINQ GroupBy method (8 comments) / code
2018-11-30 / #271 Why does Clipboard.SetData put extra junk in the clipboard data? And how can I get it to stop? (5 comments) / code
2018-12-03 / #272 Choosing error codes based on a really nice #define doesn’t necessarily lead to a readable message to the user (26 comments) / other
2018-12-04 / #273 Why can’t I close windows directly from the Alt+Tab interface in Windows Vista? (25 comments) / history
2018-12-04 / #274 The plural of Nexus is Nexūs, in case you cared (which you almost certainly don’t) (17 comments) / non-computer
2018-12-05 / #275 How can dereferencing the first character of a string take longer when the string is longer? I’m looking only at the first character, which should be constant time (4 comments) / code
2018-12-06 / #276 How is it that WriteProcessMemory succeeds in writing to read-only memory? (4 comments) / code
2018-12-06 / #277 Xformer 10: The Atari 800 emulator has gotten a huge update (4 comments) / other
2018-12-07 / #278 The case of the buffer overflow vulnerability that was neither a buffer overflow nor a vulnerability (6 comments) / other
2018-12-10 / #279 When a customer asks for something unsupported, and they promise not to get upset when it stops working, don’t believe them (16 comments) / other
2018-12-11 / #280 Why doesn’t my lock screen image change after I replace the image file? (11 comments) / tipssupport
2018-12-12 / #281 How can I programmatically wait until the system has finished booting completely before doing my own computations? (20 comments) / code
2018-12-13 / #282 How can I programmatically wait until the taskbar has finished booting completely before I create my notification icon? (5 comments) / code
2018-12-14 / #283 The case of the mysterious LoadLibrary error message after signing in (24 comments) / other
2018-12-17 / #284 Not getting past the title: This is not the bug you’re looking for (13 comments) / other
2018-12-18 / #285 How come Explorer reports higher disk space used on my volume than my third party disk space tool? (15 comments) / tipssupport
2018-12-19 / #286 It rather involved being on the other side of this airtight hatchway: Hanging the loader (7 comments) / other
2018-12-20 / #287 In 16-bit Windows, some per-process data structures were really per-data segment (2 comments) / history
2018-12-21 / #288 On the attempts to resurrect Space Cadet Pinball (43 comments) / history
2018-12-24 / #289 Random internal Windows terminology: IDW, Razzle, and their forgotten partners IDS and Dazzle (0 comments) / other
2018-12-25 / #290 How do I save the results of a file search in Explorer? Not the query itself, but the results (5 comments) / tipssupport
2018-12-26 / #291 Don’t forget: std::pair does lexicographical ordering, so you don’t have to (4 comments) / code
2018-12-27 / #292 SHOpenRegStream does not mix with smart pointers (1 comment) / code
2018-12-28 / #293 The case of the orphaned critical section despite being managed by an RAII type (6 comments) / code
2018-12-31 / #294 2018 year-end link clearance (7 comments) / other

2019


<END OF ARCHIVED CONTENT>


Old New Thing, The: Practical Development Throughout the Evolution of Windows, 1st edition

Published byAddison-Wesley Professional (December 27th 2006) — Copyright © 2007

What’s included

You’ll get a bound printed text.

Overview

«Raymond Chen is the original raconteur of Windows.»

—Scott Hanselman, ComputerZen.com

«Raymond has been at Microsoft for many years and has seen many nuances of Windows that others could only ever hope to get a glimpse of. With this book, Raymond shares his knowledge, experience, and anecdotal stories, allowing all of us to get a better understanding of the operating system that affects millions of people every day. This book has something for everyone, is a casual read, and I highly recommend it!»

—Jeffrey Richter, Author/Consultant, Cofounder of Wintellect

«Very interesting read. Raymond tells the inside story of why Windows is the way it is.»

—Eric Gunnerson, Program Manager, Microsoft Corporation

«Absolutely essential reading for understanding the history of Windows, its intricacies and quirks, and why they came about.»

—Matt Pietrek, MSDN Magazine‘s Under the Hood Columnist

«Raymond Chen has become something of a legend in the software industry, and in this book you’ll discover why. From his high-level reminiscences on the design of the Windows Start button to his low-level discussions of GlobalAlloc that only your inner-geek could love, The Old New Thing is a captivating collection of anecdotes that will help you to truly appreciate the difficulty inherent in designing and writing quality software.»

—Stephen Toub, Technical Editor, MSDN Magazine

Why does Windows work the way it does? Why is Shut Down on the Start menu? (And why is there a Start button, anyway?) How can I tap into the dialog loop? Why does the GetWindowText function behave so strangely? Why are registry files called «hives»?

Many of Windows’ quirks have perfectly logical explanations, rooted in history. Understand them, and you’ll be more productive and a lot less frustrated. Raymond Chen—who’s spent more than a decade on Microsoft’s Windows development team—reveals the «hidden Windows» you need to know.

Chen’s engaging style, deep insight, and thoughtful humor have made him one of the world’s premier technology bloggers. Here he brings together behind-the-scenes explanations, invaluable technical advice, and illuminating anecdotes that bring Windows to life—and help you make the most of it.

A few of the things you’ll find inside:

  • What vending machines can teach you about effective user interfaces
  • A deeper understanding of window and dialog management
  • Why performance optimization can be so counterintuitive
  • A peek at the underbelly of COM objects and the Visual C++ compiler
  • Key details about backwards compatibility—what Windows does and why
  • Windows program security holes most developers don’t know about
  • How to make your program a better Windows citizen

Table of contents

Preface xxiii

Acknowledgments xxvii

About the Author xxix

Chapter One: Initial Forays into User Interface Design

Why do you have to click the Start button to shut down? 1

Why doesn’t Windows have an «expert mode»? 2

The default answer to every dialog box is Cancel 3

The best setting is the one you don’t even sense, but it’s there, and it works the way you expect 6

In order to demonstrate our superior intellect, we will now ask you a question you cannot answer 7

Why doesn’t Setup ask you if you want to keep newer versions of operating system files? 7

Thinking through a feature 9

When do you disable an option, and when do you remove it? 12

When do you put . after a button or menu? 13

User interface design for vending machines 13

User interface design for interior door locks 15

The evolution of mascara in Windows UI 16

Chapter Two: Selected Reminiscences on Windows 95

Why isn’t my time zone highlighted on the world map? 19

Why didn’t Windows 95 boot with more than 1GB of memory? 20

Why did Windows 95 have functions called BEAR, BUNNY, and PIGLET? 22

What about BOZOSLIVEHERE and TABTHETEXTOUTFORWIMPS? 23

What was in the Windows 95 Special Edition box? 25

Windows brings out the Rorschach test in everyone 25

The martial arts logon picture 26

Why a really large dictionary is not a good thing 27

An insight into the Windows 95 startup sound 27

It’s a lot easier to write a column if you don’t care about accuracy 28

Why does the System Properties page round the memory size? 29

Why does my hard drive light flash every few seconds? 29

The hunt for a faster syscall trap 30

One byte used to cost a dollar 31

Each product-support call costs a sale 32

Why isn’t Tweak UI included on the Windows CD? 32

Turns out that you can’t install Windows via xcopy 34

Buying an entire Egghead Software store 35

The history of the Windows PowerToys 35

How did Windows choose its final build numbers? 38

Why doesn’t the build number increment for service packs? 39

Chapter Three: The Secret Life of GetWindowText

How windows manage their text 41

Enter GetWindowText 42

What if I don’t like these rules? 43

Can you give an example where this makes a difference? 44

Why are the rules for GetWindowText so weird? 44

Chapter Four: The Taskbar and Notification Area

Why do some people call the taskbar the «tray»? 47

Why does the taskbar default to the bottom of the screen? 49

Why doesn’t the clock in the taskbar display seconds? 50

Why doesn’t the taskbar show an analog clock? 51

When I dock my taskbar vertically, why does the word «Start» disappear? 52

Why don’t notification icons get a message when the user clicks the «X» button? 52

Chapter Five: Puzzling Interface Issues

What are those little overlay icons? 53

Why are these unwanted files/folders opening when I log on? 54

What do the text label colors mean for files? 56

Why does my advanced options dialog say ON and OFF after every option? 57

What determines the order in which icons appear in the Alt+Tab list? 58

Why is the read-only property for folders so strange? 59

What’s with those blank taskbar buttons that go away when I click on them? 59

What is the difference between Minimize All and Show Desktop? 60 What does boldface on a menu mean? 62

Where do those customized Web site icons come from? 62

Where did my task manager tabs and buttons go? 63

Will dragging a file result in a move or a copy? 64

Why does the Links folder keep re-creating itself? 65

Why are documents printed out of order when you multiselect and choose Print? 66

Raymond spends the day doing product support 67

Blow the dust out of the connector 68

How much is that gigabyte in the window? 69

Why can’t I remove the «For test/evaluation purposes only» tag? 70

Chapter Six: A History of the GlobalAlloc Function

The early years 71

Transitioning to Win32 75

A peek at the implementation 76

Chapter Seven: Short Topics in Windows Programming

The scratch program 79

Getting a custom right-click menu for the caption icon 85

What’s the difference between CreateMenu and CreatePopupMenu? 86

When does the window manager destroy menus automatically? 88

Painting only when your window is visible onscreen 89

Determining whether your window is covered 93

Using bitmap brushes for tiling effects 95

What is the DC brush good for? 98

Using ExtTextOut to draw solid rectangles 100

Using StretchBlt to draw solid rectangles 102

Displaying a string without those ugly boxes 103

Semaphores don’t have owners 110

An auto-reset event is just a stupid semaphore 112

Chapter Eight: Window Management

Why do I get spurious WM_MOUSEMOVE messages? 115

Why is there no WM_MOUSEENTER message? 118

The white flash 118

What is the hollow brush for? 119

What’s so special about the desktop window? 120

The correct order for disabling and enabling windows 121

A subtlety in restoring the previous window position 122

UI-modality versus code-modality 123

The WM_QUIT message and modality 126

The importance of setting the correct owner for modal UI 129

Interacting with a program that has gone modal 132

A timed MessageBox, the cheap version 133

The scratch window 135

The bonus window bytes at GWLP_USERDATA 136

A timed MessageBox, the better version 136

A timed context menu 138

Why does my window receive messages after it has been destroyed? 139

Chapter Nine: Reminiscences on Hardware

Hardware backward compatibility 141

The ghost CD-ROM drives 142

The Microsoft corporate network: 1.7 times worse than hell 143

When vendors insult themselves 144

Defrauding the WHQL driver certification process 145

A twenty-foot-long computer 146

The USB cart of death 147

New device detected: Boeing 747 147

There’s an awful lot of overclocking out there 148

Chapter Ten: The Inner Workings of the Dialog Manager

On the dialog procedure 151

The evolution of dialog templates 163

Why dialog templates, anyway? 196

How dialogs are created 197

The modal dialog loop 204

Nested dialogs and DS_CONTROL 216

Why do we need a dialog loop, anyway? 224

Why do dialog editors start assigning control IDs with 100? 225

What happens inside DefDlgProc? 226

Never leave focus on a disabled control 228

What happens inside IsDialogMessage? 229

Why is the X button disabled on my message box? 237

Chapter Eleven: General Software Issues

Why daylight saving time is nonintuitive 239

Why do timestamps change when I copy files to a floppy? 241

Don’t trust the return address 242

Writing a sort comparison function 243

You can read a contract from the other side 245

The battle between pragmatism and purity 249

Optimization is often counterintuitive 250

On a server, paging = death 253

Don’t save anything you can recalculate 254

Performance gains at the cost of other components 255

Performances consequences of polling 257

The poor man’s way of identifying memory leaks 258

A cache with a bad policy is another name for a memory leak 259

Chapter Twelve: Digging into the Visual C++ Compiler

Do you know when your destructors run? 267

The layout of a COM object 272

Adjustor thunks 274

Pointers to member functions are very strange animals 276

What is __purecall? 280

Chapter Thirteen: Backward Compatibility

Sometimes an app just wants to crash 283

When programs grovel into undocumented structures 284

Why not just block the applications that rely on undocumented behavior? 286

Why 16-bit DOS and Windows are still with us 288

What’s the deal with those reserved filenames such as NUL and CON? 290

Why is a drive letter permitted in front of UNC paths (sometimes)? 292

Do not underestimate the power of the game Deer Hunter 293

Sometimes the bug isn’t apparent until late in the game 293

The long and sad story of the Shell Folders key 294

The importance of error code backward compatibility 297

Sure, we do that 298

When programs patch the operating system and mess up 299

The compatibility constraints of even your internal bookkeeping 300

Why does Windows keep your BIOS clock on local time? 301

Bad version number checks 302

The ways people mess up IUnknown::QueryInterface 303

When programs assume that the system will never change, Episode 1 305

When programs assume that the system will never change, Episode 2 306

The decoy Display Control Panel 308

The decoy visual style 309

Chapter Fourteen: Etymology and History

What do the letters W and L stand for in WPARAM and LPARAM? 311

Why was nine the maximum number of monitors in Windows 98? 312

Why is a registry file called a hive? 312

The management of memory for resources in 16-bit Windows 312

What is the difference between HINSTANCE and HMODULE? 313

What was the purpose of the hPrevInstance parameter to WinMain? 316

Why is the GlobalWire function called GlobalWire? 317

What was the difference between LocalAlloc and GlobalAlloc? 318

What was the point of the GMEM_SHARE flag? 320

Why do I sometimes see redundant casts before casting to LPARAM? 321

Why do the names of the registry functions randomly end in Ex? 322

What’s the difference between SHGetMalloc, SHAlloc, CoGetMalloc, and CoTaskMemAlloc? 324

Why is Windows Error Reporting nicknamed Dr. Watson? 329

What happened to DirectX 4? 330

Why are HANDLE return values so inconsistent? 331

Why do text files end in Ctrl+Z? 333

Why is the line terminator CR+LF? 334

TEXT vs. _TEXT vs. _T, and UNICODE vs. _UNICODE 335

Why are dialog boxes initially created hidden? 335

When you change the insides, nobody notices 336

If FlushInstructionCache doesn’t do anything, why do you have to call it? 337

If InitCommonControls doesn’t do anything, why do you have to call it? 338

Why did InterlockedIncrement/Decrement only return the sign of the result? 339

Why does the function WSASetLastError exist? 340

Why are there broadcast-based mechanisms in Windows? 340

Where did windows minimize to before the taskbar was invented? 341

Why didn’t the desktop window shrink to exclude the taskbar? 343

Why does the caret stop blinking when I tap the Alt key? 343

What is the deal with the ES_OEMCONVERT flag? 345

The story behind file system tunneling 346

Why do NTFS and Explorer disagree on filename sorting? 347

The Date/Time Control Panel is not a calendar 350

How did Windows 95 rebase DLLs? 351

What are SYSTEM_FONT and DEFAULT_GUI_FONT? 353

Why do up-down controls have the arrows backward? 354

A ticket to the Windows 95 launch 355

Chapter Fifteen: How Window Messages Are Delivered and Retrieved

Sent and posted messages 358

The life of a sent message 363

The life of a posted message 364

Generated posted messages 365

When does SendMessageCallback call you back? 368

What happens in SendMessageTimeout when a message times out? 369

Applying what you’ve learned to some message processing myths 370

How can you tell who sent or posted you a message? 371

You can’t simulate keyboard input with PostMessage 371

Chapter Sixteen: International Programming

Case mapping on Unicode is hard 373

An anecdote about improper case mapping 374

Why you can’t rotate text 375

What are these directories called 0409 and 1033? 379

Keep your eye on the code page 379

Why is the default 8-bit codepage called «ANSI»? 388

Why is the default console codepage called «OEM»? 388

Why is the OEM code page often called ANSI? 389

Logical but perhaps surprising consequences of converting between Unicode and ANSI 391

Chapter Seventeen: Security

World-writable files 393

Hiding files from Explorer 394

Stealing passwords 395

Silent install of uncertified drivers 396

Your debugging code can be a security hole 397

Why shared sections are a security hole 398

Internet Explorer’s Enhanced Security Configuration doesn’t trust the intranet 402

Chapter Eighteen: Windows 2000 and Windows XP

Why doesn’t the new Start menu use Intellimenus in the All Programs list? 403

Why is there no programmatic access to the Start menu pin list? 404

Why does Windows XP Service Pack 2 sometimes forget my CD autoplay settings? 406

The unsafe device removal dialog 407

Two brief reminiscences on the Windows XP Comments? button 408

Why does Explorer eject the CD after you finish burning it? 408

Why does Windows setup lay down a new boot sector? 409

Psychic debugging: Why your expensive four-processor machine is ignoring three of its processors 410

Psychic debugging: Why your CPU usage is hovering at 50% 411

What’s the deal with the DS_SHELLFONT flag? 412

Why does DS_SHELLFONT = DS_FIXEDSYS | DS_SETFONT? 413

What other effects does DS_SHELLFONT have on property sheet pages? 414

Chapter Nineteen: Win32 Design Issues

Why does Win32 fail a module load if an import could not be resolved? 417

Why are structure sizes checked strictly? 418

Why do I have to return this goofy value for WM_DEVICECHANGE? 421

The arms race between programs and users 422

Why can’t you trap TerminateProcess? 424

Why do some processes stay in Task Manager after they’ve been killed? 424

Understanding the consequences of WAIT_ABANDONED 425

Why can’t I put hyperlinks in notification icon balloon tips? 427

Why can’t I use the same tree item multiple times? 429

The kooky STRRET structure 429

Why can’t you set UTF-8 as your ANSI code page? 431

When should you use a sunken client area? 432

Why is there no all-encompassing superset version of Windows? 433

Why is it even possible to disable the desktop, anyway? 433

What are the window and menu nesting limits? 435

What’s the difference between HWND_TOP and HWND_TOPMOST? 435

Chapter Twenty: Taxes

Hierarchical Storage Management 438

Remote Desktop Connection and Painting 440

Fast User Switching and Terminal Services 443

Multiple users 444 Roaming user profiles 445

Redirected folders 447

My Documents vs. Application Data 450

Large address spaces 451

Power management and detecting battery power 455

Intermittent network connectivity 457

Anti-aliased fonts and ClearType 459

High DPI displays 462

Multiple monitors 467

Displaying your pop-up windows in the right place 471

Chapter Twenty-One: Silliness

The much-misunderstood «nop» action 481

Don’t let Marketing mess with your slides 482

Whimsical bug reports 482

Watch out for those sample URLs 483

No code is an island 484

But I have Visual Basic Professional 485

It’s all about the translucent plastic 485

My first death threat 486

You can’t escape those AOL CDs 487

Giving fair warning before plugging in your computer 487

Spider Solitaire unseats the reigning champion 488

There’s something about Rat Poker 489

Be careful what you name your product group 490

The psychology of naming your internal distribution lists 490

Differences between managers and programmers 491

Using floppy disks as semaphore tokens 492

When a token changes its meaning midstream 492

Whimsical embarrassment as a gentle form of reprimand 493

Using a physical object as a reminder 494

The office disco party 495

The Halloween-themed lobby 495

Index 497

For teachers

All the material you need to teach your courses.

Источник

Inside C++/WinRT: Coroutine completions: Cancellation propagation


February 3, 2023


Feb 3, 2023


02/3/23


Raymond Chen

Giving up.

Hyperlinking to Hutchison Whampoa Limited is still forbidden


February 2, 2023


Feb 2, 2023


02/2/23


Raymond Chen

Didn’t make you look.

Inside C++/WinRT: Coroutine completions: Avoiding reentrant completion


February 2, 2023


Feb 2, 2023


02/2/23


Raymond Chen

Resuming the coroutine directly, rather than consuming yet more stack.

Inside C++/WinRT: Coroutine completion handlers: Disconnection


February 1, 2023


Feb 1, 2023


02/1/23


Raymond Chen

When the other end hangs up without even saying good-bye.

Inside C++/WinRT: Apartment switching: Error reporting


January 31, 2023


Jan 31, 2023


01/31/23


Raymond Chen

If you can’t get back to where you started, who you gonna call?

Inside C++/WinRT: Apartment switching: COM without COM


January 30, 2023


Jan 30, 2023


01/30/23


Raymond Chen

Also known as Nano-COM.

Inside C++/WinRT: Apartment switching: Unwinding the stack


January 27, 2023


Jan 27, 2023


01/27/23


Raymond Chen

Reducing stack usage.

Inside C++/WinRT: Apartment switching: Bypassing the context callback


January 26, 2023


Jan 26, 2023


01/26/23


Raymond Chen

Reducing stack usage.

Inside C++/WinRT: Apartment switching: Unblocking the outgoing thread


January 25, 2023


Jan 25, 2023


01/25/23


Raymond Chen

Avoiding the problem of the synchronous apartment-changing callback: Let the outgoing thread do whatever it wants to do next.

Inside C++/WinRT: Apartment switching: The basic idea


January 24, 2023


Jan 24, 2023


01/24/23


Raymond Chen

Getting back to where you started.

Like this post? Please share to your friends:
  • The ntvdm has encountered an illegal instruction windows 7
  • The neverhood тормозит видео на windows 10
  • The neverhood скачать торрент windows 10
  • The net developers guide to windows security
  • The need for speed 1994 windows 10