The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Hardware backward compatibility: The firmware that missed one tiny detail
Jul 6, 2010
Post comments count 0
Post likes count 0

Hardware backward compatibility: The firmware that missed one tiny detail

Raymond Chen
Raymond Chen

The person responsible for the floppy disk driver in Windows 95 also was responsible for the low-level CD-ROM drivers. (Not to be confused with the CDFS file system, which was handled by the file system team, not the hardware driver folks.) And I remember a story about one particularly strange CD-ROM drive. This drive was produced by a name-brand manufacturer. The box that the drive comes in proudly announces that it is an IDE ATAPI drive. And they did a fantastic job. They implemented all the ATAPI commands that were defined at the time, with one tiny exception. They forgot to implement the "Are you an AT...

One small silver lining of moving Boeing headquarters to Chicago
Jul 5, 2010
Post comments count 0
Post likes count 0

One small silver lining of moving Boeing headquarters to Chicago

Raymond Chen
Raymond Chen

In 2001, Boeing moved their corporate headquarters from Seattle to Chicago. This resulted in much wailing and consternation in Seattle, where Boeing had been since its founding in 1915. But every cloud has a silver lining. Seattle is the home of Boeing's passenger jet division, and the presence of corporate executives had added an extra layer of management annoyance to the already-stressful job of building airplanes. As the story goes, one of the Corporate Vice Presidents from some other division of Boeing had an office that overlooked Boeing Field, giving him a vantage point from which to watch each airplane t...

The commutative law for postage and its limitations
Jul 2, 2010
Post comments count 0
Post likes count 0

The commutative law for postage and its limitations

Raymond Chen
Raymond Chen

The college professor who carried on a letter exchange with a kind pensioner who proved that the speed of light could be exceeded told me of another letter exchange, this time with another professional mathematician. The letter came from England, and it accompanied some sort of document or artifact that the correspondent wanted the college professor to look over and return. The mathematician took the effort of including a stamped return envelope with the remark, "By the commutative law for postage, I have placed the same amount of postage on the return envelope as I have on the outgoing envelope." The profess...

Instead of trying to figure out what shortcut class to use, just ask the shell to do it for you
Jul 2, 2010
Post comments count 0
Post likes count 0

Instead of trying to figure out what shortcut class to use, just ask the shell to do it for you

Raymond Chen
Raymond Chen

If a shell namespace item has the attribute, then it is a shortcut to another location. The most common type of shortcut is the file, which you can load by creating the object and using , but what if you have some other type of shortcut? How do you know what CLSID to use? Since anybody can create their own shortcut file types, a hard-coded list mapping file extensions to CLSIDs is not going to work for long. But fortunately, you don't have to know how to look up the CLSID for a particular shortcut; you can just ask the namespace to do it for you by asking for the UI object. I've limited myself to files ...

What Raymond listens to: KCRW's The Business
Jul 1, 2010
Post comments count 0
Post likes count 0

What Raymond listens to: KCRW's The Business

Raymond Chen
Raymond Chen

KCRW's The Business reveals how the sausage of the entertainment industry is made. Here are some of my favorites:

What is the lpClass member of SHELLEXECUTEINFO used for?
Jul 1, 2010
Post comments count 0
Post likes count 0

What is the lpClass member of SHELLEXECUTEINFO used for?

Raymond Chen
Raymond Chen

A customer reported problems launching the default Web browser with the function: This fails with . If you don't pass the flag and leave , then the function will try to figure out what your refers to, looking at the file extension, looking for the file on the , and if all else fails, trying some autocorrection. In this case, the customer was relying on the autocorrection, since they left the prefix off their URL. One of the default autocorrection rules is that if the item that couldn't be launched begins with , then try again with in front. On the other hand, if you pass an explicit , then no name ...

2010 mid-year link clearance
Jun 30, 2010
Post comments count 0
Post likes count 0

2010 mid-year link clearance

Raymond Chen
Raymond Chen

Another round of the semi-annual link clearance. And, as always, the obligatory plug for my column in TechNet Magazine: Starting in June 2010, TechNet Magazine publishes each issue in two stages, and my column appears in the second half of the month, so don't freak out when you don't see it when a new issue first comes out.

Management fallacy: If I send people email, then they will work harder
Jun 30, 2010
Post comments count 0
Post likes count 0

Management fallacy: If I send people email, then they will work harder

Raymond Chen
Raymond Chen

A project many years ago neared the conclusion of one of its project milestones. Things were getting down to the wire, and upper management was concerned that the project may not reach the milestone on schedule. To ensure success, they decided to send email. From: Senior Manager Subject: READ NOW!!!! More than one bug Please see the attached spreadsheet. If you are on the To: line you can look at the Assigned To: column and find your name. You are in this spreadsheet if you have 2 or more bugs assigned to you. At this stage of the project as we are winding down and entering Milestone Z, people with a ...

The illusory repair powers of black electrical tape
Jun 29, 2010
Post comments count 0
Post likes count 0

The illusory repair powers of black electrical tape

Raymond Chen
Raymond Chen

Back in the crazy dot-com boom days, I knew someone who was into high-performance automobiles. And since these were the crazy dot-com boom days, he had the money to satisfy his urge to drive high-performance automobiles. He bought a used Ferrari, but found that it spent more time in the repair shop than on the road. To solve this problem, he bought a second Ferrari. (Note: This is not a solution available to most people.) One of the many trips to the auto repair shop was to address an indicator light on the dashboard which had lit up. The mechanics studied the problem and concluded that the indicator light was a...