Entries:
Comments:
Posts:

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

Comments

androidi androidi
  • Defrag Tools #118 - PerfView Part 6

    In Windows 7, stopping the tracing in many if not all ETW based tools caused HDD's to spin up. Is this still the case with Win 10?

    I used to like process monitor back when it didn't use ETW. Now it's a tool of last resort as it's so heavy - huge activity when you start it and then spins up the disks when you end it.

    I'd find out myself* but the Start Menu in 10 previews so far is not back to 7's usability so at this point I don't see much reason to upgrade because it's not much of an upgrade if you take a hit in usability of the most used Windows feature. Another concern is the "free edition" - well lets just hope there's a "good value" edition as well, just with less legal copy and without the features intended to make the free edition somehow profitable.

     

    * I have 10 in VM but the spin up problem does not occur in VM and you need a bunch of 3.5" hdd's to really notice it.

  • Visual Studio 2013 Update 4

    I don't like those (just like in task manager in W8.1) CPU % usage graphs which can't show the usage of the most utilized core invidually - eg. if a single physical core was maxed out. If you have % across all cores/cpu's then you have no idea if 50% means 25+25 (dual proc e8400 half loaded) or 100%.

     

  • Debugging Improvements in Visual Studio 2015

    Since I got tired of waiting these improvements, here's what I'd like to be doing in addition to what I'm doing now in 2013 (except for the color changes and direct interaction with the debugger):

    1. move caret where you want the bp

    2. press add breakpoint key

    3. this changes the bg color of the line for the characters that follow until esc/arrow up/down or "; " is entered (inline debugger condition that looks just like regular code except talks to the debugger and doesn't end up in the code file but in meta data file)

    4. Now if you want multiple conditions, just press return/enter after ; instead of space to create a new condition line entirely with the custom "inline debugger condition background color"

    5. The code written here can be in a global project that is loaded all the time. So you can write custom debug tool code that's always available and since it's within the market, you don't need to use namespaces or classes. This debug tool project can be in any CLR language.

    Advantages over the current solution:

    1. to create a x==5 condition, there is a total of 6 key presses excluding the toggle BP key: "[BPKEY]x==5; " and then you're back to writing code normally. I suspect there's more to the shown approach (space,tab,arrow) - assuming you can use the new system completely without mouse.

    2. Condition code can be as complex as you want with as it's compiled into the executable like regular code with a check whether the condition/debugger is active right now - the compiled conditions can be changed with E&C during runtime

    3. Unlike regular code this code also gets access to intellitrace/debugger during runtime, by way of the auto-included debug-aids project referencing the VS stuff

    4. Takes less vertical space - adds only new lines when multiple conditions/actions present at same spot - yet is visually obvious with the background coloring (my current solution isn't)

    I implemented the above system into my projects sometime ago. What I don't have is ability to talk to debugger/intellitrace or the custom background color, so my custom bp code is kinda lost in the code (that's why I made it ALL CAPS like : d.BP(x==5); where d is the global "debugging stuff" class. To help with IntelliTrace I did a load of dummy "nop" methods: d.IT(object,...) that will cause IntelliTrace to show the variable content at that point - but this could be improved a lot by having a "sample global debug tools class" which shows what you can do by talking to debugger/intellitrace when condition is hit.

     

  • Defrag Tools #108 - Sysinternals SysMon - Mark Russinovich

    There's one (obvious) thing sorely missing from the tool but as you said, if it was implemented then it might become something the malware authors would anticipate. Now they might not bother.

    Stronger approach would be to have MS ship Windows with some sort of rootkit-detection dongle that had eg. USB port with debug ability and a network or wifi for getting updates externally to the rootkit detection algos without going through the compromised system.

  • TWC: Sysinternals Primer: TechEd 2014 Edition

    It'd be interesting improvement if the Process Explorer could automatically use a low level driver to create hashes from the executable sections of processes and submit those to virustotal and if unknown then submit the executable sections, because why would the attacker drop anything on the disk if there's a hole on the server they can get back in with later? This needs to be done in a way that there is no way for the attacker to detect that this executable section hashing is being performed. This could be done by having the section hashing/capture run in the vPro/smbios and have a direct connection from there to a network or storage device that is not visible to Windows, so that this auditing can be completely isolated. Process Explorer can then run on another computer or vm and connect to the low level capturing to get a view of the processes and hashes that can't be manipulated, and the attacker won't be able to know they are running on the system.

  • TWC9: Visual Studio 2012 5.5 million downloads, VS2013 Virtual Launch, ScriptCS and more...

    Can someone who's tried the Oculus Rift tell me how it works in the following sense:

    If I have a PC monitor at hands distance, obviously my eyes are focusing at the distance of the monitor. Or if I watch the sky, they are focusing at "infinity".

    One of the problems with these devices is that since the panel/lcd in the Rift is physically only ~inch away from your eyes, unless there is something that two ophthalmologists I asked claimed to be impossible, your eyes are focusing just a couple inch away (bit like looking at ones nose). And I suspect that if there was some "magical optics" to solve this, they might need invidual adjustment, possibly dedicated adjustments for both eyes, atleast in my case, unless one is supposed to wear corrective lenses also with them.

    I read hints suggesting that in some of the military planes and windshield displays they have somehow solved this, allowing one to focus "at the sky" while somehow projecting the CGI to a surface like the windshield or helmet visor. Allowing to keep focus at infinity while being able to read the stuff that's being projected from/at close distance (but "at infinity", as far as focusing ones eyes goes).

    I've long wanted such technology as if one could swap from "infinite focus" to "near focus" while keeping the CGI-text readable, this would solve some of the reading related 'lazy focus' issues that come from extensive focusing of eyes at certain distance as the eye focus mechanism isn't getting practised enough.

     

    If Kinects big deal is end to end response time/latency, I think the above focusing issue is the classic big deal with wearable computer displays (not panel resolution which some might believe is an issue - visible spacing between pixels is another real issue but irrelevant unless the focus issue is also solved). Has Oculus Rift really solved that or have I been right to ignore this hype?

  • Defrag Tools: #59 - Larry Osterman

    @Larry Osterman:

    @MagicAndre1981:

    From what I've read about articles regarding low latency audio, since ACPI came along they pretty much always involve either swapping hardware or possibly toggling stuff off in BIOS and hoping the IRQ order changes (incase you need all the stuff you bought on a high end motherboard).

    The best approach IMO would be a simple to use user option somewhere that allows selecting any one or two devices in the system and have the IRQ usage automatically re-arranged such that that those devices get a dedicated/non-shared IRQ that has also higher priority over the others.

    eg. In my system I would manually prioritize audio, midi and custom hardware attached to any bus (eg. data acquisition or some homebrew hw on parallel port or GPIO pins) to have highest priority and network (eg. usb wifi) after that, the other devices can wait until those are done. However, if gaming I might want to prioritize GPU and input devices first, sound second (bigger buffer). (eg. in TMNF the network latency and sound are irrelevant, it's all about reaction time to what you see)

    This could be limited to the Pro/Ultimate or similar SKU to avoid big HW vendors going back to assuming that they have dedicated IRQ for whatever consumer hardware they put out, and MS could only offer WHQL certification for hardware that worked with IRQ sharing for normal use cases, leaving user the choice which audio device on the system they want to prioritize highest.

     

     

  • Defrag: Keyboard Fail, Search Auto-Suggest, Wider CMD Window

    [15:00] - Search no longer showing auto-suggest. 

    That answer was bit of half-way IMO.

    Both you said that it *used to work*. And then some obscure setting that controls it which you didn't know about has it (the partial match /auto-suggest) turned off.

    So the obvious question is, who turned the setting off if you guys didn't know about it? This is obviously major user experience bug (unexpected changes in user experience that no automatic testing will ever catch in QA), almost the level of the issues in Vista, except in Vista there was no way to fix them. (and the Windows 7 fix that MS applied makes the explorer slow down little by little until it's unusably slow).

    Anyway I'm not upgrading from Windows 7 too soon since after all these years I have finally found fixes to all the show stopping issues in Windows 7 (Aero frame rate perma-drop to 15 FPS and explorer slow down).

     

  • Desktop apps: WPF 4.5 and Visual Studio 2012

    That DJ joke at 37:20 in the binding delay context was funny.

    But what is going on in VS2010 and VS2012 that when you scroll the code using the scroll bar, it stops updating momentarily if you scroll it too fast. That makes the products feel inferior to VS2008, nevermind the fact that if you don't have everything on SSD that VS2010/2012 access, they're going to start up slower than VS2008 from a HDD.

    These two issues are key reasons why I have not bothered to learn WPF after finding that they are more rule than exception in WPF apps compared to previous technologies. IMO it's not worth bothering with WPF until the issues which makes your product feel inferior within timeframe of the users first impression are solved, if they can be.

    If MS hasn't been able to solve such issues in their flagship product it just cements my belief that WPF & .NET have still unsolved fundamental perf issues and product made with them cannot compete with same product done in Apple's development technologies when it comes to the critical first impression.

    To everyones dismay, it would seem the long cold launch time issue has migrated to WinRT. Even on a high end desktop launching stuff from SSD, the Metro app startup times are unacceptable and professional journalists have pointed this out as a major issue. The result of this is that I haven't bothered to look at learning WinRT either until there's some proof that MS can solve this for the scenario where user installs an application and runs it for the first time, the "first impression run". The target for this should be <300 ms rather than 10 seconds that the journalists quoted. I can't remember any application in my 486 DOS days that took even 1 second to start from HDD! And those apps were much more complex than anything I've seen Microsoft ship with Windows 8. In 300 ms you can download and execute some darn complex DOS apps that fit on a floppy or two and haven't been surpassed to date. Example: Elite 3 game.

    There is a technical solution to this though, instead of downloading Modern apps and cold running them, download a delta compressed memory image where the base for the delta is a blank running Modern/NET app and start executing it progessively during download. Just NGEN is not enough when it comes to WPF bloat.

    The "bound scroll bar" performance issues should be solvable with caching on background thread if there's no other solution, there's no technical reason why "scratching" the VS2010,2012 code editor scroll bars should have any dips below 60 FPS.

     

     

  • Lang.NEXT 2012

    @Charles: I don't want to name anything specific, just that both the clang talk and the questions during the panels were talking about many other things that have impact*. I have to add that you have had good bit of functional programming and STL visibility here, and things like IntelliTrace and DebuggerCanvas are exciting but I just wish there were more of this non-language stuff thrown around, especially if it's stuff that MS has advantage of doing because they could, if they wanted, take all parts of the end-to-end development experience further than what's the norm today.

    I guess I just got spoiled with the language stars videos talking about language futures often quite often here, and when there's not as much futures talk around other things besides the language, the "law of rising expectations" kicked in and I was expecting to hear similar amount of hype around other things.  Wink

    * By impact I mean, a lot of the things in GoingNative were things that maybe C# developers take for granted. So having those in C++ is exciting, but what would be exciting for C# developers? How about things that C/C++ is good at, or completely novel stuff thats only possible if you have exclusive access to modify language, libraries, IDE, debugger and OS to make some compelling feature happen? I don't know what would that be, but it would certainly excite C# guys like me. Wink