Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements


Blue Ink Blue Ink
  • IE is Back!! Internet Explorer 9 RC Is coming

    @magicalclick: 70% seems too high. Even assuming that only 30% would find the command so cleverly hidden in the Tools menu, you would then have to consider:

    - all the people who never print a webpage and don't care anyway

    - all the people who know how to right-click

    - all the people who just go Alt+F P out of muscle memory

    - all the people who saw Eddie Izzard's "Glorious". (if you really must, you can skip the first 3 minutes)


  • PC  Microsoft Signature

    It's a great concept, except I would gladly see a "clean slate" option. The software they mentioned does look like it's integrated with Windows, which can't be said for most of the OEM tack-ons, but it's still not very useful to have an application when it duplicates the functionalities of something you are going to install anyway (e.g. Live Mail vs. Outlook).

    And as others noted, the hardware choice is limited... 768 is a no go for programming and neither is 900, especially when you are developing for WPF on a split screen. I wonder if it wouldn't make sense to have a "Visual Studio" signature program, i.e. some piece of hardware specifically tailored to developers and that runs VS (and the other tools) just great...





  • New WP7 developer tools are out. Will they show up through Windows Update?

    I wonder if the new tools support the new features that should be included in the upcoming WP7 update...


  • Google: Bing is copying our search results

    I see a minor flaw with the experiment... if I understood the article correctly:

    Google makes a bogus search term to return a list of results the first of which is an unrelated page (the "honeypot"). Engineers start clicking on that link and in a couple of weeks Bing also starts reporting that link as the top result for the bogus search. Bing is exploiting Google's rank, QED.

    Here's the rub... what would have happened if Google had made the honeypot appear *last* on the result page and had its engineers click on that anyway? I suspect that Bing would have still reported that link as the top result. The ranking would be totally different, and it would be really hard to contend that Bing is exploiting Google's rank.

    My wild (really wild) guess is that Bing is just collecting the URLs users navigate to and feed those to their indexer, exploiting user's judgment to find obscure relations between search terms and web sites (Google's redirection would make this pretty efficient). The fact that Google is the most popular search engine by a mile, and the fact that the top search result gets an inordinate amount of click love, would make Bing's results more similar to Google's than one might expect, but if my guess is correct, it would be just be a welcome (but not necessarily intentional, or malicious) side effect.

  • The noun project

    @blowdart: IE9 beta handles the page just fine. One more reason to try it out...

  • How much do you use "var" in C#?

    @magicalclick: I'm afraid I didn explain what I meant properly. Consider the following line of code:

    SomeType result = SomeMethod();
    // do something with result.

    so far so good. If I change SomeMethod so that it returns some unrelated type, I would get an error, right at the initialization.

    If I use var instead:

    var result = SomeMethod();
    // do something with result

    and again I change the return type of SomeMethod, the compiler will automatically change result to be of the appropriate type. There is no telling where a compiler error may show up, if it shows up; we may be changing the whole semantics of this code in some unforeseen way, introducing some subtle bug in the process.

    I hope this is clearer.

  • How much do you use "var" in C#?

    Readability is as subjective as it gets. Repetitions are bad, but I think the following cases are equally dubious in terms of readability:

    var i = 10; // what's the point?

    var a = new SomeLongType();
    SomeLongType b = null; // cannot use var here, and the asymmetry looks bad

    var c = Frobnicate(); // what's the type of c?

    The latter is especially bad, just add more indirection to see the problem it in its full glory:

    var foo = Frobnicate();
    var bar = foo.Tweak();
    var quux = bar.Confusticate(); // huh?

    You can still leverage the IDE to know what the type of quux actually is, but readability went down a few notches IMHO.

    I wasn't criticizing Anders Hejlsberg; for bad or for worse, whatever he writes is what the language is supposed to look like. If anything I was wondering if I missed some major point of var and being a Luddite for not adopting it that profusely.

  • How much do you use "var" in C#?

    While watching the video of Anders Hejlsberg, I happened to notice how he apparently uses "var" almost for everything, while I use it extremely sparingly, if at all.

    I realize it's mostly a matter of personal preference, but he being the father of C#, I wonder if this is what the language is really supposed to look like... what's your take on "var"?

  • Why is the "async" keyword needed?

    @androidi: I think a possible conflict could come from code like this:

    Task bar;

    void Foo () {
      await bar;

    we could be either using the await contextual keyword or attempting to declare a variable of type await. Both are equally likely, so the compiler would end up breaking on old code.

    The presence of async tips the compiler that we do mean the contextual keyword and not the type.

    Again, this is just speculation on my part... Eric Lippert has been on a roll about continuation and async, and he promised an explanation about why async is needed.

    Incidentally: The same post also mentions a few alternatives that were considered, mostly using composed keywords (which I believe would have solved this particular ambiguity). My favorite is:

    for sooth Romeo wherefore art thou FetchAsync();


  • Why is the "async" keyword needed?

    @spivonious: well, yes, the compiler could infer this, but I presume it's the easiest way to determine if a method is asynchronous or not without looking at the source code, even because we don't always have access to it.

    As to sticking the "async" in front of every method, I think that one of the demos showed in passing that the compliler will complain about that (you get a squiggly green line, I believe).