Everyone wants a shiny new UI

Surfing around the web, I often run into web sites that contain critiques of various aspects of Windows UI. One of the most common criticisms on those sites is "old style" dialogs.  In other words, dialogs that don’t have the most up-to-date theming.  Here’s an example I ran into earlier today: Windows has a fair…

55

Engineering 7: A view from the bottom

About 2 months ago, Steven Sinofsky and Jon DeVaan started the “Engineering Windows 7” blog.  The instant I saw the blog, I wanted to contribute to the blog (because I love writing :)). I spent a fair amount of time thinking about what to write about and realized that one thing that wasn’t likely to…

8

Resilience is NOT necessarily a good thing

I just ran into this post by Eric Brechner who is the director of Microsoft’s Engineering Excellence center. What really caught my eye was his opening paragraph: I heard a remark the other day that seemed stupid on the surface, but when I really thought about it I realized it was completely idiotic and irresponsible….

66

When you’re analyzing the strength of a password, make sure you know what’s done with it.

Every once in a while, I hear someone making comments about the strength of things like long passwords. For example, if you have a 255 character password that just uses the 26 roman upper and lower case letters, plus the numeric digits.  That means that your password has 62^255 possible values, if you can try…

20

Some final thoughts on Threat Modeling…

I want to wrap up the threat modeling posts with a summary and some comments on the entire process.  Yeah, I know I should have done this last week, but I got distracted :).  First, a summary of the threat modeling posts: Part 1: Threat Modeling, Once again.  In which our narrator introduces the idea…

16

What’s wrong with this code, part 21 – A Psychic Debugging Example – The answers.

So for the past couple of posts, I’ve been walking through a psychic debugging experience I had over the weekend. As I presented the problem, there were three pieces of information needed to debug the problem. An interface: class IPsychicInterface {public:    virtual bool DoSomeOperation(int argc, _TCHAR *argv[]) = 0;}; A test application: int _tmain(int argc,…

10

What’s wrong with this code, Part 21 – A psychic debugging example: The missing piece

As I mentioned yesterday, one of the other developers in my group had hit a sticky problem, and he asked me for my opinion on what was going wrong. There were 3 pieces of information that I needed to use to diagnose the problem, I gave you two of them yesterday: The interface: class IPsychicInterface…

18

Threat Modeling Again, Threat Modeling Rules of Thumb

I wrote this piece up for our group as we entered the most recent round of threat models.  I’ve cleaned it up a bit (removing some Microsoft-specific stuff), and there’s stuff that’s been talked about before, but the rest of the document is pretty relevant.    ————————————— As you go about filling in the threat…

12

Threat Modeling Again, Threat modeling and the fIrefoxurl issue.

Yesterday I presented my version of the diagrams for Firefox’s command line handler and the IE/URLMON’s URL handler.  To refresh, here they are again:  Here’s my version of Firefox’s diagram:  And my version of IE/URLMON’s URL handler diagram:   As  I mentioned yesterday, even though there’s a trust boundary between the user and Firefox, my…

26

Threat Modeling Again, Threat Modeling in Practice

I’ve been writing a LOT about threat modeling recently but one of the things I haven’t talked about is the practical value of the threat modeling process. Here at Microsoft, we’ve totally drunk the threat modeling cool-aid.  One of Adam Shostak’s papers on threat modeling has the following quote from Michael Howard: “If we had our…

11