The Old New Thing

Just because you're a control doesn't mean that you're necessarily inside a dialog box

Prerequisites: Moderate to advanced understanding of the window and dialog managers. When you're implementing a control, you need to be aware that you aren't necessarily being hosted inside a dialog box. One commenter suggested handling WM_KEYDOWN and closing the dialog box as a way to prevent multi-line edit controls from eating the Enter ...

Do you have a Starbucks name?

Annabelle Gurwitch has found what may be one of the few remaining places where you can be anybody you want: Starbucks. Check out the part towards the end where people on the street are asked to share their Starbucks names. I'm reminded of a time many years ago when Schultzy's Sausage had expanded to a second location in Redmond. (They ...

What are these spurious nop instructions doing in my C# code?

Prerequisites: Basic understanding of assembly language. When you debug through some managed code at the assembly level, you may find that there are an awful lot of nop instructions scattered throughout your method. What are they doing there; isn't the JIT smart enough to remove them? Isn't this going to slow down execution of my program? It...
Comments are closed.0 0
Code

The Radioactive Boy Scout is back in the news

The Radioactive Boy Scout appears to be back to his old tricks.¹ Nitpicker's Corner ¹Although this statement is written as if it were a fact, it is actually my interpretation of a newspaper article and is not an official position of Microsoft Corporation...

What are these strange cmp [ecx], ecx instructions doing in my C# code?

When you debug through some managed code at the assembly level, you'll find a whole lot of seemingly pointless instructions that perform a comparison but ignore the result. What's the point of comparing two values if you don't care what the result is? In C++, invoking an instance method on a NULL pointer results in undefined behavior. In ...
Comments are closed.0 0
Code

For $15, you can purchase incorrect information, and to prevent people from getting it, you have to renew every three months

Given what I know about Naveen Jain, I basically view everything he does with enormous skepticism.¹ I mean, I trust lawyers more than I trust that guy, that's how bad it is. After being booted from InfoSpace, Jain moved across the street and founded Intelius, a company that does basically the same thing: Selling directory information.&...

C# static constructors are called on demand, not at startup

One of the differences between C++ and C# is when static constructors run. In C++, static constructors are the first thing run in a module, even before the DllMain function runs.¹ In C#, however, static constructors don't run until you use the class for the first time. If your static constructor has side effects, you may find yourself ...
Comments are closed.0 0
Code

SIFF 2007 wrap-up: Grandhotel, The Boss of It All, Vacation

Sorry, SIFF fans, but this article got stuck in the queue. But now it's unstuck. Grandhotel : A sweet story about a shy, innocent, weather-obsessed hotel employee and the even stranger people who surround him. I wasn't quite sure what to expect, but I was quite pleased with what I got. Part comedy, part drama, the movie creates touching ...

What is the order of evaluation in C#?

The C and C++ languages leave the order of evaluation generally unspecified aside from specific locations called sequence points. Side effects of operations performed prior to the sequence point are guaranteed visible to operations performed after it.¹ For example, the C comma operator introduces a sequence point. When you write f(), g...
Comments are closed.0 0
Code

Math is hard, let's go shopp—oops

(The title is another variation on Math is hard, let's go shopping!", which appears to be a popular catchphrase over in Michael Kaplan's neck of the woods. The history of the phrase was researched on Language Log.) Last spring, I was at a local crafts store and paid for a $2.15 item with a $5 bill and two dimes. The teenage salesclerk rang...