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


androidi androidi
  • Microsoft should open-source Windows XP

    Maybe there could be some sort of model that's not fully closed or open.

    For example, lets say I find a bug that's making life a misery to me (there seems to always be 1-3 of those per RTM). Then lets say I submitted this bug and MS decided it was not worth fixing because not enough people reported it or fixing it was high risk.

    Now lets assume MS wanted to find some solution to this that allowed people to fix those bugs in some restricted manner (and of course you'd become responsible for maintaining the fix if future official update should cause incompatibility with your patches). If I was responsible for this solution I'd just tell people to send suggestions for how to handle this scenario and then filter them down until something was found. One such suggestion might be to have people who really want to fix their pet bug, pay some sum to cover fees of setting up NDA and then just hand them the code for a particular module which they need to fix the bug (or which they think they need - to avoid spending money on MS side to identify where the bug really is). And then have tool that can turn this "partially available source"-modification into some kind of patch that gets applied to the windows .dll just after it gets loaded (it would be signed in a way that only let it load on your computer).


  • How to secure any connection between 2 Windows clients according to this ​specificati​on?

    Well I have a criteria that if one device is compromised, it won't compromise the other devices, giving some time to notice the compromise. And pushing updated images and firmwares to the device frequently might help too while logging traffic externally. Resetting the machine through isolated system (eg.the phone) before connecting seems reasonable approach? Or is there simpler way...



  • How to secure any connection between 2 Windows clients according to this ​specificati​on?

    I'm sure this has all been already implemented, I'd just like to know what the parts of the system described below are called and links to how to set them up.

    So lets say you have a smartphone setup to verify your identity to the degree the tech in the phone you have allows - eg. it probably didn't come with a wearable hat or hood that looks for unique brain activity responses to patterns seen on the smartphone screen to determine its you present at the phone.

    Now lets say the smartphone has this identity verification system completely isolated physically from other (network/phone-hardware), so that your identity cannot leak. This identity verification system needs to somehow communicate to other hardware (windows clients) in unspoofable manner that you are right now present holding the phone.

    Now the objective is that since your phone knows it you, you can just take this phone physically to two different Windows client computers and setup a secure communication between them, where there are no keys transmitted in the network, just encrypted data. And even if someone had control over "root certificates" on both clients and was "MITM" in the network, they would not be able to decrypt this communication. And even if someone gained access to both computers, but did not have the smartphone identity verification system present, they would not be able to decrypt/spoof/steal anything.


  • Laughs of the day

    Was just trying to find out what's the oldest legit filedate I might encounter. Explorer shows 1.1.1980 dated folder as having no date (zip extracted with winrar). Is that ntfs "null date" or what? edit: alley cat's cat.exe has date from 1984.



    "When I was in graduate school one of my tasks was to read old astronomical CCD images that were written on magnetic tape (and there were a lot of them, since my advisor had been testing CCDs for the Hubble). So for a couple of months I sat in a small workroom with the department's only working Kennedy drive reading tapes.

    Because of age and prior use, many of the tapes were shedding oxide, making the drive rock back and forth over many segments in an attempt to retrieve the blocks thereon. After every few tapes I had to wipe the oxide from the read heads. Then, just to make the process a little more tedious, the data itself had to be byte-swapped. ..."

    "bake the tapes in a slow-cooker before you even think about playing them!

    in my broadcast days i encountered a guy with the last working 2" J-format video deck in this side of the world. he actually had about 10 of these decks, all the size of an industrial fridge. he'd use parts from all 10 to keep one working.

    he built a room-sized oven to slow-bake the tapes to re-activate the adhesives that had broken down, otherwise he'd destroy the tapes and mess up his only working machine.

    he's still transferring 2-inch reels of old TV shows..."

  • Laughs of the day




    My favorite trick is to write a simple instruction emulator for an obscure microprocessor.

    The copy protection and some of the core functionality will then compiled for the microprocessor (GCC is a great help here) and linked into the program as a binary blob.

    "The copy protection and some of the core functionality will then compiled for the microprocessor (GCC is a great help here) and linked into the program as a binary blob." If only rms knew... –  leftaroundabout Feb 28 '12 at 18:48
  • Why Roslyn's "inline declaration expressions" are no panacea

    I posted this suggestion here: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/5734714-generate-and-infer-the-type-y-declaration-for-c

    And added the following comment detailing possible implementation:

    You could write the code like this:

    if (!x.Try(out Type y = null .. and if you now press eg. CTRL+comma, the code would automatically changed to read:

    Type y = null;
    if (!x.Try(out y,

    While in the example above the Type was written manually, the implementation could fill in the "Type" from the Try-method declaration automatically after you write "out" and press the following space and then if you press backspace, it will be erased completely, allowing to write in something else (eg IType).

  • Why Roslyn's "inline declaration expressions" are no panacea

    With my feel having been that most of the time I use Try...(out...) pattern I use it something like this:

    if (!x.TryBlah(out y)) { fail/error }
    .. use y ...

    I decided to do couple findstr's to filter out all Try usage in *.cs (this included my own code and bunch of 3rd party library code), and then filter out those which used "!" before the Try. I then counted the lines using Try with and without "!".

    40% more of the found code was using "!x.Try(out ..." pattern. (your results may differ)

    So this to me confirms that the suggestion I made earlier is actually more useful than "inline declaration expressions". While the new Try(out var blah) is nice, it's clearly no "panacea" and implementation of the IDE feature I describe below would significantly decrease the pain when using the !..Try(out ...) { fail } pattern.

    The reason is pretty obvious:

    if (x.Try(out var ...))
         if (x.Try(out var ...))
           .... etc .. this ends up in a nested mess and error handling looks like a mess
           ... or you end up doing one-liner methods and then you essentially have to learn functional style of programming whether you wanted or not (I like C-style and !x.Try(..) fail; works best with it)

    The best solution I have come up so far is to forget the language changes and instead focus on improving the editing experience, so that the y out-type declaration you'd have to write prior to the Try(out y ..), would instead be set-up by the IDE at the point which you have decided which possible Try- overload you want to use, should there be several. At this point the IDE could write the "InferredType y = ***;" for you, and you then just write part that *** is substituted for.

  • Make CodeLens Available Outside of Ultimate

    Here's my suggestion for next Ultimate:


    Show variable contents interleaved into the code during debug step-through.
    text editor when not debugging: 
    line 4. line of code with int variable i1 and string s1; 
    line 5. line of code with int variable i2 and string s2;
    text editor while debugger paused at line 4: 
    line 4. line of code with int variable i1 and string s1; 
    line "4.5": i1= 123 s1="bla bla bla...(truncated if too long"); 
    line 5. line of code with int variable i2 and string s2;
    Optionally interleave all things in local and global scope into all lines by pressing some toggle key.
    The variable visualization could be implemented such that the each variable visualization gets a small cpu time slice (eg. let visualizer thread run for max 5 ms. then suspend) and then the visualization proceeds to next variable, allowing use of resource intensive visualizers but in a way that won't freeze the ide/hog cpu, letting the other variables render with equal opportunity.

  • ... And now the build stream stopped working during Anders session

    ... And now the build stream stopped working during Anders session

    9:21:08 - stream stops there

  • How is MS preparing for high contrast, high dynamic range OLED monitors?

    eg. Lets say I have OLED desktop monitor. (The burn-in problem can be likely be solved by drawing the images in crt-like fashion at say 200+ hz)

    Now I should be able to have graphics with white 255,255,255 (like most web pages) not actually output at full brightness, but at a brightness that looks more "paper white" at the prevalent ambient lighting.

    And then if I have a photo or video open in the same window, Windows should somehow know that theres photo or video that is supposed to take advantage of the high dynamic range/contrast of the OLED display. Or if I pressed some hotkey, I could scale all whites (including the photos) to be at the lower dynamic range. (because there could be some photo with sun shining in it, and it would make everything else on the page unreadably dim as your eyes adjusted to the "sun" brightness glowing from the photo).