Browse by Tags

Tagged Content List
  • Blog Post: Read-Only and Write-Only computer languages

    A colleague and I were chatting the other day and we were talking about STL implementations (in the context of a broader discussion about template meta-programming and how difficult it is). During our discussion, I described the STL implementation as “read-only” and he instantly knew...
  • Blog Post: Getting started with test driven development

    I'm at the build conference in Anaheim this week, and I was in the platform booth when a customer asked me a question I'd not been asked before: "How do you get started with test driven development". My answer was simply "just start - it doesn't matter how much existing code you already have, just start...
  • Blog Post: Nobody ever reads the event logs…

    In my last post, I mentioned that someone was complaining about the name of the bowser.sys component that I wrote 20 years ago. In my post, I mentioned that he included a screen shot of the event viewer. What was also interesting thing was the contents of the screen shot. “The browser...
  • Blog Post: Reason number 9,999,999 why you don’t ever use humorous elements in a shipping product

    I just saw an email go by on one of our self hosting aliases: From: <REDACTED> Sent: Saturday, April 30, 2011 12:27 PM To: <REDACTED> Subject: Spelling Mistake for browser in event viewer Not sure which team to assign this to – please pick up this bug – ‘bowser’...
  • Blog Post: The case of the inconsistent right shift results…

    One of our testers just filed a bug against something I’m working on.  They reported that if they compiled code which calculated: 1130149156 >> –05701653 it generated different results on 32bit and 64bit operating systems.  On 32bit machines it reported 0 but on 64bit machines, it reported...
  • Blog Post: Why does Windows still place so much importance on filenames?

    Earlier today, Adrian Kingsley-Hughes posted a rant (his word, not mine) about the fact that Windows still relies on text filenames. The title says it all really. Why is it that Windows still place so much importance on filenames. Take the following example - sorting out digital snaps. These are usually...
  • Blog Post: Not Invented Here’s take on software security

    One of my favorite web comics is Not Invented Here by Bill Barnes and Paul Southworth.  I started reading Bill’s stuff with his other web comic Unshelved (a librarian comic).   NIH is a web comic about software development and this week Bill and Paul have decided to take on software security...
  • Blog Post: I can make it arbitrarily fast if I don’t actually have to make it work.

    Digging way back into my pre-Microsoft days, I was recently reminded of a story that I believe was told to me by Mary Shaw back when I took her Computer Optimization class at Carnegie-Mellon… During the class, Mary told an anecdote about a developer “Sue” who found a bug in another developer’s “Joe”...
  • Blog Post: Digging into the history bin (AKA: Microsoft Developer says that Windows is useless)

    As I was writing my “25 years of Larry’s history at Microsoft in 1 year chunks” blog posts, I spent a fair amount of time digging through my email archives (trying to figure out exactly what happened at what time).  During this, I ran into a link to a post I’d made on the Info-IBMPC mailing list...
  • Blog Post: Thinking about Last Checkin Chicken

    Raymond Chen’s post today started me thinking about “Last Check-in Chicken” again.  Back in the says when we were close to shipping Windows Vista, I wrote about ” Last Check-in Chicken ”.  What I didn’t mention was who ultimately won the game for Windows Vista. It turns out that the very last...
  • Blog Post: 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...
  • Blog Post: 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...
  • Blog Post: 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...
  • Blog Post: 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...
  • Blog Post: 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...
  • Blog Post: 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...
  • Blog Post: 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...
  • Blog Post: 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...
  • Blog Post: 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...
  • Blog Post: 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...
  • Blog Post: Threat Modeling Again, Presenting the PlaySound Threat Model

    It's been a long path, but we're finally at the point where I can finally present the threat model for PlaySound. None of the information in this post is new, all the information is pulled from previous posts. ---------------- PlaySound Threat Model The PlaySound API is a high level multimedia API intended...
  • Blog Post: Threat Modeling Again, Pulling the threat model together

    So I've been writing a LOT of posts about the threat modeling process and how one goes about doing the threat model analysis for a component. The one thing I've not talked about is what a threat model actually is . A threat model is a specification, just like your functional specification (a Program...
  • Blog Post: Threat Modeling Again, Threat Modeling PlaySound

    Finally it's time to think about threat modeling the PlaySound API. Let's go back to the DFD that I included in my earlier post, since everything flows from the DFD. This dataflow diagram contains a number of elements, they are: Application: External Interactor PlaySound: Process WAV file: Data Store...
  • Blog Post: Threat Modeling Again, What does STRIDE have to do with threat modeling?

    In my last couple of posts , I've talked about the STRIDE categories. As I mentioned, STRIDE provides a convenient classification mechanism for threats, and threat modeling is all about trying to identify the threats to your feature/component/whatever. When we first started threat modeling, we already...
  • Blog Post: Threat Modeling Again, STRIDE Mitigations

    I described the 6 STRIDE categories the other day . In that post, I mentioned that there are "well understood" mitigations for each of the STRIDE categories. Of course this list isn't exhaustive, many of these are obvious, and some don't apply, but when you're looking at providing mitigations to the...
Page 1 of 8 (181 items) 12345»