The Curious Engineer

The Old New Thing

2006–2008

1,320 posts

← 2003–2005 2009–2012 →

2008 431

December 2008

  1. 2008 year-end link clearance
  2. Sorry, I don’t get calls on this phone often
  3. Crazy or cell phone?
  4. Every crash is a potential security vulnerability
  5. Undecorating names to see why a function can’t be found
  6. Why are all computers shown with a Printers folder even if printer sharing is disabled?
  7. Then again, sometimes the improvement is merely incremental
  8. Foiled by my withered hand
  9. Misheard lyrics as applied to Christmas songs
  10. Why isn’t there a SendThreadMessage function?
  11. The Fargo campus responds to Redmond’s December 2008 storm conditions
  12. 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
  13. What is the mysterious fourth message box button?
  14. How do I obtain the computer manufacturer’s name?
  15. How to create a Zune podcast from an audiobook or other files you already have
  16. The worms go in, the worms go out
  17. Microspeak: Suited and booted
  18. Today, we use a GPS to locate Baby Jesus
  19. Why does the Explorer address bar reset itself while you’re typing into it?
  20. PDC 2008 notes: The aftermath
  21. Being lucky may be a matter of observing things you weren’t planning to observe
  22. The Washington 2008 unclaimed property auction
  23. Don’t use global state to manage a local problem
  24. A bar on Microsoft main campus? What should we call it?
  25. How do I change the directory Windows uses for user profiles?
  26. The role of vitamin D in beta cell function: The dance
  27. Email tip: If you want people to look at a screen shot, you have to tell them what they’re looking at
  28. A file can go by multiple names, but two files can’t have the same name
  29. Thrift stores drowning in Christmas impulse gifts from yesteryear
  30. Why are the generic version numbers called NTDDI?
  31. Neuroscience can be used for good or for evil; this one might fall in the evil bucket
  32. When you start getting in-page errors on your hard drive, it’s time to go shopping for a new hard drive
  33. The struggle against those annoying plastic packages gains a few allies
  34. High Contrast Mode is not the same as High Contrast Scheme
  35. That guy in the neighborhood who has way too many Christmas lights
  36. Raymond’s technique for getting people to leave a meeting room when their meeting runs over
  37. Oh, I feel so bad for those poor Wall Street folks who have to have a normal party instead of a ridiculously lavish one
  38. Don’t be helpless: You can find information too, if you try (episode 2)

November 2008

  1. The Ballard Locks will be empty this week
  2. Just because a method is called Refresh doesn’t mean that it refreshes what you want
  3. Welcome to the 2008 holiday shopping season
  4. Not my finest hour: Getting instructions on doing something I’ve already done
  5. The cost-benefit analysis of bitfields for a collection of booleans
  6. Yes, I filed an expense report for a hair dryer, why do you ask?
  7. When you’re walking around a city, you usually forget to look up
  8. Consequences of the Explorer view model: If you create a view, then you succeeded, even if you’d rather fail
  9. Rachmaninov had big hands: An illustration
  10. The great thing about priorities is that you can always go one higher
  11. If everything is top priority, then nothing is top priority
  12. Adventures in product testing: This phone’s so hot, it’ll set your head on fire
  13. If you wait long enough, everything is our top priority
  14. Is second-hand advice better than no advice at all?
  15. You’d think this sort of disclaimer on children’s modeling clay would not be necessary
  16. Why bother with RegisterWaitForSingleObject when you have MsgWaitForMultipleObjects?
  17. 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
  18. Rearranging the cities into a much more visually pleasing arrangement
  19. Why is the maximum boot.ini delay 11 million seconds?
  20. Doesn’t matter what your marketing technique is for your compiler if nobody actually writes code in your language any more
  21. Now it’s like people buy sneakers to make money out of them
  22. You can’t fight in here; this is the War Room!
  23. What do these topics have in common?
  24. How slow do you have to slow-double-click for it to be a rename?
  25. What I don’t get about bank robbers
  26. Self-esteem gone overboard: The perils of a global namespace
  27. What seventh grade students want to be when they grow up, an analysis
  28. Does version 6 of the common controls support ANSI or not?
  29. Microspeak: Represent
  30. Quite possibly my last in-person ballot for a long time
  31. How did Spicy Hot V-8 vegetable juice get added to the complimentary beverages in Microsoft kitchens?
  32. Sensor development kits were flying off the shelves
  33. If there’s already a bug, it’s not surprising that there’s a possibility for error

October 2008

  1. Stick to the normal candy and nobody gets hurt
  2. Working with ambiguous and invalid points in time in managed code
  3. Dude, the admission bracelet goes around your wrist
  4. If you’re going to reformat source code, please don’t do anything else at the same time
  5. PDC 2008 notes: How to get to room 406A, and other notes
  6. Why does my Run dialog say that tasks will created with administrative privileges?
  7. Typo patrol at the 2008 PDC
  8. To climb the corporate ladder you’ll need some rope, but rope has many purposes
  9. Ah, local Los Angeles television news, how I miss thee
  10. 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
  11. Man, this housing downturn is hitting everyone
  12. Sucking the trap frame out of a kernel mode stack trace
  13. Strange things happen when you let people choose their own name, part 3
  14. Strange things happen when you let people choose their own name, part 2
  15. Strange things happen when you let people choose their own name, part 1
  16. Off-Roading The Old New Thing
  17. Why can’t you thunk between 32-bit and 64-bit Windows?
  18. The cult of PowerPoint, episode 2
  19. Psychic debugging: Why your thread is spending all its time processing meaningless thread timers
  20. Possessed: A documentary about hoarding
  21. Disable your wireless network card to speed up VPN’ing
  22. Why does Task Manager let me kill critical system processes?
  23. Why does killing Winlogon take down the entire system?
  24. How do I suppress the CapsLock warning on password edit controls?
  25. How can I increase the number of files I can open at a time?
  26. Why does the Disk Management snap-in report my volume as Healthy when the drive is dying?
  27. Microspeak: Teaming
  28. Eventually, nothing is special any more
  29. Stories of crossing into Canada: The wedding
  30. Acquire and release sound like bass fishing terms, but they also apply to memory models
  31. The dangers of setting your double-click speed too short
  32. An artist’s conception of the new citizenship test
  33. Why do maximized windows lose their title bar translucency?

September 2008

  1. 2008 Q3 link clearance: Microsoft blogger edition
  2. When computer programmers dabble in economics: Buying prepaid lunch vouchers
  3. Meet the authors: Mario Hewardt and Daniel Pravat, authors of Advanced Windows Debugging
  4. Anybody can make up a generic mapping
  5. ERRORLEVEL is not %ERRORLEVEL%
  6. The description of my 2008 PDC talk is wrong
  7. 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
  8. When attending a training session on how not to mess up your life, try not to mess up your life
  9. How do I change the size of my desktop icons?
  10. Microspeak: Space delivery
  11. News flash: Doing something that requires your attention reduces your ability to do other things at the same time which also require your attention
  12. I’ve seen why people steal the foreground window for their dialog box
  13. Steamy coffee leaves grounds for concern
  14. How can I tell that a directory is weird and should be excluded from the user interface?
  15. How can I tell that a directory is really a recycle bin?
  16. Well at least that’s one fewer program that relies on window handles being even numbers
  17. The purpose of charts is normally to make information easier, not harder, to understand
  18. I no longer have to remind the payroll department to gear up for annual raises
  19. The terms of service you have to accept before you can see them
  20. Who is responsible for destroying the font passed in the WM_SETFONT message?
  21. For a place that’s supposed to be full of doctors, they sure don’t look like doctors
  22. Suggestion Box 3, short answers (part 2 of who knows how many)
  23. And now, your moment of reflection
  24. What were ShellExecute hooks designed for?
  25. If you use an absurd signature, I might end up sending it back to you
  26. I’ll see (some of) you in Los Angeles, but this time it’ll be October
  27. QueryPerformanceCounter counts elapsed time, not CPU cycles
  28. Tales from the interview: Anticipating your own incompetence is not a good interview strategy
  29. Tales from the interview: Lunch is not a competition, episode 2
  30. Tales from the interview: Lunch is not a competition
  31. Tales from the interview: Can you rotate this two-dimensional array?
  32. It helps if you write a cover letter and remember the name of your interviewer
  33. How do I convert an error code to text when FORMAT_MESSAGE_FROM_SYSTEM doesn’t work?

August 2008

  1. What possible use are those extra bits in kernel handles? Part 3: New object types
  2. The stroke-count-based sort isn’t random, although it looks that way if you only see it in translation
  3. What possible use are those extra bits in kernel handles? Part 2: Overcoming limited expressiveness
  4. What does each country claim for its own?, greatest hits
  5. What possible use are those extra bits in kernel handles? Part 1: Sentinels
  6. DHS: The Television Series – the next chapter
  7. Microspeak: Pencils down
  8. Wedding + two-year-old flower girl = wildcard
  9. Why was the RAM drive removed from Windows 95?
  10. Keeping a visit a surprise after people have already guessed that you’re coming
  11. Destroying the module and resource information associated with an icon
  12. Oh no, there’s fog in San Francisco!
  13. Why does Explorer generate a page fault every two seconds?
  14. When somebody says a game is like chess, it is usually completely unlike chess
  15. Icons and cursors know where they came from
  16. It’s not Christmas: Nobody enjoys unwrapping your present
  17. As a courtesy to performers and other audience members, please turn off blinking head-mounted devices
  18. What happened to the Search option on the right hand side of the Start menu?
  19. The Seattle Danskin Women’s Triathlon 2008
  20. The implementation of iterators in C# and its consequences (part 4)
  21. The gradual erosion of the car trip experience
  22. The implementation of iterators in C# and its consequences (part 3)
  23. The implementation of iterators in C# and its consequences (part 2)
  24. The unwritten rule of riding a Seattle Metro bus
  25. The implementation of iterators in C# and its consequences (part 1)
  26. Psychic debugging: Why can’t StreamReader read apostrophes from a text file?
  27. Supplementary reading on the subject of anonymous functions and other CLR topics
  28. Raymond rewrites newspaper headlines
  29. If you return FALSE from DLL_PROCESS_ATTACH, will you get a DLL_PROCESS_DETACH?
  30. 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
  31. For that, you’ll have to call security
  32. The caret serves as the continuation character for batch files
  33. What’s with this MSH_MOUSEWHEEL message?
  34. AOL is moving closer to jettisoning dial-up, except for one person
  35. Microspeak: The long pole
  36. Why, when you sort by name, doesn’t it actually sort by name?
  37. I warned you: The dangers of attaching input queues

July 2008

  1. Don’t be helpless: You can put things together, it doesn’t have to be a single command
  2. What does each country claim for its own?
  3. When I double-click an Excel spreadsheet, Excel opens but the document doesn’t
  4. The sign that a trend is over: It shows up in a movie
  5. Be careful what you name your mailing list
  6. How can SIGINT be safely delivered on the main thread?
  7. Why seventh grade students want to go to weddings
  8. Simulating a drop, part two
  9. Reading a contract from the other side: Simulating a drop
  10. Things other people have written that have amused me
  11. Theorize if you want, but if the problem is right there in front of you, why not go for the facts?
  12. The Microsoft Company Picnic has as a side effect a demonstration of Microsoft’s rich cultural diversity
  13. Windows could not properly load the XYZ keyboard layout
  14. A modest proposal: Getting people to stop buying SUVs
  15. MessageBoxIndirect loads the icon itself; you can’t hand it a pre-loaded icon
  16. Dr. Horrible’s Sing-Along Blog, available online for a short time only
  17. A new record for the shortest amount of time between an email message and its resend
  18. The best building name on the University of Washington campus
  19. Microspeak: Well, actually management-speak
  20. News flash: Online drug sales are shady!
  21. The evolution of menu templates: 32-bit extended menus
  22. The evolution of menu templates: 16-bit extended menus
  23. When companies make it hard for you to pay money they are owed
  24. Why does the “Install Font” dialog look so old-school?
  25. Crazy ideas at the lunch table: The ice cream bicycle
  26. The evolution of menu templates: 32-bit classic menus
  27. News flash: Car salesmen are sneaky and underhanded
  28. What’s the deal with that alternate form for menu item template separators?
  29. Warning: This cereal may contain traces of spiders
  30. The evolution of menu templates: 16-bit classic menus
  31. Wikipedia has created its own reactionary subculture
  32. The evolution of menu templates: Introduction
  33. Why is the LOADPARMS32 structure so messed up?
  34. Double the usual number of fire alarms today
  35. When anybody can look up your name in the company directory and pay a visit
  36. How did the invalid floating point operand exception get raised when I disabled it?
  37. Raymond misreads newspaper head… no wait, I didn’t!
  38. Uninitialized floating point variables can be deadly
  39. András Schiff 2006 lectures on the Beethoven piano sonatas
  40. Windows Vista changed the Alt+Tab order slightly

June 2008

  1. 2008 mid-year link clearance
  2. You don't need that 90 byte whereis program any more
  3. GUIDs are globally unique, but substrings of GUIDs aren’t
  4. The mystery of the garbage lady
  5. The disappointment of people who need to have their hand held from beginning to end
  6. The difference between a junior and senior position at a video card company
  7. Don't require your users to have a degree in philosophy, episode 3
  8. Raymond misreads acronyms: MSPP-PVP
  9. Just because you're using a smart pointer class doesn't mean you can abdicate understanding what it does
  10. Donations to the Microsoft Archives: Pens, CDs, and paperweights
  11. Why is there a menu show delay, anyway?
  12. MSDN-speak: What does it mean when a parameter contains a value?
  13. Microspeak: Pricing uplift
  14. Blinding bank robbers with kindness
  15. How do the common controls convert between ANSI and Unicode?
  16. Sometimes it's easier just to let the native speaker win
  17. Don't be helpless: You can find information, too, if you try
  18. Email tip: Pronouns in the subject line are in the eye of the beholder
  19. If you say that you don't care about something, you shouldn't be upset that it contains garbage
  20. Simply attach a piano to the end of the trebuchet
  21. There are only twelve function keys, and who says there's somebody there to push them?
  22. Money: The new plagiarism
  23. Why are DLLs uninitialized in the "wrong" order?
  24. Million Dollar Password: At least it shares a name with the original
  25. Why does OpenProcess succeed even when I add three to the process ID?
  26. Portugal TechDays 2008: A report
  27. Isn't the Learning Annex for total losers?
  28. Why has my clipboard stopped working?
  29. Food products that are offenses against nature: Bisquick Shake 'n Pour
  30. Dlaczego Microsoft zatopił Polskę?
  31. Raymond misreads newspaper headlines, episode 3
  32. Why are accelerators for hidden controls still active?

May 2008

  1. Behind the Scenes at Mythbusters does not include experiments or explosions
  2. Why are some GDI functions named ExtXxx instead of XxxEx?
  3. The sad demise of whimsical teasing in Comic Chat
  4. India Calling: Call centers from the Indian point of view
  5. Reading a contract from the other side: SHSetInstanceExplorer and SHGetInstanceExplorer
  6. The cultural axes of punctuality and waiting in line
  7. You can't give away something that isn't yours
  8. Welcome to the International Bank of Raymond
  9. What does TranslateAccelerator do?
  10. Microspeak: On-board (verb)
  11. Food discovery: Vietnamese sandwiches, aka bánh mì
  12. Another interesting detail from the analysis of Windows Error Reporting data for Explorer
  13. König Drosselbart: Performed in clay, feathers, and other strange materials
  14. The Phantom Bug: Why doesn't MessageBox work from my WM_NCDESTROY handler?
  15. Bacalhau: The unofficial national dish of Portugal, and don't pass the salt
  16. Why is the function SHStripMneumonic misspelled?
  17. I assume it's cracking good, though I'm not the expert
  18. If users can shut down the machine, it's not a security hole if they can shut down the machine
  19. Selling your life for a quarter at a time
  20. Build a slide show out of search results
  21. The dead desktop computer: From good, bad, and ugly back to dead
  22. Why always "Windows XP" and "Windows Vista" and not just "XP" and "Vista"?
  23. The Big Red Switch really was big and red
  24. In Lisbon, walk/don't walk signs are mostly decorative
  25. How do I flash my window caption and taskbar button manually?
  26. Mother's Day is for all mothers, not just your own mother
  27. Data breakpoints are based on the linear address, not the physical address
  28. The economics of soccer penalty kicks
  29. Gentle reminder: On a dialog box, do not give OK and Cancel accelerators
  30. The new dietary restriction landscape
  31. Apparently I've been promoted by mistake all these years
  32. Email tip: If they didn't get your message, then they won't know that they didn't get it
  33. Psychic debugging: Why does ExitProcess(1) produce an exit code of zero?
  34. News flash: It's dangerous to drive a car if you are blind
  35. If you pass invalid parameters, then all bets are off
  36. Canoeing around the Washington Park Arboretum
  37. You didn't know you could add properties by atom, and it's a good thing you didn't know
  38. Why every advertising agency needs to have a review panel of twelve-year-old boys
  39. Strange uses for window class atoms

April 2008

  1. Book me the next flight to Tokyo, no wait, the second flight
  2. Some other places atoms (and the magical 0xC000) arise
  3. Racking up the frequent shopper points at the register office
  4. Why do atoms start at 0xC000?
  5. In search of: Rossio Train Station
  6. Why does clearing document history also clear Run history?
  7. News flash: Universities are more likely to admit students whose parents gave lots of money
  8. On the relationship between specific cases and general cases
  9. Take Our Daughters and Sons to Work today, unless you work at main Microsoft campus, in which case, wait until summer
  10. User interface code + multi-threaded apartment = death
  11. News flash: Alumni give to colleges and universities to get their kids admitted
  12. The double-click time tells the window manager how good your reflexes are
  13. The concrete pedestrian bridge in the Washington Park Arboretum claims another victim
  14. The contradictory dialog: Click Finish to begin
  15. Fell the force
  16. Windows doesn't close windows when a user logs off; that's your call
  17. Special advance screening of five seconds of True Lies
  18. Proto-Microspeak: Center of value
  19. Baby Names for Dummies
  20. One-line batch script to delete empty directories
  21. Raymond misreads newspaper headlines, episode 2
  22. Raymond’s reading list: The Mythical Man-Month, The Design of Everyday Things, and Systemantics
  23. I know you can't provide tax advice, but I'm just looking for tax advice
  24. Email tip: Nostalgia is not a question
  25. Follow-up: That shopautodotca seocontest online contest
  26. Why doesn't Explorer let you create a file whose name begins with a dot?
  27. We can't cut that; it's our last feature
  28. The dead desktop computer: The good, the bad, and the ugly, but not in that order
  29. Who defined my name first? Turnabout is fair play
  30. Use the #error directive to check whether the compiler even sees you
  31. Over 1500 times the net worth of Bill Gates yet nobody has heard of him
  32. I always get scared when I see people trying to organize the Internet into hierarchies
  33. How to tell which end of the Metro platform to stand on, and other survival tips for the Lisbon subway system
  34. What happened to winipcfg and netmon?
  35. STATUS_BUFFER_OVERFLOW really should be named STATUS_BUFFER_OVERFLOW_PREVENTED
  36. 21: like 24 but three hours shorter
  37. When a treehouse just isn't good enough
  38. How do I force the ECHO command to echo?
  39. Lisbon: The city whose public transportation system operates in three dimensions
  40. Maybe that's how you do it, but around here, we have a different convention for indicating which things are broken
  41. Pranksters breathe a sigh of relief: There will never be a Building 7

March 2008

  1. 2008 Q1 link clearance: Microsoft blogger edition
  2. You can drag multiple virtual objects, you know
  3. The most academically elite team in college basketball, in quest for their first conference win in 21 years
  4. Microspeak: Newplacement
  5. Meet Deltalina, the star of Delta's new in-flight safety video
  6. Why do structures get tag names even if there is a typedef?
  7. We hope you enjoyed this bus tour of Charles de Gaulle International Airport
  8. Why are structure names different from their typedef names?
  9. Happy Waffle Day! And other holidays named after food
  10. What's the difference between int and INT, long and LONG, etc?
  11. Buses and trams going to this place called Reservado
  12. What’s the difference between the COM and EXE extensions?
  13. How to write like Raymond: What I tell you three times is true
  14. Raymond's highly scientific predictions for the 2008 NCAA men's basketball tournament
  15. What a drag: Dragging a virtual file (IStorage edition)
  16. What a drag: Dragging a virtual file (IStream edition)
  17. What a drag: Dragging a virtual file (HGLOBAL edition)
  18. I try not to rely on the kindness of strangers, but it's a pleasant surprise when strangers come through
  19. Why can't you rename the Recycle Bin?
  20. If you grant somebody SeDebugPrivilege, you gave away the farm
  21. What a drag: Dragging a Uniform Resource Locator (URL) and text
  22. What a drag: Dragging a Uniform Resource Locator (URL)
  23. Exercise doesn't have any effect unless you know you're doing it
  24. What a drag: Dragging text
  25. Why isn't there a GetDlgItemFloat function?
  26. The art of losing things: Keep moving them around
  27. Why can't I convert a time zone abbreviation into a time zone?
  28. How do I log on using a dial-up connection on Windows Vista?
  29. Not my finest hour: Using the wrong mouse
  30. I hadn't realized it's an entire genre: Music made from Windows system sounds
  31. Email tip: A peer-to-peer discussion group does not come with a service level agreement
  32. What do rocket scientists say when they want to say that something isn’t hard?
  33. Why does scheduling a task require a password?

February 2008

  1. The 2008/2009 Seattle Symphony subscription season at a glance
  2. Why can't I get FormatMessage to load my resource string?
  3. Coca-Cola for breakfast: It's not just for computer geeks any more
  4. Why are process and thread IDs multiples of four?
  5. Making a reservation at the Asteroid and interrupting a cookie-bake
  6. If you ask for STANDARD_RIGHTS_REQUIRED, you may as well ask for the moon
  7. TechDays 2008 learns the sneaky way of getting me to show up at your conference
  8. Losing the game of Last Checkin Chicken two products in a row
  9. The United Kingdom of Great Britain, Northern Ireland, and France?
  10. When somebody gives you a gift of code, it's more often than not a burden in disguise
  11. Microspeak: Assorted babble
  12. Nobody actually talks the way they do in training videos, do they?
  13. Wait a second, I thought we stopped doing this back in 2003
  14. There can be more than one (or zero): Converting a process to a window
  15. If you used your credit card abroad between 1996 and 2006, you may be eligible for a class action lawsuit settlement
  16. When you ask somebody to take a look, you need to tell them what you want them to find
  17. What's with all those spam ping-bots?
  18. Why does Explorer show a + sign even if there are no child folders?
  19. Joshua Roman groupies may have to set up their frequent flyer accounts
  20. There's more to switching stacks than just loading a new stack pointer
  21. Bands of Valentine minstrels roaming campus
  22. Follow-up: Politically motivated armed robber being sent back to the U.S.
  23. Controlling which devices will wake the computer out of sleep
  24. Thank you, people sitting behind me, for explaining what the conductor is doing
  25. If you ask whether I'll be at a conference, the answer is usually No
  26. Why does Ctrl+ScrollLock cancel dialogs?
  27. Why couldn't you have more than one instance of a 16-bit multi-DS program?
  28. Grass jelly may be an Asian drink, but it's not crazy
  29. What did MakeProcInstance do?
  30. Otaku cosplay culture makes another inroad into North America
  31. When there's a problem with the platform, you blame the platform, whether it's the platform's fault or not
  32. Why did the display become a snapshot of the last time the monitor was plugged into the computer?
  33. Who decides what can be done with an object or a control?
  34. The dead home desktop returns from the dead
  35. DLL forwarding is not the same as delay-loading
  36. Pass the whipped partially hydrogenated soybean and coconut oils, please
  37. Strange bug assignment: Programs are using too much memory

January 2008

  1. The dead home desktop problem returns
  2. Shell policy is not the same as security
  3. Even without a nitpicker's corner, I have to worry about nitpickers
  4. Microspeak: Housing
  5. The history of the Windows XP common controls
  6. Crackpots in computer security: Don't plug it in, man!
  7. PLAY! A Video Game Symphony comes to Seattle
  8. What counts as a talent nowadays?
  9. The classic start menu is even more classic than it looks
  10. It's one thing to say "somebody should do this", but doing it is another matter
  11. Email tip: Don't use a rude subject line just to make your message easier to spot
  12. The Windows 95 volume control almost went to eleven
  13. If they had felt a little more mischievous when they titled the article Excerpts from Fischer-Spassky games
  14. When computer programmers dabble in economics: Paying parking tickets
  15. Can't sing? Can't dance? Can't act? Try the opera.
  16. Why do registry keys have a default value?
  17. How did registry keys work in 16-bit Windows?
  18. Jerry Springer: The Opera crosses the pond to visit Carnegie Hall
  19. Use WM_WINDOWPOSCHANGING to intercept window state changes
  20. Use WM_WINDOWPOSCHANGED to react to window state changes
  21. No matter where you put an advanced setting, somebody will tell you that you are an idiot
  22. In order to serve you better: Chase resets your marketing preferences
  23. Windows is not an MFC delivery channel
  24. How does the calculator percent key work?
  25. The impact of hardworking employees on their less diligent colleagues
  26. Jag är inte heller en Microsoft-talesman på svenska
  27. Generating initials from a name is trickier than you think
  28. Taxes: Files larger than 4GB
  29. Bait and switch literally applied to fish
  30. Clean-up functions can't fail because, well, how do you clean up from a failed clean-up?
  31. What does it mean when a display change is temporary?
  32. In steady state, only geeks install Windows, but the hard part is getting to that steady state
  33. A new DUI record set in the state of Washington
  34. You know the answer: Window destruction
  35. Fact of life: People can't see things that are right in front of them

2007 459

December 2007

  1. 2007 year-end link clearance
  2. Why aren't console windows themed on Windows XP?
  3. Now I can read my own writing the way you do: With utter incomprehension
  4. Psychic debugging: The first step in diagnosing a deadlock is a simple matter of following the money
  5. If you need anything other than natural alignment, you have to ask for it
  6. Paul Shirley: Basketball player, blogger, and author
  7. Microthink: If you can't measure it, then it doesn't exist
  8. You mean, you have computers in Taiwan?
  9. Where do those Wall Street Journal hedcuts come from?
  10. What was the role of MS-DOS in Windows 95?
  11. Management-speak: Norming around mechanisms
  12. 'Tis the season for top ten lists, and manipulation of top ten lists
  13. Consequences of the scheduling algorithm: Low priority threads can take 100% CPU
  14. How do I mark a shortcut file as requiring elevation?
  15. Book review: Advanced Windows Debugging (Mario Hewardt and Daniel Pravat)
  16. Not every first-chance exception is a security vulnerability
  17. Wall Street bonus season's trickle-down
  18. How did wildcards work in MS-DOS?
  19. Unwittingly enveloped in the Santarchy
  20. The compatibility constraints of your side effects: Beeping
  21. Throwing a cup of hot water into the air in sub-zero temperatures
  22. AppInit_DLLs should be renamed Deadlock_Or_Crash_Randomly_DLLs
  23. Christmas lights in the Dyker Heights neighborhood
  24. When selecting system colors, match but don't mix
  25. Exploiting the inattentive, episode 3: Confusing movie titles
  26. Why is my starting directory ignored when I elevate a command prompt?
  27. What seems obvious today may have been impractical then
  28. It's amazing you who end up meeting in New York City
  29. The magical healing properties of safe mode – bonus content
  30. The Old New Thing (the book) allegedly now stocked at the Microsoft Company Store (Redmond)
  31. Am I for real or just a robot? part 2
  32. Your $25 car emergency survival kit
  33. Welcome to the Microsoft email culture
  34. Would a team of midgets be the greatest offense in baseball history?
  35. How long does it take to create a 16TB file?
  36. How do 16-bit programs start up?

November 2007

  1. Hotkeys involving the Windows logo key are reserved by the system
  2. The first day at Microsoft: Don't just stand there
  3. The importance of the FORMAT_MESSAGE_IGNORE_INSERTS flag
  4. What to do when the steering column is stuck and the ignition won't turn
  5. When you compress a drive, some files are exempted, but you can force it, and then it's your problem
  6. Why are INI files deprecated in favor of the registry?
  7. Sounds about right: What a geek does with an iPhone in the first two days
  8. The forgotten common controls: The GetEffectiveClientRect function
  9. When in doubt, consult the online Magic 8 Ball
  10. Alternate theories on how Putin can retain power after his second term expires
  11. Hidden gotcha: The command processor's AutoRun setting
  12. Dreyer's Berry Rainbow Sherbet
  13. You even have to watch out for your placeholder bitmaps
  14. Darkon: A Larping Documentary
  15. If you want a menu that shows the contents of the My Computer folder, you already know how to do it
  16. Who would win in a fight between a penguin and a lemur?
  17. In Windows XP, even when DEP is on, it's still sometimes off
  18. I'm going to keep trying on size fours until I find one that fits
  19. Is DEP on or off on Windows XP Service Pack 2?
  20. Psychic debugging: IP on heap
  21. Amusing bug reports: On poetry and prose
  22. I don't know what the Lotus internal clipboard formats are either
  23. You just have to accept that the file system can change
  24. Proto-Microspeak: Pre-envisioning
  25. VirtualLock only locks your memory into the working set
  26. Why do we even have the DefWindowProc function?
  27. Staying on top of things with timely updates in separator pages
  28. Buy an island, or a country, or at least a replica of one
  29. Why does GetDiskFreeSpaceEx return the wrong amount of free space?

October 2007

  1. The Acorn Wand, key to a magical puzzle hunt
  2. It rather involved being on the other side of this airtight hatchway: Local execution
  3. Email tips from Adam Phillabaum
  4. You can't change it, but you can hide it and add something that looks like it
  5. Why doesn't Explorer show recursive directory size as an optional column?
  6. The King County Council race gets even stranger
  7. If you pass enough random numbers, eventually one of them will look valid
  8. What's the deal with the EM_SETHILITE message?
  9. What's the difference between LVM_HITTEST and LVM_INSERTMARKHITTEST?
  10. Superstition: Why is GetFileAttributes the way old-timers test file existence?
  11. The best way to process Unicode input is to make somebody else do it
  12. Other problems traced to violating COM single-threaded apartment rules in the shell
  13. Win32 user interface work is inherently single-threaded
  14. The wrong way to check whether the mouse buttons have been swapped
  15. How do I delay the automatic logon process?
  16. Nicolas Bourbaki, perhaps the biggest inside joke in mathematics
  17. Why aren't shortcuts as easy as unix links?
  18. Not the best way to start out a form letter
  19. No good deed goes unpunished: Free code samples
  20. Unlikely excuses: A faulty microchip
  21. Whose idea was it to make Ctrl+Backspace delete the previous word?
  22. Microspeak: Actionable
  23. The three tiers of a mixing room of a movie studio
  24. Why does ICE16 complain about product names longer than 63 characters?
  25. Which windows appear in the Alt+Tab list?
  26. The dangers of taking a service droid off script
  27. The early days of the Microsoft cafeterias
  28. The perils of translating words blindly without verifying them in context
  29. Another celebrity knitter: Tracey Ullman
  30. The most important choice in writing is not what you say, it’s what you don’t say
  31. Where did WiX get its name?
  32. Don't assume the first person to run your program is an administrator
  33. Suggestion Box 3, short answers (part 1 of who knows how many)

September 2007

  1. 2007 Q3 link clearance: Microsoft blogger edition
  2. 2007 Museum Day, courtesy of Smithsonian Magazine
  3. Why did the shortcut template change in Windows Vista?
  4. The first day at Microsoft: A fender-bender
  5. Microspeak: Going forward
  6. How do I put a different wallpaper on each monitor?
  7. The Microsoft Cafeteria Tour (Redmond 2006 Edition)
  8. What's the BS_PUSHLIKE button style for?
  9. Find the Flowers vs Minesweeper
  10. It rather involved being on the other side of this airtight hatchway: Elevation to administrator
  11. Playing the hippie poetry game for four cents per line
  12. What happens if you pass a source length greater than the actual string length?
  13. Japanese street fashion reaches Finland
  14. Why is my delay-rendered format being rendered too soon?
  15. Nearly everybody has a $500 flashlight
  16. What do I do with per-user data when I uninstall?
  17. Another type of misplaced apology: Apologizing for not knowing the penalty
  18. The code page on the server is not necessarily the code page on the client
  19. Snatching defeat from the jaws of victory now more popular than vice versa
  20. Why isn't QuickEdit on by default in console windows?
  21. Astrologers struggling with reclassification of Pluto
  22. Making some statements and asking for advice isn't a question
  23. The wisdom of seventh graders: A Wrinkle in Time
  24. What's the difference between EM_UNDO and WM_UNDO?
  25. The Minimalist Jukebox Festival
  26. If control-specific messages belong to the WM_USER range, why are messages like BM_SETCHECK in the system message range?
  27. Wayback machine: The Fake Job
  28. Sometimes it feels like the effort isn't even appreciated
  29. It's that season again: The 2007 Microsoft Company Meeting
  30. If your theory is "build it and they will come", you have to make sure there is a "they"
  31. I mean, come on, these are laptops
  32. Whenever there is a coordination problem, somebody says, "Hey, let's create a process!"
  33. Volunteers help save fruit from home fruit trees from going to waste
  34. Does creating a thread from DllMain deadlock or doesn't it?
  35. Belated follow-up: Mike Goodspaceguy Nelson running for public office, again
  36. Knock knock. Who's there? Not you any more.

August 2007

  1. The Great Muffin Heist of '07
  2. The Internet Explorer pop-up blocker follows guidelines, not rules
  3. Somebody actually took the time to translate my book into Japanese, it appears
  4. Microspeak: FMLA
  5. Follow-up: Mysterious Dietrich identified from that bizarre Ferarri crash
  6. Kernel handles are not reference-counted
  7. Airport travel tip: LAX Terminal 6 (United)
  8. With a new Start menu come new keyboard shortcuts
  9. Is this the normal way of comparing toilets?
  10. Yes indeed, all Microsoft files are (or should be) digitally signed
  11. What happens at LL Bean at three in the morning?
  12. Microspeak: Value proposition
  13. Which Windows font is named after a tabloid headline?
  14. Nested fly-out menus are a usability nightmare
  15. Disclaimers and such
  16. The Northwest Mahler Orchestra presents Messiaen’s Turangalîla Symphony
  17. Windows Vista has more extended options on the context menu
  18. At last you can turn off the USB 2.0 balloon
  19. We're all in this together: Maintaining common tools
  20. When you copy a folder, why are the contents merged with the existing contents?
  21. Just because you're a control doesn't mean that you're necessarily inside a dialog box
  22. Do you have a Starbucks name?
  23. What are these spurious nop instructions doing in my C# code?
  24. The Radioactive Boy Scout is back in the news
  25. What are these strange cmp [ecx], ecx instructions doing in my C# code?
  26. For $15, you can purchase incorrect information, and to prevent people from getting it, you have to renew every three months
  27. C# static constructors are called on demand, not at startup
  28. SIFF 2007 wrap-up: Grandhotel, The Boss of It All, Vacation
  29. What is the order of evaluation in C#?
  30. Math is hard, let's go shopp—oops
  31. Why is the blog's subtitle "Not actually a .NET blog"?
  32. Things I've written that have amused other people, Episode 4
  33. Martina Navratilova's final Wimbledon appearance, and this time she means it
  34. How do I get the handle of the primary monitor?
  35. Bowling coming to Bellevue, and given the location, it's naturally upscale
  36. Email tip: I don't have my bug numbers memorized
  37. One would be hard pressed to find a group of characters more in need of a lawyer
  38. It rather involved being on the other side of this airtight hatchway: Executable corruption
  39. The truth about 4/29 the government doesn't want you to know
  40. Freudian typo: Enchanced metafiles
  41. Probably the most expensive Harry Potter viewing I'll ever attend
  42. It was not one of Explorer's design goals to provide a Turing-complete interface for bulk file renaming
  43. But now I'll never know which politician that alien backs for the next election
  44. What is the difference between the Folder and Directory (and other special) progids?
  45. Note to locals: Lincoln Center is in New York City, not Bellevue
  46. Footnotes in Win32 history: VLM (Very Large Memory) support

July 2007

  1. I just discovered that the Scandinavian Gift Shop in Ballard is closing
  2. What is the lpdwHandle parameter in GetFileVersionInfoSize used for?
  3. Stuart Stevens takes performance-enhancing drugs in order to see what they do
  4. There's a whole Internet out there, folks, you might want to check it out
  5. Seattle to Portland (STP) 2007 trip report, part 4 of 4: St. Helens to Portland and beyond
  6. Don't just grab the foreground window and host UI on it
  7. How do the names in the file security dialog map to access control masks?
  8. Seattle to Portland (STP) 2007 trip report, part 3 of 4: Toledo to St. Helens
  9. Seattle to Portland (STP) 2007 trip report, part 2 of 4: Spanaway to Toledo
  10. What is Dave's frame class?
  11. Seattle to Portland (STP) 2007 trip report, part 1 of 4: Seattle to Spanaway
  12. Just because you say something in my presence and I don't raise an objection doesn't mean that I agree
  13. Tips for doing the Seattle to Portland (STP) in two days: What I learned in 2007
  14. The real cost of compatibility is not in the hacks; the hacks are small potatoes
  15. Apparently some people consider this a vacation; I consider it insane
  16. Screwing the computer parts back together is the most dangerous step
  17. Food products that are offenses against nature: Fast Franks
  18. You don’t optimize for the case where somebody is mis-using your system
  19. If you read any book about traditional weddings in Russian history, there must be a fight
  20. Why is the limit of window handles per process 10,000?
  21. Not my finest hour: Driving a manual transmission
  22. How are window manager handles determined in Windows NT?
  23. Creative armed robbery defense: Political asylum
  24. How are window manager handles determined in 16-bit Windows and Windows 95?
  25. The dangers of conversation fragments: Overheard on the Burke-Gilman trail
  26. I was sort of interested at first, but now I'm not so sure any more
  27. Seattle street signs for sale, used, but for ten bucks you can't complain
  28. If you want a modeless dialog, then create a modeless dialog already
  29. Those who do not understand history are doomed to repeat it… on YouTube
  30. How to check for errors from SetFilePointer
  31. That leaves more hot German babes for me!
  32. The forgotten common controls: The ShowHideMenuCtl function
  33. A modest proposal: Solving the problem of traffic in Seattle caused by sporting events
  34. It's not enough to say that something is bad; you have to say what would be better
  35. Redmond Derby Days 2007 this weekend
  36. It rather involved being on the other side of this airtight hatchway: If they can run code, then they can run code
  37. Raymond's tips on selecting a memorable greeting card
  38. QueryPerformanceCounter is not a source for unique identifiers
  39. Holidays for fireworks (and generally blowing up stuff) from around the world
  40. The audacity of selling things that don't belong to you
  41. If the system says that an embedded string could not be converted from Unicode to ANSI, maybe it's trying to tell you something
  42. The conversations backstage at computer Go tournaments
  43. Image File Execution Options just inserts the debugger in front of the command line

June 2007

  1. 2007 mid-year link clearance
  2. Don't forget to pass the current directory along with the command line to your single-instance program
  3. If it's optional, then don't make it mandatory
  4. Overheard conversation in the cockpit that you might not want to have heard
  5. Those who do not understand the dialog manager are doomed to reimplement it, badly
  6. What's all this stuff hanging from that utility pole?
  7. Why do DLGC_WANTALLKEYS and DLGC_WANTMESSAGE have the same value?
  8. Why the Fantastic 4 Human Torch ATV is the Worst Movie Tie-In Toy Ever
  9. There's no point improving the implementation of a bad idea
  10. Einstein the geographer? A hoax.
  11. Even advanced users liked the Windows XP Start menu
  12. What is the international sign for "you left something on the roof of your car"?
  13. How does the Windows XP Start menu decide that a program is newly-installed?
  14. In order to serve you better: Frequent flyer miles expiring sooner
  15. More Start menu fine-tuning: Choosing a better representative for a frequently-run program
  16. I'm pretty sure he's going to be the envy of his next school reunion
  17. What is the impact on the Start menu of long-running programs?
  18. Project Update 3: Voyage to Our Hollow Earth
  19. Why does a new user get stuff on their Start menu right off the bat?
  20. "Super" watch, episode 2
  21. What other programs are filtered from the Start menu's list of frequently-used programs?
  22. The Thing? Mystery of the desert
  23. If you pin a program, it doesn't show up in the frequently-used programs list
  24. SIFF reviews: Falling, 2 Days in Paris, Hula Girls
  25. The program doesn't have to be run from the Start menu to earn Start menu points
  26. I never thought of it before, but drumming is a metaphor for life!
  27. Points are earned by programs, not by shortcuts
  28. The New York City Profit Calculator
  29. What determines which programs show up on the front page of the Windows XP Start menu?
  30. shopautodotca seocontest online contest tacitly encourages comment spam
  31. Why does canonical order for ACEs put deny ACEs ahead of allow ACEs?
  32. The meaning of a red traffic light is open to interpretation
  33. How do I inflate a bicycle tire with a potato?
  34. How not to prepare for the STP (2007 edition)
  35. Email tip: Lay off the massive email signatures
  36. It's official: The logo for the London 2012 Olympic Games is hideously ugly
  37. Compatibility constraints of the water cooler
  38. Death at a Funeral, Cashback, and Tell No One
  39. Choosing a provocative debug signature
  40. I took the Monorail to the Shadow of the Moon
  41. Inserting as many layers between the message and reality as possible

May 2007

  1. You'd think questions about underwear were understood to be off-limits
  2. Visual C++ 2005 will generate manifests for you
  3. The three things you need to know about tsunamis
  4. The sad predicament of the unempowered manager
  5. Let's talk like people
  6. Psychic debugging: Why does FormatMessage say the resource couldn't be found?
  7. Cool, they're using Roman numerals!
  8. Raymond's SIFF schedule (2007)
  9. The parameters to PostQueuedCompletionStatus are not interpreted
  10. Being nominated for the Nobel Prize isn't as big a deal as it sounds
  11. We should just get rid of that stupid middle tier
  12. Das Leben der Anderen
  13. Microspeak: The forcing function
  14. Suggestion Box 3
  15. Another chapter in Swedish political hypocrisy (2007 edition)
  16. You're not my manager, so I'm not going to ask how high when you tell me to jump
  17. The unidentified award
  18. Don't be helpless: I don't know anything about MFC modal loops, but unlike some people, I'm not afraid to find out
  19. Don't drive your pick-up onto the roof of a house, especially if, well, read on
  20. Getting in on the action while it's still there
  21. Store Wars and the Meatrix
  22. We're all in this together: No good deed goes unpunished, redux
  23. Why are console windows limited to Lucida Console and raster fonts?
  24. Please refer to the instructions that don't exist
  25. Get Sea-Tac flight information (including gate and baggage claim) via email
  26. Command lines need to be quoted; paths don't
  27. Service required * Brewer error *
  28. Evergreen Philharmonic Baroque Festival 2007
  29. Performing an operation in each subdirectory of a directory tree from batch
  30. Email tip: Don't ask the same question multiple times in different groups
  31. Revelations of My Friends: An ancestor of today's Mad Libs
  32. Don't be helpless: At least look at the function you're using
  33. Session 0 isolation: Where backward compatibility loses to security
  34. The administrator is an idiot
  35. Metromint: What were they thinking?
  36. Drag and drop is a general purpose transfer model, not exclusive to Explorer directories
  37. But they're not (puts on sunglasses) going to get away with murder
  38. How my lack of understanding of how processes exit on Windows XP forced a security patch to be recalled
  39. Unexpected consequences of self-checkout
  40. Quick overview of how processes exit on Windows XP
  41. Male perceptions of body image in Taiwan
  42. The old-fashioned theory on how processes exit
  43. Two web sites that read the fine print
  44. Microspeak: Operationalize

April 2007

  1. Everyone should have a house pianist
  2. The default verb is not necessarily "open"
  3. News Flash: Not being able to watch Jay Leno is not an emergency
  4. Stupid debugger tricks: Calling functions and methods
  5. The intermediate value theory helps your table but not necessarily your beer
  6. Using the "gu" debugger command to find the infinite loop
  7. There's something about Christopher Walken
  8. Identifying an object whose underlying DLL has been unloaded
  9. How much time does it take for a pedestrian to cross the street?
  10. What is the underlying object behind a COM interface pointer?
  11. Given a choice between two options, you influence the result by adding a third, inferior, alternative
  12. Psychic debugging: When reading unfamiliar code, assume it's mostly correct
  13. The wisdom of seventh graders: Designing an elective course
  14. The format of bitmap resources
  15. Perhaps the movies made too literal a translation
  16. Trivia: Pea, marble, dime, nickel, quarter, half dollar, walnut…
  17. Psychic debugging: Why you can't control page navigation when using PSP_DLGINDIRECT
  18. No farting please, we're Americans
  19. The Notepad file encoding problem, redux
  20. See the Seattle Symphony on television in high definition
  21. Changes to power management in Windows Vista
  22. Email tip: People didn't answer your first email for a reason
  23. What is the default version of the shell common controls?
  24. Oh no, I have an obstructed view of Joshua Roman!
  25. What's the difference between WINVER, _WIN32_WINNT, _WIN32_WINDOWS, and _WIN32_IE?
  26. Enjoy our Bluetooth devices with a glass of beer or wine (Bluetooth device optional)
  27. What’s the row of numbers on the copyright page of books?
  28. What is the default version of a header file?
  29. Why doesn't the taskbar return to its original size when I return my settings to their original values?
  30. When very young children try too hard to act nonchalant
  31. Code is read much more often than it is written, so plan accordingly
  32. On the enduring appeal of Walker, Texas Ranger
  33. Why can't I display a tooltip for a disabled window?
  34. Your chance to meet Raymond if you are near Palo Alto on the 23rd
  35. His lips are moving: In order to serve you better
  36. Why does my thread pool use only one thread?
  37. Groundwork being laid for Vladimir Putin to run for his fourth term (out of a maximum of two)
  38. Why do operating system files still adhere to the old 8.3 naming convention?

March 2007

  1. What do the colors in the elevation dialog mean?
  2. On the effect of dandruff on climate
  3. How to talk like Marketing: The awareness space
  4. The buffer size parameter to GetFileVersionInfo is the size of your buffer, no really
  5. The social skills of a thermonuclear device, part 4
  6. Why are there both TBSTYLE_EX_VERTICAL and CCS_VERT?
  7. Microspeak: Calibration
  8. The publicity machine continues: A chat with Scott Hanselman and Hanselminutes
  9. Passing by address versus passing by reference, a puzzle
  10. The wisdom of seventh graders and you: Design a course
  11. Excursions in composition: Adding rewind support to a sequential stream
  12. Excursions in composition: Sequential stream concatenation
  13. You don't know what you do until you know what you don't do
  14. The early stages of Joshua Roman groupie-dom
  15. I bet somebody is looking to get a really nice bonus for that feature: Uninstall
  16. How do the menu functions find items?
  17. Verizon backs down on made-up fees and then adds them anyway
  18. The format of accelerator table resources
  19. Email tip: Don't forget to ask your question
  20. News flash: Snacks at the theater concession stand are not good for you
  21. Don't require your users to have a degree in philosophy, episode 2
  22. Out there gathering map data, one intersection at a time
  23. The only thing you can do with display names is display them
  24. What is a SM_SLOWMACHINE?
  25. Raymond's highly scientific predictions for the 2007 NCAA men's basketball tournament
  26. This American Life: What I Learned From Television, Seattle edition
  27. Don't be so fast to discount those oddball time zones
  28. Just what the world has been wishing for: Surströmming ice cream
  29. The GETDISPINFO notifications tell you what information they want
  30. The wisdom of seventh graders: John Locke and influential persons
  31. Microspeak: Sit in it!
  32. What was the first parameter to CoInitialize used for?
  33. Things I've written that have amused other people, Episode 3
  34. It's official, it's the Hannukah Eve Storm of 2006
  35. Hiding files is not the same as protecting them
  36. Public service announcement for Seattle area taxpayers: Some transit taxes can be itemized and deducted
  37. The .Default user is not the default user
  38. West Bank Story, the movie that sells itself in five seconds
  39. If you have to ask, you're probably doing something wrong

February 2007

  1. More Vista wallpapers from Hamad Darwish
  2. Another retired computer: The Alpha Rawhide
  3. How hard could it be? Must provide own garage.
  4. What does an NMI error mean? (The infamous "Hardware Malfunction")
  5. The politician's fallacy and the politician's apology
  6. Please feel free to stop using DDE
  7. I wouldn't be surprised if O. J. Simpson wrote a new book
  8. The 2007/2008 Seattle Symphony subscription season at a glance
  9. Final remarks on LockWindowUpdate
  10. How to get your laptop to resume from standby in under two seconds
  11. With what operations is LockWindowUpdate not meant to be used?
  12. Mandarin Chinese gaining popularity in public schools
  13. With what operations is LockWindowUpdate meant to be used?
  14. Crush Finder experiment gets off the ground at Princeton
  15. How is LockWindowUpdate meant to be used?
  16. What does LockWindowUpdate do?
  17. News flash: Professional athletes do it for the money
  18. Why don't I use any class libraries in my sample code?
  19. There's not much luggage space, unless you dump the snow
  20. Why can't you set the command prompt's current directory to a UNC?
  21. Technology hypochondriacs
  22. Email tip: Barry Leiba expounds on subject lines
  23. Email tip: Don't add people to a thread without saying why
  24. Performance evaluation euphemisms invading everyday speech (ironically)
  25. Why doesn't the window manager unregister window classes when the owning DLL unloads?
  26. Long Zheng interviews Hamad Darwish about those Windows Vista wallpapers
  27. Do I need rush processing? Beats me!
  28. Who is most likely to be awarded a MacArthur Fellowship?
  29. Why does my property sheet blink and the immediately disappear?
  30. Maintaining standards of Japanese food abroad
  31. Why can't I create my dialog box? Rookie mistake #2
  32. Why can't I create my dialog box? Rookie mistake #1
  33. Bonus material for The Old New Thing (the book) is now available for download
  34. Public service announcement for United States taxpayers: In tax year 2006, you can claim a $30 refund if you owned a telephone
  35. Why did Explorer say "The target you specified is on the desktop"?
  36. The publicity machine doesn't stop: TechNet podcast interview
  37. Super Bowl Sunday: The day the entire country stops doing anything
  38. The ironic thing about fixing a bug
  39. The network interoperability compatibility problem, second follow-up

January 2007

  1. If you ask an author to sign a book, you have to tell him/her what to write
  2. Crackpots in computer security: A complete solution to computer security
  3. Unusual uses for a ball-point pen: Breaking into the debugger
  4. If vertical strips are better, why do toolbars use horizontal strips?
  5. The real underground (and subway)
  6. The /MAXMEM switch doesn't set the maximum amount of memory Windows will use
  7. Not my finest hour: Where are my keys?
  8. Where did the Windows Vista wallpaper images come from?
  9. Walking through packed snow and ice with a little more confidence
  10. The undeletable Outlook folder, episode 2
  11. Unexpected consequences of writing a book: Public appearances
  12. Non-psychic debugging: If you can't find something, make sure you're looking in the right place
  13. The cost of continuously-visible affordances with dynamic states
  14. 2006 storm aftermath: A look back
  15. What does the fCreate parameter to SHCreateStreamOnFileEx mean?
  16. Email tip: Choose a subject line that is meaningful to the recipient, not to the sender
  17. Iced-over roads + people who can't drive = very expensive (and dangerous) game of billiards
  18. Should all windows appear in the taskbar?
  19. One Armstrong = 13.5 mph
  20. EnumChildWindows already enumerates recursively
  21. The wisdom of sev^H^H^Heighth graders: It was not just white people who were helped by Martin Luther King
  22. Does Microsoft internally use MFC for writing Windows apps?
  23. How do I print the contents of a rich text control?
  24. The history of the RichEdit control from Murray Sargent
  25. How do I put more than 32,000 characters into a rich text control?
  26. Ken Levine teaches us about television script writing
  27. How do I load an entire file into a rich text control?
  28. Article of clothing or tasty dessert?
  29. What triggers the recall of an offline file?
  30. Why do property sheets sometimes take a first-chance exception?
  31. What('s) a character!
  32. How a bullet turns into a beep
  33. Wait, but why can I GetProcAddress for IsDialogMessage?
  34. Why can't I GetProcAddress for CreateWindow?
  35. The family technical support department: Everything is Outlook

2006 430

December 2006

  1. 2006 end-of-year link clearance
  2. Stop the madness: Subdirectories of My Documents
  3. Linda Hunt's advice for Oscar-winners
  4. The social skills of a thermonuclear device, part 3
  5. I can't believe they actually can't think of a name for the recent storm
  6. The first parameter to VerQueryValue really must be a buffer you obtained from GetFileVersionInfo
  7. The Old New Thing book will also be available electronically
  8. The evolution of version resources – corrupted 32-bit version resources
  9. The unanswered Explainer questions
  10. The evolution of version resources – 32-bit version resources
  11. The evolution of version resources – 16-bit version resources
  12. Pacific Northwest storm recovery continues
  13. I bet somebody is looking to get a really nice bonus for that feature: Attention
  14. Some call it context, others call it reference data, but whatever it is, it's yours
  15. Do not write in-process shell extensions in managed code
  16. Why do user interface actions tend to occur on the release, not on the press?
  17. Computing listview infotips in the background
  18. Maybe if it had characters and stuff and different levels, it would be OK
  19. Displaying infotips for folded and unfolded listview items
  20. Jeanne Martinet teaches you how to survive a party where you don't know anybody
  21. A high waiter count on a free critical section may indicate a lock convoy
  22. What does an invalid handle exception in LeaveCriticalSection mean?
  23. Throwing things into a blender and seeing what happens
  24. Do not overload the E_NOINTERFACE error
  25. Okay, I changed my mind, I wrote a book after all
  26. The wisdom of seventh graders: What to do with a time machine (part 3)
  27. If you let people read a file, then they can copy it
  28. The wisdom of seventh graders: What to do with a time machine (part 2)
  29. How do I find all files with at least one space in their name?
  30. The wisdom of seventh graders: What to do with a time machine (part 1)
  31. The name WinMain is just a convention
  32. Nailing down what constitutes valuable consideration

November 2006

  1. It took two of us to keep up with one Bob
  2. A fork is an easy-to-find nonstandard USB device
  3. What went wrong in Windows 95 if you use a system color brush as your background brush?
  4. It's not surprising at all that people search for Yahoo
  5. Sometimes you need to recalibrate your progress reports
  6. Placebo setting: QoS bandwidth reservation
  7. The quiet dream of placebo settings
  8. What is the process by which the cursor gets set?
  9. Paradoxically, you should remove the smart card when logging on with a smart card
  10. It takes only one program to foul an upgrade
  11. The window manager moves the mouse; applications choose the cursor
  12. Using DIB sections to perform bulk color mapping
  13. Manipulating the DIB color table for fun and profit
  14. Keeping classic hardware alive through emulation
  15. Blitting between color and monochrome DCs
  16. New dessert lounge: Coco la ti da
  17. What do bitwise operations mean for colors?
  18. Converting an HRESULT to a Win32 error code: Diagram and answer to exercise
  19. A modest proposal: Solving the problem of steroids in baseball
  20. Why can't you use the Tab key to select items from the auto-complete drop-down?
  21. How do I test that return value of ShellExecute against 32?
  22. Aspiring to the wrong office on election day
  23. There's going to be an awful lot more overclocking out there
  24. Tonya and Nancy: The Opera
  25. On the importance of backwards compatibility for large corporations
  26. How do I convert an HRESULT to a Win32 error code?
  27. Make sure you disable the correct window for modal UI
  28. I bet somebody got a really nice bonus for that feature

October 2006

  1. So that's what daddy does at work
  2. Separated at birth: The Windows XP SP2 launch team
  3. Руками не трогать!
  4. Why can't I get my program to use more than 50% of the CPU?
  5. The great Polish Sea -or- We forgot Poland!
  6. Now it looks like I speak far more languages than I actually do
  7. Let the dead computer scavenging commence!
  8. For a brief shining moment, DirectX was more popular than another word that ends in x
  9. Non-resolution of the dead home desktop problem
  10. Offline mode silently prevents you from streaming media content
  11. Invalidating the null window redux
  12. More tales of dead computers: My home desktop
  13. Quick and dirty Hallowe'en costume for physics geeks
  14. Psychic debugging: Why doesn't my program show up when I call ShellExecute?
  15. Wired Magazine's report on that bizarro Ferarri crash
  16. How do I shut down a workstation via Remote Desktop?
  17. No good deed goes unpunished, part 2
  18. Dead Sea Scrolls lectures available online (or in person if you can get there)
  19. Don't require your users to have a degree in philosophy
  20. Answering phones at KUOW for their Fall 2006 pledge drive
  21. What does the letter "T" in LPTSTR stand for?
  22. Raymond's excursions into East Asian pop music, episode 4: Yuki
  23. 640 x 480 is still not dead
  24. Why do I see the same fake names in Microsoft samples over and over?
  25. Shifting fortunes at Airbus over the A380
  26. How do I prevent multi-line edit controls from eating the Enter key?
  27. Proto-Microspeak: The goat rodeo
  28. When something is available for the user, which user are we talking about?
  29. How Raymond learns languages (and why it's not working)
  30. A very brief return to part 6 of Loading the Chinese/English dictionary
  31. Why does Windows hide keyboard accelerators and focus rectangles by default?
  32. You can invent new adjectives too
  33. If only he'd known to offer to back up their PC instead
  34. There's a reason why envelopes have backs
  35. Any similarity to actual German or Swedish words is purely coincidental
  36. Does a dual-core processor count as one or two for licensing purposes?

September 2006

  1. Eating Belgian food at Brouwer's Cafe in Fremont
  2. Quotation marks around spaces aren't necessary in the PATH environment variable
  3. When you crash, make sure you crash in the right place
  4. Saturday is Museum Day, courtesy of Smithsonian Magazine
  5. IsBadXxxPtr should really be called CrashProgramRandomly
  6. News flash: The heart produces urine
  7. Isn't DDE all asynchronous anyway?
  8. Filming for The Battle in Seattle has begun
  9. Waiting until the dialog box is displayed before doing something
  10. Hand gestures for numbers
  11. Things you already know: How do I wait until my dialog box is displayed before doing something?
  12. It’s that season again: The Microsoft Company Meeting
  13. If you don't trust your administrators, you've already lost
  14. It is as if our leaders have not been educated in orbital space colonization
  15. Don’t forget to unregister your window classes when your DLL shuts down dynamically
  16. The tale of the radioactive Boy Scout
  17. Why doesn't the Shutdown dialog use Alt to get alternate behavior?
  18. Project Update 2: Voyage to Our Hollow Earth
  19. Sometimes my psychic powers are weak
  20. Disaster averted, thanks to international time zones
  21. Allocating and freeing memory across module boundaries
  22. The lost follow-ups: Products and people that appear to have vanished without a trace
  23. The danger of using boldface for Chinese characters
  24. Raymond's excursions into East Asian pop music, episode 3: Morning Musume (モーニング娘)
  25. Philosophical discussion on when to mark a method as virtual
  26. Grammar review: Verb+particle versus compound noun
  27. If you ask a Yes/No question, make sure the user also knows what happens when they say No
  28. Turns out you can't learn Mandarin Chinese by watching television
  29. Const pointers: Logical consequences
  30. What you don't apologize for is as important as what you do
  31. You have to free memory with the same allocator that allocated it: Logical consequences
  32. In case of fire, go to lunch
  33. You already know what your target architecture is (or at least you should)
  34. Just change that 15 to a 1
  35. I think I've just broken the internet
  36. You're white. Do you want to be in my friend's soap opera?
  37. On the unanswerability of the maximum number of user interface objects a program can create

August 2006

  1. The wisdom of seventh graders: Contributions to class discussion
  2. The dialog class goes under the sneaky name WC_DIALOG
  3. How do you wash soap?
  4. If you work at a company, it's not your computer any more
  5. As I recall, Germany did not ratify the United States Constitution
  6. How did "Start Me Up" become the theme for the Windows 95 launch?
  7. Try to avoid having BOOL function parameters
  8. We know it's insecure, but we want to do it anyway
  9. Moving a file does not recalculate inherited permissions
  10. Those folks from Birmingham talk funny, and I mean that in a scientific way
  11. Environment variable expansion occurs when the command is read
  12. Raymond's excursions into East Asian pop music, episode 2: China Dolls (中國娃娃)
  13. Who says there's only one? There can be more than one logon session
  14. [6] days since last monorail breakdown
  15. Sucking the exception pointers out of a stack trace
  16. We encourage everyone to pack gel-filled bras in their checked baggage
  17. Applications and DLLs don't have privileges; users do
  18. A modest proposal: On allowing mobile phones on airplanes
  19. Don't trust the return address, no really
  20. Computer monitors float, screen upwards
  21. Accessibility is not just for people with disabilities
  22. Cool web site: Bill Monk
  23. Do not change program semantics in the debug build
  24. The cultural anthropology of getting on a bicycle
  25. Why can't I see all of the 4GB of RAM in my machine?
  26. Exploiting the inattentive, episode 2: The unlabeled line
  27. Why does SetWindowsHookEx take an HINSTANCE parameter?
  28. Space scientist James Van Allen (1914–2006)
  29. One way people abused hooks in 16-bit Windows
  30. How were window hooks implemented in 16-bit Windows?
  31. A look inside WinInet's index.dat file and changes in IE7 and Vista
  32. Candidate for most obscure keyboard shortcut: Shift+F8
  33. Even more about C# anonymous methods, from the source
  34. The day Tully's ran out of coffee
  35. The implementation of anonymous methods in C# and its consequences (part 3)
  36. The implementation of anonymous methods in C# and its consequences (part 2)
  37. News Flash: Big houses also cost more to cool
  38. The implementation of anonymous methods in C# and its consequences (part 1)
  39. C# nested classes are like C++ nested classes, not Java inner classes

July 2006

  1. Christmas gift idea for your favorite glasses-wearing geek
  2. Just because I don't write about .NET doesn't mean that I don't like it
  3. The Seattle Monorail has two trains, and they collided
  4. The efficiency of ordinal-based imports while still being name-based
  5. Handy tip: If you're going to break into vehicles, the police vehicle service center is probably a bad place
  6. Index to the series on DLL imports and exports
  7. Names in the import library are decorated for a reason
  8. Real Madrid (i.e., proper football) comes to Seattle
  9. What happens when you get dllimport wrong?
  10. If you know German, the world is, well, slightly more confusing
  11. Issues related to forcing a stub to be created for an imported function
  12. Raise la lanterne rouge
  13. How a less naive compiler calls an imported function
  14. Floyd Landis stuns everybody on stage 17; Raymond less impressive
  15. I didn't realize that it was International Group B Strep Awareness Month
  16. Calling an imported function, the naive way
  17. Buy me some peanuts and a set of double-pointed 2's
  18. Rethinking the way DLL exports are resolved for 32-bit Windows
  19. The traffic gods are punishing me for bicycling
  20. Exported functions that are really forwarders
  21. How are DLL functions exported in 32-bit Windows?
  22. The day the peloton lost its way
  23. How were DLL functions imported in 16-bit Windows?
  24. How were DLL functions exported in 16-bit Windows?
  25. Glass houses are great places to throw stones
  26. Win $5000 every summer for life (some restrictions on your life apply)
  27. Pidls and monikers do roughly the same thing, just backwards
  28. News flash: Big houses have bigger heating bills
  29. Not everybody with a non-Windows partition type is a geek
  30. Wenn Ausländer Deutsch phonetisch singen
  31. Before you can learn to recognize what's wrong, you must learn to recognize what's right
  32. Mr. T prefers a double-shot of espresso with two graham crackers, go figure
  33. No, really, why is it 160×31?
  34. Nearly 20 percent of daily smokers say they exercise three or more times a week
  35. Is the maximum size of the environment 32K or 64K?
  36. Retail companies allegedly not collecting personal information as aggressively
  37. Things I've written that have amused other people, Episode 2
  38. How do you use the bike rack on a Metro bus?
  39. Security: Don't forget to initialize the stuff you don't care about

June 2006

  1. Congratulations, Montréal, on finally paying for the 1976 Olympic Games
  2. 2006 mid-year link clearance
  3. Generating tooltip text dynamically
  4. Multiplexing multiple tools into one in a tooltip
  5. … so it doesn't poop all over your office
  6. Using custom-draw in tooltips to adjust the font
  7. Look who bought my name
  8. Coding in-place tooltips
  9. The subtle usability considerations of conference nametags
  10. The continuing phenomenon of size inflation in fast food
  11. An auto-reset event is just a stupid semaphore
  12. It's still not a democracy, but at least other people have noticed, too
  13. Psychic debugging: Understanding DDE initiation
  14. Three-Minute Masterpieces (2006)
  15. A single-instance program is its own denial of service
  16. Announcements on the ferry, one self-explanatory, one not
  17. Why can't you programmatically reorder the items on the Start menu?
  18. Understanding what significant digits really mean
  19. It's a good idea to get somebody who knows the language to be your proofreader
  20. Window class properties apply to all windows that belong to the class
  21. Pitfalls of transparent rendering of anti-aliased fonts
  22. Lies and statistics: 600,000 Chinese engineers
  23. Fumbling around in the dark and stumbling across the wrong solution
  24. Remember what happens when you broadcast a message
  25. What happened to the traffic circle at the corner of 156th Ave NE and NE 56th Way?
  26. Why did the Add or Remove Programs control panel try to guess all that information?
  27. The forgotten common controls: The MenuHelp function
  28. Disaster averted, thanks to undisclosed government action, no really
  29. If you're going to try to simulate user actions, make sure the user can do them
  30. Apparently driving is messed up in a lot of countries
  31. The forgotten common controls: The page scroller
  32. Why can't you say </script> in a script block?
  33. What does the CS_CLASSDC class style do?
  34. What does the CS_OWNDC class style do?

May 2006

  1. Do it for Katie
  2. Mellifluous NPR reporter name: Ofeibea Quist-Arcton
  3. People are very sensitive to how the icons look
  4. Every discipline has its crackpots: Stories of mathematics
  5. Wordplay (the movie)
  6. Assaulting users with dialog box after dialog box
  7. Using Yoda on an x86 may be hazardous to your systems’ health
  8. Beware the C++ implicit conversion
  9. Raymond makes a psychic prediction for 2006
  10. That mysterious J
  11. How do I write a regular expression that matches an IPv4 dotted address?
  12. Raymond 1, Sidewalk 1
  13. Redirecting output can result in altered program behavior
  14. Making up new Winter Olympic events
  15. The redirection operator can occur in the middle of the command line
  16. Don't mention the war. I mentioned it once, but I think I got away with it all right
  17. Beware of digits before the redirection operator
  18. The real scoop on the the x64 calling convention on 64-bit Windows
  19. Command line redirection is performed by the command line interpreter
  20. The first word on the command line is the program name only by convention
  21. On languages and spelling
  22. When people mimic the display rather than the actual data
  23. Automatic messages when you're not in the office – the infamous OOF
  24. Solutions that don't actually solve anything
  25. Why doesn't Ethan Hunt have to wear identification?
  26. Subtle ways your innocent program can be Internet-facing
  27. Seattle boating season opens but never closes
  28. It rather involved being on the other side of this airtight hatchway
  29. What can I do with the HINSTANCE returned by the ShellExecute function?
  30. On the bogusness of reporting the winning word in a spelling bee
  31. Doing quick arithmetic from the command prompt
  32. The alertable wait is the non-GUI analog to pumping messages
  33. A cache with a bad policy is another name for a memory leak
  34. Tips from an American on on driving in Taiwan
  35. What's so special about bitmaps and DCs?

April 2006

  1. Grace period for Swedish currency conversion extended to the end of the year
  2. What does CS_SAVEBITS do?
  3. A new scripting language doesn't solve everything
  4. No good deed goes unpunished: Bug assignment
  5. Correctly spell xerophthalmia and the crowd goes wild
  6. No, really, you need to pass all unhandled messages to DefWindowProc
  7. Ich habe meinen Computer zu Deutsch gewechselt
  8. Troubleshooting tips are not formal product documentation
  9. Then again, it might not be overclocking after all
  10. More about the house in front of Microsoft's RedWest campus
  11. The 2006/2007 Seattle Symphony subscription season at a glance
  12. Adding a new flag to enable behavior that previously was on by default
  13. Maybe you don't sound like Carl Kasell, but you can have his job
  14. How to fill in that number grouping member of NUMBERFMT
  15. Merchandise your food with pride
  16. Locale-sensitive number grouping
  17. Where did start.com get its name?
  18. Chain tax preparers do not fare well in undercover investigation
  19. Where did the name for Microsoft Access come from?
  20. News for dummies in French and English
  21. Why is the Microsoft Protection Service called "msmpsvc"?
  22. What's the deal with the house in front of Microsoft's RedWest campus?
  23. The decoy display control panel
  24. You'd think it'd be easy to give away a ticket to the symphony
  25. Be very careful if you decide to change the rules after the game has ended
  26. News for dummies now available in podcast form
  27. Computing over a high-latency network means you have to bulk up
  28. Sometimes you just have to make a snap decision
  29. It's more efficient when you buy in bulk
  30. USER and GDI compatibility in Windows Vista
  31. Adding flags to APIs to work around driver bugs doesn't scale
  32. German adjectives really aren't that hard; they just look that way
  33. Spamming the event log doesn't make things any better
  34. What seventh-grade students want to be when they grow up
  35. Doing the best we can until time travel has been perfected

March 2006

  1. The network interoperability compatibility problem, first follow-up of many
  2. Diese Briefe wurden von unserem chinesischen Freund übersetzt
  3. How would you solve this compatibility problem: Network interoperability
  4. Inadvertently passing large objects by value
  5. The rise and fall of the German language
  6. Why are there two copies of Notepad?
  7. Public service announcement for Roman Catholics: Sunday is not a fast day
  8. Why doesn't the window manager just take over behavior that used to be within the application's purview?
  9. The simplified office
  10. Where technology names came from: WiFi and FireWire
  11. Before you develop a solution, make sure you really understand the problem
  12. Make sure to handle carcinogens safely before inhaling a different carcinogen
  13. Solving one problem by creating a bigger problem
  14. On the alert for expired food-handling licenses
  15. Why doesn't Windows File Protection use ACLs to protect files?
  16. Basic ground rules for programming – function parameters and how they are used
  17. You never know until you test it with real users
  18. Raymond's highly scientific predictions for the 2006 NCAA men's basketball tournament
  19. Why does the version 6 animation control not use a background thread?
  20. Really, college athletics is about education (not)
  21. Das Buch der verrückten Experimente
  22. On the fuzzy definition of a "Unicode application"
  23. Top ten things to do to make your application a Vista application
  24. Controlling resource consumption by meting out work items
  25. The social skills of a thermonuclear device, part 2
  26. A thread waiting on a synchronization object could be caught napping
  27. Betsy's interview tip: Wear pants
  28. Why does the size of a combo box include the size of the drop-down?
  29. If you ask for a window caption, you also get a border
  30. Reading the fine print, episode 3: What's in the bottle?
  31. Reading the fine print, episode 2: Portable headphones
  32. Why is there no message for disabling the Cancel button on a wizard?
  33. Raymond, you even pose like a girl
  34. The consequences of invalidating the null window
  35. Other things happen for a reason, too
  36. The ForceAutoLogon setting doesn't do what most people think
  37. The peculiar appeal of the Baseball Uncyclopedia
  38. Very late remarks on the original Chinese dictionary series
  39. Martha, Martha, Martha!
  40. Restating the obvious about the WM_COMMAND message
  41. Keep your eye on the code page, practical exam

February 2006

  1. Raymond, you so write like a girl
  2. Ry Jones seems particularly amused by things I've written
  3. Changing a window class affects all windows which belong to that class
  4. The Top Gear Winter Olympics 2006
  5. Why can't I disable the Cancel button in a wizard?
  6. That $9 you got from the PayPal settlement? Taxable income.
  7. Enumerating threads in a process
  8. Games give you hand-eye coordination and spatial intelligence together with map-reading skills
  9. The performance cost of reading a registry key
  10. In pursuit of the message queue
  11. In pursuit of Michael Cassini, "the king of con"
  12. How the study of languages influences one's appreciation of international competition
  13. Why does my program run faster if I click and hold the caption bar?
  14. Diving into kernel mode with Doron
  15. Not all team integrations go smoothly
  16. Because programmers were trusted to do the right thing, part 2
  17. Recycling old PCs and cell phones
  18. The "symmetric" in symmetric multiprocessing really means "symmetric"
  19. Studs from Microsoft
  20. Other things people do with beta versions of the operating system
  21. That's just super (and a note on baking)
  22. The dangers of sleeping on a UI thread
  23. Shifting from program management to programming also affects your social life
  24. Comparing writing specifications to writing code
  25. Apparently I can't take myself anywhere
  26. Viewing function composition as transformation of the domain
  27. You know you're in trouble when your channel loses to dead air
  28. Beware of redirected folders, too
  29. You can't even trust the identity of the calling executable
  30. Mysterious things Steve Yi has eaten
  31. The pornography of food
  32. Be careful when interpreting security descriptors across machine boundaries
  33. The per-class window styles and things really are per-class
  34. The military marriage of convenience

January 2006

  1. "I attack the kobold wearing the headdress made of human ears"
  2. Why does the Recycle Bin have different file system names on FAT and NTFS?
  3. Why does a corrupted binary sometimes result in “Program too big to fit in memory”?
  4. Liquefied NBA points apparently cannot be sold on eBay
  5. Waiting for all handles with MsgWaitForMultipleObjects is a bug waiting to happen
  6. Stephen Tolouse's reminiscences of Windows 95 RTM day
  7. Pumping messages while waiting for a period of time
  8. 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
  9. You can call MsgWaitForMultipleObjects with zero handles
  10. Creepy messages in your baggage
  11. Performance consequences of polling
  12. There are two types of rebates, and you need to be on the alert
  13. If your callback fails, it's your responsibility to set the error code
  14. The vtable does not always go at the start of the object
  15. How air conditioning revolutionized competitive bicycling
  16. The cost of trying too hard: String searching
  17. From Doom to Gloom: The story of a video game
  18. The cost of trying too hard: Splay trees
  19. ReadProcessMemory is not a preferred IPC mechanism
  20. At least there's a funny side to spam
  21. Understanding what things mean in context: Dispatch interfaces
  22. France, she is, how you say, on sale!
  23. Why do words beginning with "home" get treated as URLs?
  24. When web sites rely on security holes
  25. The decoy visual style
  26. Beware the MSJ subscription scam
  27. When programs assume that the system will never change, episode 3
  28. Where do call signs come from?
  29. Why do image lists and tool bars use horizontal strips if vertical is so much better?
  30. Converting between LCIDs and RFC 1766 language codes
  31. The first rule about knit club…
  32. Don't underestimate the resourcefulness of people trying to be annoying
  33. Taxes: Detecting session state changes, such as a locked workstation
  34. Taxes: Remote Desktop Connection and painting
  35. The world's slowest RET instruction
  36. 2005 end-of-year link blowout sale
  37. On the abuse of properties
  38. There's more to calling a function than just getting the types to match
  39. If one certification is good, more must be better
  40. Why did the Windows 95 CD have extra fun stuff?

← 2003–2005 2009–2012 →