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

Steve  Richter SteveRichter
  • Steve Ballmer - Worst CEO (Forbes)

    , BitFlipper wrote

    And the fact that Windows 7 is the fastest selling OS in history carries no weight at all.

    But users, whether consumer or business, cannot safely download and install 3rd party software on their PC. User's do not buy and install extensions for the shell and office out of fear of malware. ( I am guessing and assuming. ) Any numbers on how many Windows PC in the world are controled by Malware? http://www.zdnet.com/blog/security/report-48-of-22-million-scanned-computers-infected-with-malware/5365

    And the native code development scene for Windows is pretty poor. There is a ton of stuff you have to learn to write native apps for windows. First C++ and Visual Studio. Then Win32 and COM and the shell.

    WinRT sounds great. But it sounds like it does not apply to desktop apps until windows 9.  The company is fine by me. Maybe the world is a safer and freer place when mega corporations are only run at half efficiency. But windows could be a lot better.

     

  • Programming Windows, Sixth Edition is coming ...

    His WPF book is terrific. ( by contrast, I am getting nothing out of the Russinovich, windows internals, 6th edition, part 1 book. No code samples. )

    Petzold should be the editor of MSDN magazine. Even if for a short time. Just to show how programming articles can be intelligible and instructive.

     

  • Steve Ballmer - Worst CEO (Forbes)

    , wkempf wrote

    *snip*

    It was very competitive early on. Then the iPhone showed people what a touch interface could do for them. WinMo couldn't compete against that. So Balmer made the correct decision there, though one could easily argue he did it late and probably had no choice.

    I think the problem all along has been Microsoft wanting to transitioning from a company that licenses software for a one time charge to one that gets a monthly income stream from the user's of  software. Device OS software is not hard to write. It just takes a lot of programmers, trial and error. If .NET turns out to not be performant enough have other approaches in the works. But the message from the top of the company has to be that MSFT is going to have an OS for every device out there. Wherever possible apps for one device will work or can be ported to another.

     

  • Steve Ballmer - Worst CEO (Forbes)

    , ManipUni wrote

     -  after dumping Zune   

    Right decision. Zune was a money-pit. It was never going to succeed. Looking back that is only more clear with the strong move to smart-phone-as-the-MP3 player-killer.   

    why did it have to be a moneypit? There must be a market for a media device that is not a phone. One that seamlessly integrates with PCs and other media devices, which is not on all the time so it can hold a charge for an extended period of time.

     

  • Steve Ballmer - Worst CEO (Forbes)

    , ManipUni wrote

     -  dumping Windows CE   

    He didn't "dump CE" he replaced an uncompetitive product (Windows Mobile 6.xx) with a highly competitive one (Windows Phone 7).   

    Why was windows mobile uncompetitive to begin with? Microsoft had an OS marketing/approach that worked great for PCs. MS-DOS worked on all PCs. If they had done the same with phones and tablets I think they would have had great success.

  • A cool Unix video from the 70's

    Maybe the emphasis on pipelining made Unix too much of a batch processing system and did not work well with GUI apps.  Do Linux apps have message loops?

  • A cool Unix video from the 70's

    So why was Unix not chosen by Microsoft or IBM as the basis of the PC? Were there any key differences between Unix and DOS?   Maybe DOS being more interrupt focused, which enabled it to better work with the Intel CPU?

     

  • Leaving C9 for a while

    , evildictaitor wrote

    C9 seems to have become very negative in the past few months, and so I'm going to be taking my leave for a while.

    I think you are blaming the messengers. Microsoft software technology is first rate. But the people, person, whoever who run the company are really bad. Simply from a business, profit and growing/maintaining marketshare perspective. Apple, Google, Facebook dominate in markets that MSFT has failed in. Oracle and IBM are thriving. Consider the depth of incompetence or arrogance or lack of iimagination needed to fail in the search, handheld device, social media, business software product spaces. In Windows 8 there is more than a slight chance of catastrophe, a splintering of the desktop space.  Considering the problems and failings, this forum is a very good place. Which I attribute to the excellence of Microsoft software technology.

     

  • C++ needs extension methods

    , Charles wrote

    @ryanb: And Herb told me that there is not much momentum behind extension methods in the ISO committee...

    C

    is there any talk within Microsoft to have its own native programming language? I guess, kind of like Apple has Objective-C.  A C like language with built in behavior that makes sure handles are closed and memory deallocated. Can call managed code, WinRT and COM.  Easily handle ANSI and Unicode strings. Maybe I am describing C++, but without all the stuff that makes the language hard for me to understand.

     

  • C++ needs extension methods

    , BitFlipper wrote

    I still think the way extensions in C# was implemented is wrong. It looks and feels like they could not really come up with an ideal syntax and ended up with the awkward result we have today. My suggestion is to do it this way:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    public static extension class string
    {
        /// <summary>
        /// Shows how a method is implemented
        /// </summary>
        public int GetWordCount()
        {
             var wordCount = 0;
             // Code that counts words
             return wordCount;
        }
     
        
    }

     

    keep in mind that extension methods apply to all types, like enums and interfaces.

    Also, I like that an extension method can be called on a this value that is null.

    For a lot of the classes I create I code two extension methods. One, named "ToXElement" returns the object in XElement form. The 2nd, named "[ClassName]OrDefault" is an extension of XElement and returns the object instance from an XElement.  Being able to test for null in an extension method is great when going from XElement to object because you never know if the XDocument contains your XElement or not. And these two methods belong in the same source file with the class they are extending, despite one apply to XElement and the other to the actual class.

     

      public static class PresentationSpaceExt  {    public static XElement ToXElement(this PresentationSpace Space, XName Name)    {      if (Space == null)        return new XElement(Name, null);      else      {        XElement xe = new XElement(Name,             new XElement("Fields",               from c in Space.Fields               select c.ToXElement("Field")),               Space.Dim.ToXElement("Dim"),               Space.CursorLocation.ToXElement("CursorLocation")          );        return xe;      }    }    public static PresentationSpace PresentationSpaceOrDefault(      this XElement Elem, XNamespace ns, PresentationSpace Default = null)    {      if (Elem == null)        return Default;      else      {        var dim = Elem.Element("Dim").PresentationSpaceDimOrDefault(ns, null);        var loc = Elem.Element("CursorLocation").DisplayLocationOrDefault(ns, null);        var flds =        from sam in Elem.Element(ns + "Fields")          .Elements(ns + "Field")          select sam.PresentationSpaceFieldOrDefault(ns, null) ;        var ps = new PresentationSpace(loc, dim, flds);        return ps;      }    }  }