SecretSoftware

Back to Profile: SecretSoftware

Comments

  • The Advancement of Windows: Ales Holecek - Windows Shell (Windows Explorer, Desktop Search, UAC, Aer

    jsampsonPC wrote:
    
    Massif wrote: ...I defend my statement, Theorys are establish by everyone failing to disprove them. Your "I could make desks move with my mind" theory would last a very short time, scant seconds after someone says "prove it"...


    You just proved my point. A theory isn't established simply because somebody cannot disprove it - and you demonstrated that when you said "Prove it". A theory is established not for fighting off critics, but for affirming, or explaining something. So you cannot say, "Theorys are established by everyone failing to dispove them", and then counter my claim that I can float desks by saing, "Prove it". Because by your own words, I dont have to prove it, you how to disprove it. And if you can't, then the theory that I can float desks is possible. But that is nonsense, of course


    I think what he meant was to show that your theory 1) explains the phenomenon. 2) Is able to make solid predictions with respect to different situations and outcomes. 3) That no situation is brought forth, that demonstrates that the theory fails to explain the observable set of circumstances. The terminology is important, when you demonstrate that the theory fits 1 and 2 it does not mean you proved it. It means you postulated an educated guess, that explains the main aspects of a phenomenon, and also if its a good theory, would predict correctly new outcomes under different situations, and that no situation existed yet, that would show the postulated educated guess is false (a situation where the theory has to be updated , discarded, or refined so as to explain the new situation under which it failed as written). So Massif is correct.

    To get more on this, read the about scientific method (Hypothesis,Theories,Laws).
  • The Advancement of Windows: Ales Holecek - Windows Shell (Windows Explorer, Desktop Search, UAC, Aer

    staceyw wrote:
    
    SecretSoftware wrote: 

    I gather from this video, that MS went to the direction of writing new OS (VISTA), because the current model in XP and 2003, is unupdatable, because the code base is old and is not organized in a way to allow for future improvements. SO when he said that Vista is "a mile stone for us", he meant that Vista will be a new platform OS that will enable them to move to the future without the strings that were in the previous implementations of things in XP and 2003.

    So when Windows Vienna comes, its going to be breath-taking. That is why I am not so much excited about vista, but about what is going to come after vista as a progress ontop of the new foundations that were implemented into Vista. That is why I compare this stage as going from DOS to Win95.



    I am not following you here.  AFAICT, Vista has a ton of new improvements and brand new features, but it is not a total rewrite of Server 2003R2 from scratch (check me on this Charles).  You still have win32 and existing core and code bases.  It would be interesting to get a Swag on percent of new code and percent of code that has changed.  Maybe an easier number is what percent of 2003 has *not changed?

     I am also going to enjoy the new lock primitives in Vista, such a Reader/Writer locks, Condition variables, Lazy-init, Improved Thread Pool, new InterlockedXXX functions, and application deadlock detection apis.  When you start adding all the stuff up, there is a ton of hard-core goodness going into this product (this is the very hard-work stuff you don't really see).


    Its totally new. written from scratch, or in some cases some win32 were replicated in new code. Old code was archived for the most part. So its totally new OS. Just like Going from DOS to 95 with new implementations. That is my information that I have. Its like rewriting win32 (preserve the APIs and features, but different implementation in code to fit in with the rest of the stuff).

    Backward compatibility is one hindering factor. If we can get rid of backward compatibility all together, things would be more bright. I am all for having people who have old apps to stay on XP, and Vista would require rewrite of those apps to run. Then we go from there as a fresh start. But I guess its the promise of MS to its customers that make this backward compatibility appear in every new release of the OS.
  • The Advancement of Windows: Ales Holecek - Windows Shell (Windows Explorer, Desktop Search, UAC, Aer

    Massif wrote:
    
    jsampsonPC wrote: 
    Massif wrote: ...Theorys are established not by proof, but by everyone failing to disprove them.


    That's not entirely true either. If it were, I could invent ideas all day and have you busy disproving them, or trying to. I could claim that with my mind I can make desks float around the room, and if you spent the next 30 years trying to disprove that, that wouldn't mean that my theory has any credibility.

    It comes down to probability too. For instance, in math we have infinite theorems such as "All even numbers will be divisible by 2". Now, I cannot prove that...why? Because I have not tried every possible even number to see if it is indeed divisible by two. But, the probability is so astronomically high that this is considered a fact.

    A theory doesn't get accepted just on the fact that it's been around for a while - it's got to demonstrate its predictive power to the masses.


    Ok, for a start - in Maths theorys can be proven. Maths isn't a science per se. it's a branch of logic. As such it is constructed of a limited set of concrete rules, and things can be proven absolutely true one way or another. (But never EVER are they proven empirically. Fermat's last theorem had empirical-ish proofs which went up to hugely large numbers, but it wasn't considered proven until a general proof was established.)

    I defend my statement, Theorys are establish by everyone failing to disprove them. Your "I could make desks move with my mind" theory would last a very short time, scant seconds after someone says "prove it".

    Now your last sentence is much much more relevant. In science, the measure of how good a theory is comes down to two things: "Does it explain what we already know better than the current theory?" and "Does it predict something new?"

    The second part is crucial, as that's where theories derive their strength. If a new theory is simply made to fit the facts, and doesn't provide any new predictions it's considered a rubbish theory. The best theories create weird new predicitions, (like Quantum Mechanics did - really crazy predictions about certain things.) that would be really easy to prove wrong. It's simply that no-one has which means they've been accepted.

    As a quick example, Einstein's general relativity predicited that the position of the stars would appear to change when the sun was near them. Now you had to have a solar eclipse to see the stars, because he said they'd be the ones really near the sun. But still, a pretty easy theory to shoot holes in - "the stars move! you're mad!" And yet when they measured it, he was right - General Relativity had its first proof and the rest is History (and Gravity, and Space as well! Boom boom!)


    Agreed. Even in Mathematical theories, the Pythagorean Theory, is a theory because no one brought forth a demonstration that will show its false, like having a right-angeled triangle where the sum of the squares of 2 sides does not equal to the square of the hypotenuse. If there is such an example then that thoery is demonstrated to fail, demonstrated to be false.

    So Massif is correct with respect to the scientific terminology as well as logic of it as it pertains to the scientific process.
  • The Advancement of Windows: Ales Holecek - Windows Shell (Windows Explorer, Desktop Search, UAC, Aer

    Massif wrote:
    That's pretty much my understanding of Laws, although I'm a little wooly on Laws.

    If memory serves, Laws also have to be consistent under all conditions. i.e. if some set of values (the mass of two bodies, and their seperation for example) then some other effect (the gravitational attraction between them) is always the same.

    But you still can't (logically) prove anything empirically. Seriously, in fact it's nigh-on impossible to (logically) prove anything at all, in terms of real world behaviour. (The most "proven" set of laws in Physics is called Quantum-Electro Dynamics, and even then they're only 99.9999999% (can't remember the exact numbers) sure it's true.)

    If you want to dispute that, then go and read a really good book called "What is this thing called science?" I think the author is called Alan Chambers, but I could be wrong. It'll show you that in actual fact Theorys are established not by proof, but by everyone failing to disprove them.


    Agreed. Though in the case of Quantum-Electro Dynamics, or in general Quantum mechanics, the Heisenberg uncertainty principle, makes it impossbile for us to generate reliable measurements, much less formulate theories. Its like walking on unstable grounds and trying to measure the speed of falling objects. So ya I agree completely that in science, we never say this is proven, we say that this failed to be disproven, or no reliable demonstration succeeded to render a theory or even a hypothesis false, yet.
  • The Advancement of Windows: Ales Holecek - Windows Shell (Windows Explorer, Desktop Search, UAC, Aer

    Charles wrote:
    
    Massif wrote: 
    Charles wrote: 
    However, your conclusion, which appears to miss an understandably implicit point: data created as a direct result of your interactions with the system, how you use it and how it is capable of making your intentions achievable in a predictable and reliable way, makes proving or disproving the hypothesis empirically impossible(we think we may be on to something theoretically, but theory is purely abstract).


    hate to be pedantic here Charles (what am I talking about, I'm a geek - I live for pedantry!) but it's impossible to prove anything empirically.

    You can verify your hypothesis, but you cannot prove it, as in order to prove a hypothesis empirically you'd have to observe all possible permutations and outcomes, (and as you're being empirical you wouldn't be allowed to inform your observations from your theory, as you haven't proved your theory yet! So you'd have to literally observe all possible permutations ever ever ever.)


    In science, a Theory (with a capital T) is another way of expressing an Hypothesis that has been "proven" due to direct observations, or measurements, that show the conjecture to be factual.


    Well Then what are Laws? I learned that Hypothesis is a postulated explanation of natural phenomena. If the hypothesis explains the phenomenon under varying conditions, it becomes a working theory. If this theory is yet demonstrated to , over time, explain the fundamentals of the phenomenon, and all outcomes are accounted for, then it becomes a Law of nature. Like the Gravetational laws, laws of motion, Newtons laws etc..

    So , generally, in science, we never use the  word "Proven", we say the hypothesis was not demonstrated to fail, yet or something along those words.
  • The Advancement of Windows: Ales Holecek - Windows Shell (Windows Explorer, Desktop Search, UAC, Aer

    Charles wrote:
    
    SecretSoftware wrote: 

    I gather from this video, that MS went to the direction of writing new OS (VISTA), because the current model in XP and 2003, is unupdatable, because the code base is old and is not organized in a way to allow for future improvements. SO when he said that Vista is "a mile stone for us", he meant that Vista will be a new platform OS that will enable them to move to the future without the strings that were in the previous implementations of things in XP and 2003.

    So when Windows Vienna comes, its going to be breath-taking. That is why I am not so much excited about vista, but about what is going to come after vista as a progress ontop of the new foundations that were implemented into Vista. That is why I compare this stage as going from DOS to Win95.



    Intersting analysis. The hypothesis(first paragraph) is a compelling one. However, your conclusion, which appears to miss an understandably implicit point: data created as a direct result of your interactions with the system, how you use it and how it is capable of making your intentions achievable in a predictable and reliable way, makes proving or disproving the hypothesis empirically impossible(we think we may be on to something theoretically, but theory is purely abstract).

    It's nice to see that people are beginning to realize that Vista is a new OS, one that is also intelligent: composed of subsystems that are capable of not only learning, but also prone to interacting with newly gained knowledge in a cybernetic way.

    Vista sows the seeds for a future Windows that becomes not only intelligent, reliable, safe, performant, usable, but also predictable, composable, homeostatic. Evolutionary acceleration of Windows will remain static without high use of the system by real people.

    C


    I postulated that above, because in my experiance, back in 95 and 98 and then in XP, I found it hard to really have freedom in programming new implementations of things. You feel as if you are trying to write a page with 4 people holding your hand or so. Its kind of hard to think clearly, and hard to implement your ideas. Now once .NET came, some of these hands were lifted and you can move freely, so to speak, and have your own implementation under the new standard. The obvious next step was to get rid of the old OS, and re-write the Windows OS in a new and more innovative way, where I dont have so much hands tying me down (All the useless APIs in the old OS). It brought a new way to think clearly, and to implement cleanly any idea you might have. In that sense computer programming becomes as powerfull as magic, and the sky is the limit as they say.

    I only wished that MS made this move back in the 90s , instead of making XP, we could have had Vista, and now Vienna. Having said that, maybe things were not as ready as one would like, but its all for the best I suppose.

  • The Advancement of Windows: Ales Holecek - Windows Shell (Windows Explorer, Desktop Search, UAC, Aer

    I gather from this video, that MS went to the direction of writing new OS (VISTA), because the current model in XP and 2003, is unupdatable, because the code base is old and is not organized in a way to allow for future improvements. SO when he said that Vista is "a mile stone for us", he meant that Vista will be a new platform OS that will enable them to move to the future without the strings that were in the previous implementations of things in XP and 2003.

    So when Windows Vienna comes, its going to be breath-taking. That is why I am not so much excited about vista, but about what is going to come after vista as a progress ontop of the new foundations that were implemented into Vista. That is why I compare this stage as going from DOS to Win95.

  • A Closer Look at the Team Foundation Server Power Toys

    And I was woundering why  C9 home page looks beautiful today.
    Nice video.

  • Windows Vista: Ready for ReadyDrive

     

    this is cool. But I think the real solution to the Hard-drive performance problem is to have hard drives with multi-reader heads, that will enable multiple queries or read/write operations happening simultanously. So, one can have a drive with a circular readors mounted on top of the hard drive surface, and these multiple heads will do the read write as the surface is spinning. So like a circle (heads circle ) on top of the actual surface (on top could be ont he top surface or bottom surface or both). So you have these heads organized in a circle on top or on the bottom surfaces of the actual drive surface doing Read/Write operations concurrently. This in addition to the hybrid idea can improve the performance significantly. Would not that be the case?

     

    But cool Video. And the sound quality of this video is super.

  • Anders Hejlsberg - Lang.Net 2006 Compiler Symposium

    works good. Nice video. It will take some time to load. But works great. Great Presentation.
  • Arun Kishan - Process Management in Windows Vista

    arunki wrote:
    1) Code injection is only limited for the protected processes, which are not meant to provide arbitrary extensibility by design. These processes can only load specially digitally signed code. The goal is to limit what can run inside them.

    2) There is no one-one mapping between work items and threads. Work queues and the threadpool try to manage the number of threads based on the workload / CPU availability. For example, the Vista threadpool tries to keep # CPU threads running, but will throttle threads back when it detects this number has been exceeded. Additional threads are created as needed in this range; the excess work items accumulate and are serviced by threads as they become available.

    3) It depends on your application. If it is a piece of code you just want to execute asynchronously, threadpool provides an efficient and simple means of accomplishing this. It does, however, introduce additional overhead. In other cases, you may need a dedicated thread for a task whose operation / life cycle you may need finer grained control over.




    Thanks for the reply. I like the new protected process with in vista. But I wish if we can have examples as to how to create a protected process using Visual Studio 2005 in C#. Like an introduction as to how to create a protected application.

    Also, in the video , it was mentioned that the END PROCESS api will just kill of the process on the spot and this should be used only as a last measure, and if we know the state the process is in (most of us dont know that because we did not write the application that might go on a loop or hangs). But there are "Service" processes that simply refuse to be killed. You often get "Access denied" or something along those words. Can you explain that?
  • Arun Kishan - Process Management in Windows Vista

    Few questions:

    1)  About code injection: crackers and hackers now , cannot do code injection into running processes? Like dll injection will fail? Will this also affect global system hooks? like mouse hook and the likes?

    how is that actually good?



    2) What happens when the system is low on threads? when you do something like, QueueWorkItem, and use the system threads to do work in your application, and you "abuse this", in a server application, what would happen to the system at this stage when its under stress? Does it shutdown? or just queues the new work items until an existing system thread is free to process it? Can a new thread be created and added to the system thread pool/ Is this actually a good thing or a bad thing for a uniprocessor system?

    3) Is it actually good to use the system thread pool or to create a new unique thread for your specific application?