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
  • The new 2019

    This shows the issue with Yoga without a support/kickstand, if you didn't catch it from the explanation above. (when the display is thin & light & large, you really need both rigidity and friction support to make it a proper two handed drawing surface)


    @ 8m 20s

  • The new 2019

    The video linked shows some sort of tablet sitting flat on the table. Well I've been in school enough to know how horrible that is. You don't want to be staring down at the table. Or holding some tablet up in the air while trying to do serious work on it. A 180 degree hinge + kickstand design (I don't think any OEM has such out yet) allows to have adjustable degree and extreme rigidity even at the < 1 KG form factor for both drawing+touch configuration (display turned 90-180 degrees + stand in use) and writing (laptop configuration - display 0-90 degrees with no need for stand for lap use).

    The problem with the traditional ultrabooks that have limited degree of adjustment for the display is that a) you can't get it to a rigid configuration for pen use b) if you are in a cramped space like plane or bus, I've yet to see flat displays with low enough color shift to be unnoticeable from high angle of attack (laptop very near to chest, you can't have the display facing straight enough and colors start to shift even in the best flat displays I've seen).

    The issue with detachable displays is that 1) the display needs to be extremely light for the device to still work as proper laptop without stand 2) if you consider drawing with pen a possible primary professional use - then you want to configure the laptop into a rigid configuration that's similar to Surface Pro 3. - book stand style. In this configuration you might want to use both touch and pen - eg. left hand touch and right hand pen - with them doing different functions. If the display is detachable, it would need to have a kickstand. From design pov the issue with that is that just having the stand behind the display defines a lot of how the device will look in retail setting. As long as traditional laptops without stands are around in majority, it's going to look odd.

    My new idea is that if you have a Yoga like 180 degree hinge design, you can configure that to "drawing/painting-stand" configuration by turning the display 90+ degrees then optionally pulling some sort of stand from the base of the computer (not from the display), if you need extreme rigidity for using touch + drawing simultaneously without holding the device. The keyboard side should have some sort of high friction material subtly in few places to keep the device from moving.

    What would be even better? Well in the back in the hinge area, there could be a slot for adding an actual dead tree book stand. And then have slots on the display front and keyboard side for adding a support column when using the laptop as a real book stand. #1 reason I stopped reading dead tree books is that I don't have a rigid high friction book stand. Of course, now you'd also need extreme high friction support at the bottom of the laptop. This could be had by turning around the drawing-mode support/stand - on one side it would be smooth and other side rubbery.


  • Pixie Dust: Graphical Levitation System

    All I could think of was the safety aspect of walking in a room using such tech. You could create some floating 3d display probably reasonably safely if no one goes stand in where the waves go (they could of course detect you and stop before you go too near). So at best I see a room where you could be surrounded these and having them turn off quickly could theoretically allow building some sort of 3d material based vr image. Though if there's some glitch - some of that stuff could collide in flight and bounce to your face so I'd still want some protection. At these low freq it's also likely to be hard to avoid the movement of the objects so being near it, the vr-objects would look quite low res, limited by how much room there needs to be around each floating thing.

    Practical VR? Well if people could be put to half-sleep eyes open and then use some vr glasses to throw some images to the dream, the brain could, if it works as I'd imagine, fool you to really believe it was real + incorporate the stuff on the glasses into the half-dream world. eg. Like waking up, but not waking up and then waking up .. but not yet waking up. I've once had dream exactly like that.


    Few times I've also had a dream state where I could keep my eyes consciously slightly open and still have some level of dream like state going - see something blurry that wasn't there. Once it really was like that Simpsons e1 train visualization scene - high detail and being able to retain the consciously imagined thing visible with eyes closed. That's as close to half-awake-VR I've been. 

    My most enjoyable dream was where I was able to compose new music in realtime for multiple instruments simultanously (perhaps inspired by that Trek episode where Data listen to many musical scores at once - there was also a TV doc where someone was said to succesfully do same for couple scores at a time - ie it sounded like cacophony for us but he was able to discern the songs out of it). That dream went on for surprisingly long time given that I had felt like I had plenty of half-conscious control over the score (if I'd had full consciousness then it wouldn't have went on for so long as at that point the brain would be asking is this for real and end it right there - so probably for the fake-dream-VR to work, parts of the brain need to be kept in control to avoid them trying to stop them dream related activity that lets you think it's real and allow for doing stuff you wouldn't think possible while awake).

    Quick search found this "Recently, researchers discovered a brain area that acts as a kind of on-off switch for the brain. When they electrically stimulated this region, called the claustrum, the patient became unconscious instantly."



  • No MSDN renew with media option

    I don't think you need any software to make bootable windows installs, atleast on reasonably modern computers. Format, activate partition (diskpart/diskmgmt) and do what you need to get the root files/boot folder etc on the activated partition.

    There may still be some requirement (depending on the booting computer) that certain files are not "too far" in the bootable volume. So to be sure I've copied the largest folder last.

    Some years ago I tried to have 8 GB SD card as a cheapo "ssd" in my 486. I did get it working but it took a while to figure out that it was actually working as it takes so long time to get the prompt - apparently by having a DOS & BIOS from ~1992 or something, there's some rather slow process involved that may be related to the size of the boot drive or amount of folders/files or whatever. Kind of like those text editors that have their file open time determined by the size of the file opened instead of how many pages are visible on the screen. - reminds me of that Vmware snapshot deal where time to resume snapshot depends on size of the vm's memory. As if the vm was actually needing to access all that immediately after it was resumed ... Oh well I'll see if one of those 3 GB/s NVMe SSD's is of any help here when they're better available.-




  • My MultiMedia player is the default - where do I get the file path

    There's atleast 3 options. (if you already set your player as default but aren't getting the file then check with process monitor if the file is being passed (may need windbg or some com spy app if using dde or com). There's many ways to pass the file: command line param, dde, com but I only use approach #1 below for my stuff)

    1. Easiest and cleanest with no risk (for personal use): right click context menu option that's for all files. example:

    Windows Registry Editor Version 5.00
    @="\"C:\\Program Files (x86)\\Jujusoft\\JujuEdit\\jujuedit.exe\" \"%1\""

    (don't do this on other peoples system without asking though, people don't like things that put their stuff to explorer context menus without asking)

    2. for all file extension desired, create a handler that's similar to #1 -I don't have example (this is bit similar to right clicking a file and using "open with .. choose default program" - except you're doing it on the users behalf, so to be nice you'd have to have a setup where you ask what extensions people want to use your app with)

    3. create native handler that checks if the file is a video and then does stuff. risky since these tend to always have bugs that show up in other peoples systems. I personally avoid apps that use this approach or remove their handlers. To avoid issues it's best to test all apps in VM, if they install explorer integration dll then I might use app virtualization if there's not way to avoid their shell integration.

     (this is what the jujuedit installer attempts to do if explorer context menu integration is selected, it worked for XP but in vista or 7 it broke Device Manager! So that's why I created the registry option #1 above. Old WinRar 4.x versions also had bug related to this kind of handler. These also tend to interact with nvidia/amd context menu stuff their drivers install and sometimes in buggy ways, so when doing this kind of dll, test it with popular drivers and apps that also integrate with explorer - sometimes the bugs are quite obscure and if you have only few users they might not be able to figure out what's going on unless they can track it down that the issue started when app x was installed)




  • Most epic method you've seen?

    @cheong: As long as you're consumer then yeah do whatever makes for a nice user experience. But BCL is full of stuff that is using exceptions. I don't think there's any scenario where a library should throw exception in a potential hot code path. And how does a library implementor know they are or aren't in a hot path of some library end user? There's certainly some cases where you can be quite sure of that but defaulting to exceptions in anything someone could be calling could mean that when they find that you're doing so, they'll have to go looking for another library or hack the library some way to add a path that doesn't throw in the hot path.

    btw. I found more "epic stuff" recently:


    This was linked in some discussion about error handling.

    I then I started thinking a bit about some sort of ideal os/runtime/language with nice error and status propagation and scheduling that ensures that latency from input to output is always the worst case - so the system would eventually "arrive" at some unknown IO latency. The nice thing about this is that as long as the worst case latency was acceptable, user would not notice any degradation or inconsistent timing and this scheduling system would probably be compatible with existing apps. Every app would then have a button from which you could view the latency between various input and outputs - if the app processed something slowly even just once, the entire app would be processing things slowly - essentially a sort of soft-exception that user may notice and file a bug about - then the dev would proceed to fix the app or the user would go and find an app that can maintain a latency that's acceptable for their usage.

  • P Andriod reached the end of the road?

    Those Samsung droids still have the nicest displays IMHO (I've read some complains about them but it might've been about few years old models with lower DPI's).

    The issue I have with recent Androids, forgetting about all the technical stuff, is how crowded the UI looks in atleast the shop models - very much like OEM PC laptops. I actually use my old 2.3 Android and it's very clean and placement of functions seems more intuitive. (I use it because I haven't found phone holders for my backpack that hold the 4+ inch models)


  • Windows 10 Fix a desktop and destroy modern touch

    @Dovella: Are you comparing it to 8.x ? My suggestion to MS is to ask someone used to 7 - maybe they will think for couple minutes it is "100% fixed" but if they have a chance to actually compare the usability side by side for 15 minutes I'd be surprised if they still thought so (unless they were only using the start menu with mouse or touch - since the issues I found are in the keyboard navigation - I haven't used anything else to navigate the start menu in a long time)

  • If it aint broke, don't fix it

    Now that we know what is needed to have optimal infinite-problem-space interface with knobs, we can ask whether a touch interface could be better. My primary problem with touch interface is that I find it difficult to keep steady the speed that my finger passes over a touch screen vs turning a knob. The solution to this could be taking the vector and acceleration of a swipe and then extrapolate the movement (leave the "fader" moving when you lift your finger*). Or to sample these continuously and then create a smooth average and detect a trend change. (fader-like, attempting to ignore jerkiness in the motion).

    Touchscreens have big advantage when it comes to curve control as you can paint the curve (similar to eg. Paint.Net - Adjustments - Curves and then apply that to the virtual fader)

    However, when it comes to space efficiency, I think we find that in the space that touch screen needs to control one infinite space variable with similar efficiency, they take much more space. Also the perceived advantage mentioned earlier (*), can be replicated in physical knob interface with 3rd button that records the current knob motion and resumes it after you stop moving in the infinite range knob.

    Summary: Physical knob interface is still superior to touch screens in professional applications because 3 knobs physical + 3 physical buttons takes less space than equivalently efficient interface with touch screen. Atleast until someone shows example counter to this I'm going to hold this opinion valid. The curve issue (where touch screen seems superior) can be addressed by replacing the curve knob with a touch screen and having the touch screen have curve-painting that is auto-selected when one of the physical knobs is touched but not adjusted (touch sensitive knobs). So touch screen alone is not ideal if you ask me. It's complementary to large amounts of physical touch sensitive knobs, where touching the knobs switches the touch screen interface to offer further adjustments for those knobs.

  • If it aint broke, don't fix it

    I recall one digital "button-like" interface that is actually pretty decent if extreme precision is needed. It's essentially multiple dials from say 0 to 9. So with 8 buttons you could program in a number anywhere from 0 to 9999. This interface starts to make sense when you get to say 4+ numbers and need precision. With knobs things start to get iffy when you go beyond few hundred possible values.  The benefit is that you can do the divide/conquer iteration pretty quick with just 9 presses of the first button, changing 0999 to 1999 to 2999 etc and if more precision is needed, it's there.

    But still, wouldn't you rather have 4 knobs to dial in those 4 numbers quickly than a 10 number keypad or 8 buttons - as long as the knobs had adjustable min/max/(curve/step)?

    More space efficient and harder to master but just as good is 2 infinite-range knob approach knob1 adjusts the value and knob2 adjusts the step. This 2 knob system allows precise adjustment in infinite precision with fast divide and conquer. The step knob should be notched. And for maximum usability, I'd have also a knob3 for adjusting the curve of the value knob and buttons for locking in a range for the value knob1, to avoid going outside of some desirable range of values once found when doing more quick live-performance oriented adjustments.

    So 3 knobs and 2 buttons would be really a minimum needed to usably control a single value with precision in infinite space - quick settling to sweet spot and high usability around the sweet spot for live performance.