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

Discussions

William Kempf wkempf
  • Question about using Linux.

    uriel wrote:
    Perhaps, since driver issues do plague Linux installs, but you should try installing the latest version of Fedora or Ubuntu if you are to believe it is difficult to install, at least try their installers. FreeBSD's installer is quite cryptic and requires some knowledge of UNIX systems, as well is being completely written in console. Big difference.


    1.  I never mentioned anything about installers.

    2.  I've used most of the top distros within the last few years.

    A good installer (which I can argue about with Linux... the initial install off CD is usually quite nice, but package management is a nightmare even with wonderful tools like apt/yum/etc) does not a "mainstream desktop" make.

  • Question about using Linux.

    uriel wrote:
    
    wkempf wrote:
    
    phreaks wrote:
    Not trying to hijack this thread, but it got me wondering...

    Since Solaris is now free, why aren't people using it in-place of various linux distros?

    Is *nix generally thought of as being *better* than Solaris 10?


    No, it's not better, just more popular.  BSD has also been available for a very long time, and is arguably a better *nix (BTW, that term means "Unix variant" not "Linux variant"), but Linux is still more popular.


    FreeBSD is really good for servers but I can't see it becoming a mainstream desktop OS unless they get better drivers and a much much better installation system.

    Can you explain why *BSD is better? Which one and why?


    All *nix variants are "really good for servers but I can't see it becoming a mainstream desktop OS unless they get better drivers and a much much better installation system".  Linux is no different here.  Some Linux distros are doing a better job then other *nix variants, but anyone who really thinks they are ready for the mainstream desktop is deluded.

    BSD is only "arguably" better.  In theory, it's more secure and has a better kernel (though in the past couple of years Linux has made great strides in both areas).

  • Question about using Linux.

    phreaks wrote:
    Not trying to hijack this thread, but it got me wondering...

    Since Solaris is now free, why aren't people using it in-place of various linux distros?

    Is *nix generally thought of as being *better* than Solaris 10?


    No, it's not better, just more popular.  BSD has also been available for a very long time, and is arguably a better *nix (BTW, that term means "Unix variant" not "Linux variant"), but Linux is still more popular.

  • Visual Studio 2008: Impressions.

    littleguru wrote:
    You won't see major updates in the WinForms controls... they are just wrappers for the native controls and offer only the build in functionality...


    We may not see major updates, but not for the reason you give.  Not all current controls are wrappers for native controls.  Panels, PropertyGrid, BackgroundWorker, Strip controls, ObjectDataSource, etc. are examples of controls that are not simply wrappers of native controls.  There's also new native controls that we don't have WinForm equivalents (or better yet, WPF equivalents) yet.

  • Visual Studio 2008: Impressions.

    SecretSoftware wrote:
    
    Well, The backgroundWorker control is the exact reason why you would want a new progress indicator, because the PercentWorkDone, is really unkown. So you are forced to make guesses that are not accurate. A more accurate representation is to use what the SQL Server 2005 guys use, which is a circular thing that indicates that the server is working on task.


    <shrug>Not sure I care.  The control you're asking for is just one of a million different "answers" to this problem.  And since I'm moving to WPF instead of WinForms, I can easily use an actual progress bar for this.</shrug>

    SecretSoftware wrote:

    Another things is that. Yes BackgroundWorker has a callback that you can use to update say a progressbar or something, but that is only in the case of using that control. What if I want to update a control from a thread that I generate using my code? Why do I have to think about Invokability or not. I think its a compiler's job to do that not mine.


    1.  Why are you creating a thread instead of using the BackgroundWorker?  Doesn't buy you anything.

    2.  I'm uncertain the compiler could actually do what you want it to.  I do know that the obvious thoughts on how to make it do this (for any method calls on objects of types with thread affinity it would emit the normal code to test if invoke were needed and do that instead it it is) would add needless overhead that in many situations would be significant, and would lead to poor designs.  This would encourage coders to not segment their design so that thread context switches would be minimized.

    Don't get me wrong, I think it's extremely important that languages move to a better way of handling concurrency.  But this topic is extremely complex, and we don't have any answers to it today.  Microsoft is working on it, with various research including the threading APIs included in robotics studio, but I'm willing to bet you aren't going to see what you want in the next few releases.

    SecretSoftware wrote:

    I as a dev, should only think about what functionalities my program will do, the pluming should be done by the compiler. It should figure out how to update the control, from a different thread. It should generate a way to update it by setting up some sort of events and call backs automatically.

    Programming using threads can be painful experiance, and I think MS should change that for the better.

    Its not only the Progress Bar control. I just used that as an example, of something that is relic. The Sockets (TcpClient etc..) classes are really limited and are not robust so as to allow for rapid customizable app development.

     
    In what way?  You'll have to get a lot more specific in this area.

    SecretSoftware wrote:

    Devs should not be left with the task of making their own custom controls for simple things that MS should have thought of before releasing VS.


    Uhm... even though there's a lot of functionality that would be nice to have included, I could never go along with a statement like that.  First of all, it's simply not possible to have an all encompasing standard library.  No language does, nor should they really.  Second, the way you phrase this implies a lot of negativity towards Microsoft that is unfounded at best.

    [qoute user="SecretSoftware"]Why low priority? I seen people ask for this kind of support in VS, since 5 years ago or so.[/quote]

    I explained that.  It's the 80/20 rules.  20% of the people and projects will benefit, while 80% won't.  Other things have this ratio in reverse, and so they should have a higher priority.

    SecretSoftware wrote:

    True. But there are controls that are not really UI elements that are in existance today in VS.

    But anything that does this is good.


    Not sure I agree.  There's non-visual controls, yes, but they are very closely related to the UI.  I/O channels aren't.

    SecretSoftware wrote:
    Why not add both? At the end of the day, its about organization and cleanness. You can either have a messy experience, or a really great clean experience. I just prefer things happen in-situ.


    Like I said, I don't have issue with this debugging aid.  I won't call it testing, however, and I won't agree that the current testing framework and IDE support is clunky and unusable.

    SecretSoftware wrote:
    Its just about organization. I dont want to reference alot of DLLs They can add them all into one dll, and then with different namespaces. So in my using statement, I can say using System.LINQ.Xml , or System.LINQ.Entities, etc... its better that way.


    I already explained why they should not be in the same assembly.  This is the same design mistake as the "God Object" anti-pattern.  It's a waste of resources.

    SecretSoftware wrote:

    The reason is to be able to open one session to conserve resources. Believe you me, this will improve productivity a lot.


    You won't save much.  If you notice how quickly second (and later) instances of VS open, you'll know that many resources are already shared.  I will, however, agree with the point about settings being persisted.

  • Visual Studio 2008: Impressions.

    mstefan wrote:
    
    wkempf wrote:
    
    I have no issues with the performance of 2005...


    You must not be working on large projects in C++ with IntelliSense enabled then. Visual Studio 2005's performance is nothing short of  fantastically horrid. That's why virtually every C++ programmer (at least the one's I've talked with) ends up renaming VC\VCPackages\feacp.dll to effectively disable it.


    True, I'm using large projects in C# and (heaven forbid) VB.NET with ItelliSense enabled.  I can certainly see how things would be worse in C++, being a very difficult language to parse.  If that area is performing badly, by all means, it should be fixed (no idea if Orcas has done this).  But since everyone else is talking about .NET here, I doubt this is the performance issue other people are having, which brings us back to the "hmmm".

  • As much as I bash Microsoft Marketing..

    What are you talking about?  Details, so we can follow along, please.

  • Who is Jason Weber?

    1.  His commercial product includes the same license clause(s) that he thinks are wrong in the Microsoft license.

    2.  He didn't disclose the e-mails in which he tried to leverage "perks" out of Microsoft in exchange for removing the Express versions.

    He's using publicity to push his product.  It's wrong, regardless of whether or not Microsoft is in the wrong or not (and for full disclosure, I don't think Microsoft is, at least legally).

  • Who is Jason Weber?

    My initial reaction was that Microsoft was severely in the wrong, if not legally, than at least (I won't use the word morally) in a PR way.  However, after carefully reading what Jamie posted, I had a different take.  Jason was cooperative and cordial through out the correspondance, and was quite correct about the license violation.  And I understand and agree with the license.  If you don't, then don't use it.  Simple enough.

    Now more evidence has come forward, and it looks like Jamie is actually abusing the community.  http://www.infoq.com/news/2007/06/TestDriven-Express-Emails

    Not a simple topic, but I definately don't think Jamie deserves defending here, even if you dislike Microsoft, the EULA or anything else.

  • Visual Studio 2008: Impressions.

    SecretSoftware wrote:
    Hi,
        Visual Studio 2008 Beta 1, is cool. Its better than the 2005 release of Visual Studio. Waaay better in terms of performance of the IDE (Please give us more performance). However there are a few things that I want to see changed in Visual Studio 2008.


    Interesting.  I have no issues with the performance of 2005, and see no difference in 2008 (actually, there's a few areas that are decidedly worse, but given this is beta software running on a VPC there's numerous reasons to suspect I won't see these cases when 2008 is released).

    SecretSoftware wrote:

    First The Controls For Windows Forms.
    :
        Which Win Forms Controls you think should be updated or even removed?


    Not an IDE consideration.  But I'll play along.

    SecretSoftware wrote:

    For me its the Progress Bar  control.  Should it not be updated? Most apps don't really use  the Progress Bar, but rather a circular progress indicator, that does not really convey realtime progress but rather that the application is working or doing some work in the background.

    So why not update the Progress Bar control, so that it is more meaningful in todays apps.


    What your describing is NOT a progress bar, and definately should NOT replace it.  I wouldn't have an issue with providing this as a new control, though I'm uncertain how you'd implement something like this.  Every application uses a different animation for this, so the vast majority of the work required to create this on your own will remain if there's a canned control available in the library.  I mean, seriously, the reusable interface here consists basically of Start and Stop methods.

    SecretSoftware wrote:

    Most Controls should have new properties, that allows us to easily update a forms controls without thinking too much about threads. I want there to be a way to have callbacks that allows me to update a given control in the form  without thinking about invokes (compiler should think about that ).

    We all know about Invokes, and all, but its a bit of a mess. There should be a way to communicate through call backs with objects on a form. So a thread would just calll the callback, and without any problems it would update the WinForm Control (Control Responds to Update Event with its event args array of parameters).


    You already have this in the form of the BackgroundWorker.  That's a better design than modifying every control to add this functionality.

    SecretSoftware wrote:

    Further, there should be new controls that deals with hardware directly, and especially graphics and sound. One can drop a control, assign to it the kind of sound encoding, and the control would be able to interact with Windows Sound APIs, to enable me to rapidly make my media player. or VOIP solution. There are 3rd party controls that does this, but I think MS should give us one.etc.. Generally Hardware related Controls (dealing with Sound Card , video card, mics, etc..(where assembly is required).

    I know one can use the WinMediaPlayer dlls, but then there are alot of limitations. There should be some kind of a generic control for media and sound. that allows us to use custom encoding and decoding.


    This I can agree with, but it would be mighty low in my list of things Microsoft should focus on.  For the most part, you're talking about niche technology that is helpful to a few.  I'm glad to see they are focusing on the larger stuff, that effects everyone.  IOW, rich data, databinding, etc.

    SecretSoftware wrote:

    Also, there should be an updated Win Forms Control that Deals with Sockets in a more flexible way. I want to be able to have a control that is able to ensure that a packet send is a packet received (does all packet recognition using say RegEx on XML?). And in general a more robust socket control that wraps the Socket class in .NET.


    I don't see any problems here.  I certainly don't want a control.  I want libraries for this (this kind of functionality doesn't belong in the UI portion of my code).  And WCF does this.

    SecretSoftware wrote:

    Unit Testing
    :
        I hate the way Unit Testing is implemented in Orcas. I mean why does it have to generate an entire Project just for Unit Testing a class (thats what happened when I tried it) ? Why can't I do Unit testing In-Situ? Where the IDE would simulate debugging just the code I am interested in, by allowing me to give it the parameters I want, at design time, so I can be sure that this method is bug free for my purposes. Creating an entire Project is just something that disrupt user experience and is just not good to work with. It should be done behind the scenes on the same IDE session on the same code page.


    You're talking about some sort of ad-hoc user testing, not reproducible automated unit testing.  Maybe useful, but not much.  The automated unit testing is much more important.  And for that, you need libraries.  I can point out several things that should be improved here (it should be easier to run specific (sets of) tests, for instance), but none are what you seem to be asking for.

    SecretSoftware wrote:

    At least with SQL Server 2005, when you want to step through an SProc, you get a form that you supply the parameters in and it lets you step through it, Nice and clean. Hence, I wish for VS 2008, to have unit testing in-situ (simulate debugging senario on the IDE itself of just one code block that the Programmer specifies (through highlighting, then context menu selection >> Debug This (Or Unit Test This) and the smallest testable unit is the algorithm that takes parameters and returns values (methods))?

    Further, there should be automatic way to test for code vulnerability. VS should try to guess or report of potential security problems in a given code block, and report suggestions. (I mean common senarios ..)


    Code analysis (FXCop) does some of this.  New rules to do even more would be useful, yes, but don't talk like there's nothing along these lines today.

    SecretSoftware wrote:

    LINQ Project:
     Why do we have LINQ project spread over many DLLs? Why not put all of LINQ classes into one DLL? System.LINQ? Why System.Data.LINQ, System.Xml.LINQ? , why not put them all in one place and we can say System.LINQ.Xml, or System.LINQ.Entities, or just leave it as System.LINQ. Too much namespaces.


    The DLLs have little to do with namespaces.  But I'll address both.  From an assembly stand point, you need this stuff seperated because it's unlikely anyone will be using all of LINQ and so the memory footprint and download sizes would be bloated by code that's never used.  Namespaces, you want the seperation in order to make human consumption easier.  As humans, we psychologically deal with large sets of data (in this case, APIs) better when it's logically organized.  In this case, the way to organize is to seperate things into namespaces.  For example, just imagine the intellisense dropdown you'd have to deal with when trying to find a class in LINQ you rarely use if all of it were in the same namespace.

    SecretSoftware wrote:

    The IDE:

    Its the same as in VS2005, but we need more space. And the Start Page sucks. I want to be able to right click and remove Recent Projects. and it should tell me what is the time a project was accessed last.


    I'd like to be able to better manage the recently used list, yes.

    SecretSoftware wrote:

    The Performance is good, but can be better. Debugging in Orcas Beta 1 is fast and fun.


    Finally:
    Allow us to open multiple Solutions in the same IDE session. Its good for productivity. You can work in one session on multiple solutions with same IDE settings.


    I, personally, don't want this.  If the "solutions" are related, they should probably be one solution with multiple projects.  Otherwise, I'd rather have two IDE sessions open for this.