The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

A note to headhunters: Check your links

If you're going to try to recruit me, you might want to check that the links in your email actually work. Just sayin'. I'm going to mock you regardless, but you should at least make me have to work for it.

You probably don’t want to run programs directly off your USB memory drive

You probably wouldn't want to run Windows or applications directly off your USB memory drive, even if you could. The reason is that the solid-state memory used by these drives support only a limited number of write cycles per block. (Originally measured in the thousands, though I'm led to believe that it's gone up since then.) Most software assume that a disk's lifetime is essentially infinite and have no qualms about writing to a file multiple times. For example, your program might decide to group its data in chunks. To modify a byte of the file, you would load a chunk, modify the byte, then write the chunk out....

Whole lotta cranking going on

Slashdot covered hand-cranked radios and other electronica a while ago. I keep an old-model Freeplay flashlight in the trunk of my car. It sort of fits the whole energy-counter-culture ethos, since I drive an early-model Toyota Prius. Freeplay is a South African company, and one of my South African colleagues pointed out that the Freeplay devices sold in South Africa are heavier than the ones sold in the States. Not for any technical reason, mind you. It's psychological, I'm told. Apparently, in South Africa, you want your equipment to be good and heavy, since that makes it seem solid and dependable. When ...

On the ambiguity of uniqueness

The MSDN documentation for says [T]he implementation of GetHashCode provided by the String class returns unique hash codes for unique string values. This is another case of ambiguous use of the word "unique". The intended meaning is "for each string value, the same hash code is returned". Even though "unique" means "one and only one", the domain in which the term applies is often left unsaid, as here, where the domain of comparison is "all the hash codes returned for a specific string value". If you instead misinterpreted the domain as "all the hash codes returned for all string values", then you end up...

We Microsoft bloggers do talk to each other occasionally, y’know

Every so often, somebody will spam all the Microsoft blogs with a survey or a plea for a job or some other boilerplate message. Don't think you're fooling anyone. It's not like each blogger lives in a separate world and never talks to anyone else. In reality, we exchange information quite freely and even occasionally get together—usually under the aegis of our overworked leader Betsy—for an informal face-to-face (usually lubricated with beer). Which reminds me: That April get-together was held at Fadó Seattle, and at some point during the evening, I excused myself and went into the main p...

Experiencing the world from flight level 210

Here are some airline-related web logs that I follow. Ry Jones recommends FlightAware, a web site for all your planespotting needs.

Your debugging code can be a security hole

When you're developing your debugging code, don't forget that just because it's only for debugging doesn't mean that you can forget about security. I remember one customer who asked (paraphrased) We have a service, and for testing purposes we want to be able to connect to this service and extract the private data that the service is managing, the data that normally nobody should be allowed to see. That way, we can compare it against what we think the data should be. This is just for testing purposes and will not be called during normal operation. How do you recommend we do this? Remember that the bad guys...

On the inability to support hardware that nobody makes any more

Windows Vista will not have support for really old DVD drives. (The information below was kindly provided to me by the optical storage driver team.) When PC DVD drives first came out in 1998, the drives themselves did not have support for region codes but instead relied on (and in fact the DVD specification required) the operating system to enforce region coding, with the further understanding that starting on January 1, 2000 all newly-manufactured drives would support region coding in hardware rather than relying on software enforcement. For the purpose of this discussion, I will call the two types o...

The not-entirely-unwitting victims of the Daily Show interview

NPR's On the Media covers the world of the fake news interview, the leading example of which in the United States is The Daily Show with Jon Stewart. Despite what you may think, the people interviewed by the likes of Ed Helms and Samantha Bee actually know that they're being interviewed by a fake news show and go along with it anyway. But that doesn't mean that they know what's coming. In a related story, MSNBC looks at what happens to some of those interviewees after the episode airs. [Typos corrected 9:30am]