The death of Microsoft

Discussion in 'Trading Software' started by prt_systems, Oct 20, 2005.

  1. I was one of the pioneers on UNICOS and Parallel C .... Things today are quite a bit different from even those advances.....
     
    #102     Oct 21, 2005
  2. I started out with punch cards, COBOL, FORTRAN and ALGOL. Then came C and UNIX before moving on to other things. Remembered being on of the first to have an IBM PC with 64K memories and 1 5.25" floppy. And then I was one of the first to have a 5 Mb HD (full height 5.25" sized!)

    I even worked for a while on an analogue computer! What a monster that was. And then the Data General mini's came along for their niche in communication. IBM telling us that a 64K memory was all that we required in a computer with about 4 or 5 reel tapedrives. If you were lucky you were allowed to do one compile during lunch hours, taking a minute or more at times....And the machines were leased by the minutes of CPU time used...

    Ah, well, those were the days one had the C programming environment fitting on one single sized 5.25" floppy in the B: drive and the OS in the A: drive, first DOS version 2 then version 3. Wish I still had those compiler's, even only for nostalgia sake.

    PRT, there is a saying. If a rocket scientist argues with a fool in front of a jury of laymen then at the end of the day the jury does not know who is the fool and who is the scientist. Am using the ignore button a lot these days.

    And then I think about what I saw recently on ET: ignore the trolls.
     
    #103     Oct 21, 2005
  3. Have a quick look at some of the code in the The International Obfuscated C Code Contest and marvel at the type of mind that produces it.

    http://ioccc.org/winners.html
     
    #104     Oct 22, 2005
  4. Thanks craig,
    didn't run them all, but this is a nice one to keep you going while putting a trade on: (ET's display screws up a bit on it but it's a fantastic labyrinth. I think that I may have to write a program to find my way out though.)


    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    |_ _ | _ | _ _ | _ _ | _ _ | _ _ _ |_ _ _ _ | | | _ |
    | _ |_ _|_ _|_ _| _ _| | | | |_| _| |_ _ _ _ |_ _ _ _ _ _| |_| | |_ | |
    |_| _| _ _ | |_ _ | | |_|_ _| _| _ _ _ _ _ _| _ _ _ _ |_ | | | _|_|
    | _| _| _| | | | _ _|_| | _ |_ _| _ _ _ _| _| | | | | _| | _| |
    | | _| _| | |_ _| _ _ _| | |_ _ | _ |_ _| _| | | |_ | | _| | _| |
    | |_ _|_ |_| _ _| _ _|_ _ | | _ |_ |_ _ | | | | | | | |_ |_ _| | |
    |_ | | |_ | | _ _|_ _ _ | _| |_ |_ |_ |_ _|_ | | |_ _ | _ _ |_ |
    | _| _|_ | | | | _ _ | |_ _ _ _| | | | _| _ _ |_|_ | | |_ _ _|_ |
    | | | |_| | |_ _| |_ |_ _| | | |_ | |_ _| |_ | _|_ _ _ _ _ _ _| |
    | |_ _| |_ | | _ _|_ _| | _ _ _| | | _|_ | _| | | | |_ | |_ | _|
    |_| _| | _ | |_ _ _ _|_ | _ | | |_ _|_ |_ _| |_ _ _| | |_ _ _| | |
    | _| _| | _| |_ |_ | | | |_ | | |_ | | _ _| | _| | _ _|_ _ _ _ _| |
    |_ | |_ _| | |_ _ | | | | |_ _| _| |_ |_|_ _| _|_ _ | _|_ _ | | |
    | _| | | | | | | | |_ _ | |_ | | |_ _ _ _| | _ |_ _ _ _ | |_ _|_ _| |
    | | _| |_| | | | |_ _|_ |_| | _|_ _|_ _ |_ |_ _| | | | |_ _ _ _ _|
    | |_ | _ _|_ _|_ | _|_ _ _|_ _ _ |_ _|_ _ | _ _|_ _|_ _ _ _ _ _ _ |
    | | | | _ | _ _|_| | _ _ _ _ _ | |_ _ _ _ | _ |_ | _| _ _ | |
    | | |_|_ _| |_ _ _ _ _|_ |_ _ _| _ _| | _| | | | | _| _|_ | | |_| |
    |_| | | _ | | _ _ | | | |_ | _ _|_ _ _| |_ _| | | | _ | |_ _| | _|
    | _|_ _ _| |_ _|_ | | |_| | |_ _ _|_ _| | |_ _ _| | |_ _ |_ _| _ _|_ |
    | | | _ _ _ _ _ _| | | | |_ _ | _ _|_| |_ _ _ | |_ |_ | _ _| _ _ _|
    |_|_ _|_ _ _ _ _ _ _ _|_ _|_|_ _ _ _|_ _ _ _ _|_ _ _ _ _|_ _ _ _ _ _ _ _ _ _ |


    #define P(X)j=write(1,X,1)
    #define C 39
    int M[5000]={2},*u=M,N[5000],R=22,a[4],l[]={0,-1,C-1,-1},m[]={1,-C,-1,C},*b=N,
    *d=N,c,e,f,g,i,j,k,s;main(){for(M[i=C*R-1]=24;f|d>=b;){c=M[g=i];i=e;for(s=f=0;
    s<4;s++)if((k=m+g)>=0&&k<C*R&&l!=k%C&&(!M[k]||!j&&c>=16!=M[k]>=16))a[f++
    ]=s;if(f){f=M[e=m[s=a[rand()/(1+2147483647/f)]]+g];j=j<f?f:j;f+=c&-16*!j;M[g]=
    c|1<<s;M[*d++=e]=f|1<<(s+2)%4;}else e=d>b++?b[-1]:e;}P(" ");for(s=C;--s;P("_")
    )P(" ");for(;P("\n"),R--;P("|"))for(e=C;e--;P("_ "+(*u++/8)%2))P("| "+(*u/4)%2
    );}
     
    #105     Oct 22, 2005
  5. Interesting, since there hasn't been any Defenders of Microsoft, I will play the Devil's Advocate (appropriate term, if I were to add). Disclaimer is needed, I started my tech career on a miniVAX and Apollo workstations, so I am personally a Unix-bigot (and I still use Emacs for my own dev), but bear with me. I also had the unfortunate job of be a part of a $100M Microsoft EA negotiation exercise, and being an "open source" evangelist in the same firm. But I will try to defend MS. :)

    From an enterprise point of view, it makes no sense to standardize on a Linux (or LAMP) based architecture. It just doesn't make any cost-effective argument.

    Let me start from the Desktop, as successful as LAMP is, and OpenOffice probably will be, you can not beat the interoperatability and the standard intuitiveness of MS family of products. In a fortune 1000 firm, 60% of the users of PCs don't use them to develop software, far from it, most of them just use the PC for daily office productivity tools. The operation and interoperatability of OpenOffice with MS-Office, the de-facto standard for exchanging documents and office communication, is problematic. I will challenge any open-source product that can come close to MS-Exchange (hehe) in terms of group-productivity tools (calendars, reminders, etc). On top of that, the RIMM Blackberry product is almost becoming as universal as pagers, Blackberry support on the Linux desktop is problematic at best. Yes, Miguel de Suza have made significant headway with Evolution, but it is still missing most of the features of MS-Exchange. Keep in mind that Exchange and some office productivity is 80% of PC usage in an enterprise.

    Now let's talk about developers (!!), it is agreed that VS.NET is not a terribly good development environment, it is restrictive and at times horribly designed. But Websphere isn't any better, in fact Websphere is more horribly designed than VS.NET. I know I will get to Eclipse, Eclipse is well done, clean, but it runs on a Windows environment just as well as under Linux. There are significant benefits to having a good single OS as the platform for standard desktop builds. Maintaining multiple desktop OSes will make supporting them a gigantic support headache.

    Before I get to the server platforms, let's talk about cost for a second. In an enterprise, the majority of cost associated with end-user desktops is on support resources and maintenance, Gartner did a research report 2-3 years ago, when they indicated that support costs account for 80% of a 3/4-year desktop lifecycle, with only 20% coming from the licensing and upgrade costs. Agreed that the licensing cost of LAMP is $0, while the Windows stack runs in the $'00s (hundreds), but in the grand scale, it doesn't make a world of difference. The main problem comes in hiring sufficient number of Linux supporting staff, they are substantially more expensive than standard MCSE certified supporting staff making $20 / hour. Therefore the boom in Linux support has made the Linux desktop adoption an expensive proposition (just try to imagine hiring 2,000 linux certified help-desk staff!). I know Jodie Goldberg (the author of Gnumeric), but there are still plenty of Excel-based code that Gnumeric have no chance of running.

    Now let's talk about server platform. The big trend in server infrastructure these days is server-virtualization and commoditization, with most firms want their data centers to reduce the number of standard build images to 2-3 at most. If the enterprise is to support Windows based desktops, by definition they would require a Windows domain, AD, etc, which means that a full-Windows infrastructure need to be built (if just for AD and Exchange!). If Linux is to be adopted as the enterprise-wide standard, then two-different infrastructures (policy servers, entitlement servers, AD <-> LDAP bridge, Samba support of AD is problematic even now, etc) all need to be maintained, potentially push up the maintainance cost to prohibitive levels. Yes the licensing cost is free, but again, on the server level, the licensing cost is even smaller portion of the overall management cost.

    Absolutely agreed that in certain special situations (compute grids, or even Database servers), the firm can standardize on a Linux platform (e.g., the DB group tried to standardize on Oracle / Linux with very good results). But if a fortune-1000 firm is to chose one platform, and one platform only, the platform still must be MS-Windows at this point, no other choices.

    Yes, if I were to start a 20 person firm, I would have everyone run Linux desktop and then just use a Citrix session to 1-2 Windows boxes for people to run their favorite Windows application (Excel, Exchange, etc), and boot-strap the desktop Linux from 1-2 central Linux server (that also serve as the sendmail host, etc). But it is quite another thing to run 50,000 desktops with 15,000 server in a distributed global data centers.

    "Devil's Advocate Off"

    Windows have done a terrific job of "locking in" the various other parts of the enterprise IT infrastructure away from the desktop. Linux is different, there are still too many internal squabbles (APT vs RPM vs DEB for packages, anyone?), SLB never took off either. If anything, as much as I am a personal fan of Linux, enterprise that I know are looking at Linux less favorably now than 3 years ago, since more and more open source tools (Eclipse being the big one) are available on Windows anyways.

    So, the upshot is that most Fortune-1000 firms are in Microsoft EA anyways, so Software Assurance is already a part of their 3-year EA cycle. It won't change terribly much. Yes it was fun to have my boss, the CTO fire up Linux and run OpenOffice to Steve Balmer's face (true story), but he knew, and we knew, that the enterprise at the end of the day the firm will be Window dominated. I can just see entire desks and their Excel-loving Quants stand-up and revolt with their $300M a year P&L. It just doesn't make any sense (economical and political) for a large firm to standardize on Linux, and standardization is the key here.
     
    #106     Oct 22, 2005
  6. Let me start from the Desktop, as successful as LAMP is, and OpenOffice probably will be, you can not beat the interoperatability and the standard intuitiveness of MS family of products. In a fortune 1000 firm, 60% of the users of PCs don't use them to develop software, far from it, most of them just use the PC for daily office productivity tools. The operation and interoperatability of OpenOffice with MS-Office, the de-facto standard for exchanging documents and office communication, is problematic. I will challenge any open-source product that can come close to MS-Exchange (hehe) in terms of group-productivity tools (calendars, reminders, etc). On top of that, the RIMM Blackberry product is almost becoming as universal as pagers, Blackberry support on the Linux desktop is problematic at best. Yes, Miguel de Suza have made significant headway with Evolution, but it is still missing most of the features of MS-Exchange. Keep in mind that Exchange and some office productivity is 80% of PC usage in an enterprise.

    The problem is that if M$ publishes a standard and the specifications to work with this standard, and if this standard is not a piece of crap, the world would perhaps be a better place. OK, let's assume MS exchange is a good thing, how do you want an open source equivalent to develop itself in such a closed environment ?

    Before I get to the server platforms, let's talk about cost for a second. In an enterprise, the majority of cost associated with end-user desktops is on support resources and maintenance, Gartner did a research report 2-3 years ago, when they indicated that support costs account for 80% of a 3/4-year desktop lifecycle, with only 20% coming from the licensing and upgrade costs. Agreed that the licensing cost of LAMP is $0, while the Windows stack runs in the $'00s (hundreds), but in the grand scale, it doesn't make a world of difference. The main problem comes in hiring sufficient number of Linux supporting staff, they are substantially more expensive than standard MCSE certified supporting staff making $20 / hour. Therefore the boom in Linux support has made the Linux desktop adoption an expensive proposition (just try to imagine hiring 2,000 linux certified help-desk staff!). I know Jodie Goldberg (the author of Gnumeric), but there are still plenty of Excel-based code that Gnumeric have no chance of running.

    This is interesting, but I have a small comment to do on the low cost windows supporting staff. I would simply say that you get what you've paid for. Most of these guys are really low-level and lose a lot of time in their job because of their incompetence. The standard procedure for most of these people is 'I will reinstall windows on your PC'. Moreover, we have created a crowd of low-level technicians whose job is dependent on M$ future. If I'm the CTO of a company where assistance is not outsourced, what should I do if I want to migrate to linux ? Whatever, I have to spend a fortune for the conversion of my employees or fire them...with the costs involved. M$ definitely has a dominant position, and this is not good at all. It's a little like if all electricity was produced with nuclear power station. What would you do with all these technicians if you wanted to get rid of nuclear ?

    Yes, if I were to start a 20 person firm, I would have everyone run Linux desktop and then just use a Citrix session to 1-2 Windows boxes for people to run their favorite Windows application (Excel, Exchange, etc), and boot-strap the desktop Linux from 1-2 central Linux server (that also serve as the sendmail host, etc). But it is quite another thing to run 50,000 desktops with 15,000 server in a distributed global data centers.

    Don't forget that our economies are based on small and medium companies, and not on fortune-1000 firms. The day all these small firms will understand what linux can bring to them and to their employees (and this is already the case for more an more of them), they will perhaps change their mind very quickly. This would mean too that the largest number of work places would require a "linux knowledge", driving people to use and adopt it more and more. As more and more potential employees would be "linux" formatted rather than "windows" formatted, this would push the largest firm to adapt and adopt a linux environment as a standard.

    In my opinion, the work will be quite long, but it really needs to start at the school level. Teaching of 'computer use' must not be a 'how to use excel' course, but a 'how to use a spreadsheet' course. How many people around you still believe that a PC is PC because it runs windows and a mac is a mac because it runs OSX ?

    Of course, no fight intended rufus_4000
    :cool:
     
    #107     Oct 22, 2005
  7. Only because MS is the incumbent supplier. I would suggest it is quite possible to run large numbers of Linux/Unix desktops provisioned (a term from telecoms industry) from an LDAP (or possibly better a distributed X.500) directory and that the cost of running the thing would be no greater than Windows. I guess it would be less, partly because Linux/Unix is better for nailing down machines so that they are less subject to user abuse, intentional or otherwise.

    As you say, Office and Exchange are the keys. OpenOffice 2 is now released. If they can generate some momentum for the OpenDocument document format and continue improving the import/export of word/excel documents there is a possiblity that this could ultimately hurt Microsoft.

    I noticed that Boing was one of the organisations collaborating on OpenDocument. One would think that Boing would hardly be fools in the area of documentation.
     
    #108     Oct 22, 2005
  8. I've read that Fortran is still used for a lot of numerical computation because the generated code is faster than compiled C, C++ etc. This is apparently due to the nature of the language that allows compiler writers to persue more agressive optimization strategies.
     
    #109     Oct 22, 2005
  9. Although I don't keep up with the Fortran scene I am surprised at this comment beause at this point I would have guessed that fewer resources are devoted to keeping Fortran compilers up-to-date with the latest processor designs (requiring compiler tweaks) vs C/C++. Also if the difference in speed between compiled Fortran vs C/C++ was that critical wouldnt they just code that portion directly in assembly?
     
    #110     Oct 22, 2005