April, 2004

  • Eric Gunnerson's Compendium

    Pragmatic Unit Testing in C# with NUnit


    I got this reference from http://www.theserverside.net, but since they require login to get to the link, I'll instead refer you to the book page

    I took a look one of the sample chapters, and I thought it looked pretty good, except for the fact that the first interface in the chapter is named “Environment” (the others are fine). 

  • Eric Gunnerson's Compendium

    C# Featurette #2 - Inline Warning Control


    Another feature that we added for Whidbey is the ability to selectively disable warnings within your code. For example:

    #pragma warning disable 135

      // Disable warning CS135 in this block

    #pragma warning restore 135


  • Eric Gunnerson's Compendium

    More on MVP Summit


    Pablo asks,

    Is this the sort of range of discussions that would be included on something like Channel 9?

    ... and I decided that I should talk a little bit more about what goes on at an MVP summit, especially since I'm a bit more coherant today than I was last night.

    In the feedback session that I led (facilitated (MC'ed (hogged the mike in))), I was primarily concerned with getting the MVP's opinion on how questions like:

    • What is the worst thing about being an MVP?
    • How could Microsoft support you better?

    We also spent a fair amount of time showing the MVPs what's coming up in Whidbey and getting their comments. Because we're close to Whidbey being released, most of the information that we discussed is public, but we also share some information that is under NDA.

    Both useful activities, but hardly interchangeable.


  • Eric Gunnerson's Compendium

    C# MVP Feedback session


    On Tuesday night, I spent a bit of time at the MVP party (good company, not a great party), and then went home to work on slides. Scott had gathered some MVP feedback, and it was my job to condense it into some summary slides to drive the discussion.

    I polished the slides this morning (about two days too late for my taste), and then did the presentation to the MVPs this morning. It took me a few minutes to get back into feedback mode, but then I talked for about 90 minutes without a break.

    I know that the C# are MVPs are talented, but I'm always amazed how insightful they are. We are very lucky to have them.

    Doing this sort of customer feedback session is one of my absolute favorite things to do. It took me arond 35 years (and a bit of work on my part) to discover that rather than being a fairly shy person, I'm actually a bit of a ham when I get up in front of a group. Customer feedback sessions are great because I can ad-lib my answers, and I like both the challenge and the comedic potential in such an interaction.

    I always learn something new in such a session. One of the MVPs commented that if there was an organized group of C# MVP blogs, that would be one good way to get insight into what MVPs were thinking about. What a great idea.

    Thanks to all the MVPs for coming to Redmond to talk with us, and for all the C# work that they've been doing. Their impact on the C# community is immense - whether it be on a newsgroup, on a website, through training, or through online content.

  • Eric Gunnerson's Compendium

    Term of the day: Inbox Camping


    Inbox Camping

    Process of repeatedly checking your email to see if there is something new to check up on. Especially common as a task-avoidance behavior, and enabled by Outlooks “new post” popup.

  • Eric Gunnerson's Compendium

    Extreme Programming Chat

    Jay mentions that Ron Jeffries is doing an Extreme Programming Chat
  • Eric Gunnerson's Compendium

    MVPs are here!


    The Microsoft MVP Global Summit started yesterday. I had hoped to make it to the opening party last night, but the combination of 22K vertical feet of skiing on Saturday, daylight savings, and a dinner with my mother last night meant I couldn't make it. I unfortunately can't make the MVP dinner tonight, either, because of a previous engagement.

    I will be at the party Tuesday night (after my daughter's softball game), and we have a great C# MVP day planned on Wednesday. If you're a C# MVP, you should be looking for Scott, as he's “Mr. C# MVP Guy”

  • Eric Gunnerson's Compendium

    My presentation today


    This morning I presented at a community review for my manager, my second level, my third level, and my fourth level (one of the MS VPs). The review is about how our division is doing on community overall, and I owned talking about some of the things that we've been doing on the C# side (blogging, FAQ, etc.)

    I was a bit nervous when I was on the way to the presentation, but I've found that if I do good walkthroughs ahead of time, once I start presenting, I'm focused on the presentation and I don't even think about being nervous.

    Of course, the 8 hours I spent on writing slides and practicing helped.

    So my guidance is

    Never present in front of an important group of people without having practiced your talk at least twice.

  • Eric Gunnerson's Compendium

    How a bug becomes a fix...


    Anonymous Corporate Coder wrote a comment on my ZBB post, asking what set of bugs ZBB relates to.

    I started to update that post, but it quickly expanded, so I've decided to write a separate post.

    We're organized around a milestone approach. Some milestones are date-driven, some are quality-driven, and some start as quality driven and change to date driven.

    As we code through a milestone, all bugs belong to that milestone, and as we start to push towards ZBB, we will be tracking all those bugs. At some point along the march to ZBB, we will start moving some bugs to a later milestone if there is one, or postpone them for this product.

    Whether a bug gets moved or not depends upon a lot of factors. If we're quality driven, we will punt fewer bugs beyond the milestone. If it's the last milestone of the product (RTM), we punt fewer bugs. We have an elaborate way of describing whether bugs are fixed or not (Gus, if you're reading this, how about a post on bug bars?).

    That will get us to a set of bugs we believe should be fixed in a specific milestone, and we drive to get that fixed.

    On the C# compiler team, we try not to punt bugs, especially if its the last milestone.


  • Eric Gunnerson's Compendium

    A new career choice


    Let's see:

    • Never been convicted of a felony
    • US born
    • 40 years or older
    • Resident for the last 40 years.

    I can run for president!


    Darn. I just checked Wikipedia, and found out that you only have to be 35. I've been wasting the last 5 years.

  • Eric Gunnerson's Compendium

    I'm 28 today...


    On my post about “particular boats and funicular goats”, Steve properly surmized that it was birthday related. It comes from the groundbreaking Dr. Suess book “Happy Birthday to You”, which I think is Geisel at his best. Long sentences, wonderful rhymes, and a real challenge to read well. Luckily, I have the excuse of having a 9 year-old-daughter, so I can still read Suess.

    So, what am I doing to celebrate? I started at 6:30 with a bike ride (35 degrees, but beautifully sunny), then came home, ate, and came in to work. I've just finished my part of a presentation (more on that in another post). This afternoon one of my friends (Hi Nick) is flying in for the MVP summit, and we're heading up to my ski cabin for the weekend.

    I'm not sure whether I'm going to buy myself a present yet. I've been thinking about buying myself a Twilight Zone, but I haven't found one I like yet.

    Oh, and that's 28 Hex

  • Eric Gunnerson's Compendium

    Acronym of the day: ZBB


    ZBB = Zero Bug Bounce

    As we start moving from the writing code phase into the fixing bugs phase, the development teams start pushing towards zero bug bounce. If you've noticed that the number of blog posts from the C# team has down a bit recently, that's one explanation.

    Why is it called zero bug bounce?

    Well, in the days and hours coming up to the ZBB date, teams will try really hard to get all their active bugs resolved, so they can declare, at one point in time, that they reached ZBB (they should technically say that they reached ZB, not ZBB, but thats not the way it works).

    Reaching ZBB demonstrates two things. First, it shows that you have gotten rid of your bug backlog, and it also shows that your fix rate is greater than your incoming rate

  • Eric Gunnerson's Compendium

    User focus on the C# Language Design Team


    Rick writes an interesting article

    Rick is a really sharp guy who became a usability engineer by an interesting journey (which he should blog about sometime - hint hint). He has an innate feel for how people relate not only to computers but in other situations. Last year when we had some customers in to give us feedback on our early Whidbey plans, we needed to figure out how to structure a feedback exercise. Rick looked at the problem for about 30 seconds, and then said, “You don't want to do <x>, because you won't get a good response. You could do either <y> or <z> - the first would be better if you're interested in <a>, the second if you're more interested in <b>” (though he used actual words rather than saying “less than x greater than”.

    He is correct that we're very interested in user feedback, but as I've mentioned in the past, it's sometimes hard to talk with customers about such issues, because the answer will at time be “no”, but the reasons for the “no“ can be hard to verbalize. I'm still looking for a well-contained issue that I'll talk about more broadly, and with any luck, give you more insight into what it means to be a designer (I only consider myself a semi-professional designer...)

    I continue to be satisfied about the design of C#, but even in our second version, there are a couple of cases in the past few months where we've said, “Well, if we'd been thinking about that when we first did the design, that would be a wonderful way to express that concept, but since we didn't, we're stuck with what we have now.”

  • Eric Gunnerson's Compendium

    I Love this


    From /.



Page 2 of 2 (39 items) 12