1. Attachments are working again! Check out this thread for more details and to report any other bugs.

One more reason to hate Microsoft

Discussion in 'Fred's House of Pancakes' started by daniel, Jan 23, 2007.

  1. vtie

    vtie New Member

    Joined:
    Apr 11, 2006
    436
    1
    0
    Location:
    Gent, Belgium
    Vehicle:
    2006 Prius
    <div class='quotetop'>QUOTE(EricGo @ Jun 29 2007, 07:51 PM) [snapback]470130[/snapback]</div>
    Bias? Perhaps, but for good reason. I actually started on Apple platforms. My first program was running on an Apple IIe. During my studies, I worked a lot on Classics (yes, Code Warrior), and I had a short love affair with a NeXt Cube. During my PhD, I turned to Unix (the whole stuff: Digital/Ultrix, Dec/Alpha, HP/UX, Sun/Solaris, PC/Linux...). When I started to develop commercial software, I overlooked all possibilities again, and decided that not only PC's were the platform used by the vast majority of my potential customers, but also that, surprisingly at that time, Microsoft cared much more about the community of developers. At that time, Apple still treated 3rd party developers like it was some kind of privelede to be allowed to write (commercial) software for their system, whereas Microsoft was actively encouraging and supporting this all the time. It turned out that this was the right stratey, and the company has never let me down as a developer since then.

    <div class='quotetop'>QUOTE(EricGo @ Jun 29 2007, 07:51 PM) [snapback]470130[/snapback]</div>
    Exactly. Three different approaches. And Carbon had only approximately 70% of the API functions of Mac OS. ("the most commonly used ones", according to Apple). A quote from the Apple's conversion guidelines to OSX: "If an application uses older Mac OS APIs that aren’t part of Carbon, it cannot run reliably in Mac OS X, except in Classic (or emulation) mode". In other words, you are left in the dark and they only thing you can do is rewrite that code. That's pure arrogance towards independent developers. And now Apple told the programmers community that Carbon wont work for 64 bit. Bad luck, you need Cocoa. You still don't see it?

    In the mean time, all you needed for PC's was Visual C++ with MFC, and one single API that worked on all systems since the beginning of Windows. How can I make this any more clear?
    Apple has always been arrogant towards 3rd party developers. You see the exact same thing happening with the iPhone. Like Jobs saying that "it's not worth implementing Java in the iPhone Safari browser". So far for Java as being supported by Apple. That's nothing less than an arrogant insult to every independent developer that works on Java.

    <div class='quotetop'>QUOTE(EricGo @ Jun 29 2007, 07:51 PM) [snapback]470130[/snapback]</div>
    Of course, Intel's failures are the reason why Apple switched to Intel CPU's :D
     
  2. daniel

    daniel Cat Lovers Against the Bomb

    Joined:
    Feb 25, 2004
    14,487
    1,518
    0
    Location:
    Spokane, WA
    Vehicle:
    2004 Prius
    <div class='quotetop'>QUOTE(Pinto Girl @ Jun 29 2007, 05:12 PM) [snapback]470353[/snapback]</div>
    Doesn't happen to me on my iMac (OS X). Firefox and Thunderbird are my defaults. But even Safari (which I use for web sites that don't work with Firefox) does not do what you've described.

    <div class='quotetop'>QUOTE(vtie @ Jun 30 2007, 01:36 AM) [snapback]470531[/snapback]</div>
    Linux was my first choice. But there were a few applications I could not get for Linux. In the end, I settled on the Mac as a good second choice. I think Linux is not yet ready for the user who is not computer savvy on a systems level. However, when I'm traveling I don't need those apps, so my laptop runs Linux and I'm very happy with it. But I use Linspire, which includes some proprietary (non-open-source) code, in order to get some of the functions I do want even while traveling.
     
  3. EricGo

    EricGo New Member

    Joined:
    Apr 30, 2005
    1,805
    0
    0
    Location:
    Albuquerque, NM (SouthWest US)
    <div class='quotetop'>QUOTE(vtie @ Jun 30 2007, 04:46 AM) [snapback]470532[/snapback]</div>
    Come on, just admit the point -- Intel would have had you running your code in emulation if VLIW cpus had panned out. A cheap shot at apple does not further your argument, which has seemed to boil down to MS coddling you more than Apple. Fair enough, but you will have to excuse me for picking the platform and programs I like as a consumer. And let's not be naive, MS could not give a damn about you. They simply realized early on that effort put into developer tools and support furthered their overall objectives of proprietary standards. There are an awful lot of talented programmers out there who had their *real* innovation trampled, bought out, and stifled due to the industry power people like you handed over to them in return for a profitable VAR business. Luckily, open source has provided an outlet for creativity. Regarding your worries over keeping your legacy code running on new machines: You may have heard of Mathematica. They ported from PPC to Intel/OS-X in one week.

    In any case, I suspect you will agree that coding practices using standard API's and portable languages, along with good compilers is a whole lot more important than the CPU -- in general. GNU-Linux is pretty good proof of that. As is OS X, running in superb form on three architectures: PPC, Intel, and now ARM in the iPhone.
     
  4. vtie

    vtie New Member

    Joined:
    Apr 11, 2006
    436
    1
    0
    Location:
    Gent, Belgium
    Vehicle:
    2006 Prius
    <div class='quotetop'>QUOTE(EricGo @ Jun 30 2007, 04:36 PM) [snapback]470588[/snapback]</div>
    Perhaps - but no one knows what level of support Wintel would have given for this process. As you pointed out, binary code compatibility isn't the most important aspect, it's the stability of the API (and the programming language) that really counts. Apples doesn't have a really great track record here.

    <div class='quotetop'>QUOTE(EricGo @ Jun 30 2007, 04:36 PM) [snapback]470588[/snapback]</div>
    As I said several times in previous posts. If I were to buy a computer strictly as a consumer only for surfing, document editing and similar stuff, I am pretty sure it would have been a Mac. But I wanted to introduce a different perspective in this thread, and an argument that contributes to the fact Wintel has become so dominant. And of course MS only cares about maximising their business, but at least they realised very early that taking well care of 3rd party developers was important to this.

    <div class='quotetop'>QUOTE(EricGo @ Jun 30 2007, 04:36 PM) [snapback]470588[/snapback]</div>
    Yes, I have heard of it... In fact, I used it intensively for many years on Apple, NeXt, Windows and Unix platforms :). Great piece of software, but I reported more bugs to Wolfram than I perhaps wrote myself in my entire life... Especially large symbolic Tailor expansions would bring it to its knees. Anyway, it's hardly a typical example, because they had always have been deeply involved in any step taken by Steve Jobs, and ported it to NeXtStep long ago already.

    But I think you still don't fully understand the problem of legacy code. The major problem does not exist in dedicated larger commercial software companies, because it's their core business to keep their code lean and up-to-date, and they can and should allocate the required resources to do so. The biggest problem is in companies that developed code to support other business processes. In many cases, the programmer left long ago, and nobody really knows the code anymore, but yet they have to keep it running on new hardware to keep the company going. That's why there are still millions and millions of lines of code in COBOL and FORTRAN around. It's the boring and ugly underbelly of IT, but it is crucial nevertheless.

    <div class='quotetop'>QUOTE(EricGo @ Jun 30 2007, 04:36 PM) [snapback]470588[/snapback]</div>
    Yes, but that's the whole point. Apple's API as by far been not as stable over the years as Microsofts one. The fact that Apple is a very future-orientent, innovation driven company goes a long way towards explaining that, but it is one of their weak points nevertheless. When I hear Jobs say that "it's not worth implementing Java on the iPhone Safari browser", I can only think there they go again.
    I have done graphical software development on Linux, and I definitely would not use it as an example of a standardised, stable API. For GUI work, it's by far not, actually.
    And don't forget that Microsoft has done this many years ago already: they had versions of Windows NT running on Intel, PowerPC and DEC/Alpha. The latter one even being a 64 bit version, 10 years ago! And it had just the same API as any other version of windows, then and now.

    P.S. It always amuses me how the Apple 'camp' seems to feel it as a moral duty to try to counter just *any* positive remark about Microsoft. All I'm trying to say is that Microsoft is a good partner if you are an independent software developer, better than Apple imho (at least historically). And I believe that this contributed to their commercial success which nobody can deny. I am ready to discuss this argument with any other fellow developer on this forum.
     
  5. daniel

    daniel Cat Lovers Against the Bomb

    Joined:
    Feb 25, 2004
    14,487
    1,518
    0
    Location:
    Spokane, WA
    Vehicle:
    2004 Prius
    What good is it for the marketer of an OS to provide great support to developers and an environment in which legacy code runs forever, if the OS is such a security disaster that the security software begins to consume so much of the computer's resources that there is no longer room for the applications to run properly, and security becomes such a disaster that the hundreds of millions of insecure computers create a paradise for spammers and outright thieves? Computer fraud has become a lucrative business for organized crime, and it has been built on the hundreds of millions of insecure computers running Windows, and owned by people who are not technologically sophisticated enough to keep them secure. When you buy a PC you get the world's most vulnerable OS already installed on it, and three free months of an AV program, and after that, the unwary owner who doesn't understand the importance of keeping an AV up to date, and who object to the perpetual subscription fees, becomes, out of ignorance, a pawn of organized crime as his computer becomes part of a bot net distributing spam or fishing other computers for exploitable personal information.

    In a world where the great majority of computer users are not technologically sophisticated, it is downright criminal to market an OS as vulnerable as Windows. It is vulnerable on every level. Its basic architecture makes security a nightmare, and the sloppiness with which it was written shows an utter disregard for quality.

    I am not a developer, but back in the days of DOS I wrote programs in C for my own amusement. One of the first things I learned was the absolute imperative to check every stack or buffer for overflows. You NEVER create a buffer without checking for overflows. And yet how often do I read in PC Mag's security newsletter that the latest exploit makes use of a buffer overflow? It seems as though there's hardly ever an attack that is not based on a buffer overflow. Considering the consequences of these security issues (viruses, trojans, the creation of bot nets, etc.) a manager who continues to employ a programmer who writes a line of code that crates a buffer and does not check it for overflows, is accomplice to a criminal, because without him, computer crime would be one percent of what it is.
     
  6. vtie

    vtie New Member

    Joined:
    Apr 11, 2006
    436
    1
    0
    Location:
    Gent, Belgium
    Vehicle:
    2006 Prius
    <div class='quotetop'>QUOTE(daniel @ Jul 1 2007, 04:51 PM) [snapback]470995[/snapback]</div>
    I'm not going to defend MS as being particularly good in security. But there are a lot of misconceptions around, also in your post. For example, you mention the word "spammers" and somehow accuse MS for allowing them because of a weak OS. How in the world could MS be responsibe for that? The fact is that email itself is ridiculously insecure, because it's design dates from times where internet was for a Few Good People. The same for phishing. Please tell me how this is MS's fault? It's again a result of a weak security design of the WWW itself, because it was designed in a time nobody was thinking about ecommerce. You can't blame MS for all faults in the computerworld. In fact, IE goes a very long way in incorporating new features to try to stop, going further than most other browsers (yes, in the phishing filter in that damned IE7!).

    And please tell me how "the basic architecture [of Windows] makes security a nightmare". Again, I'm not claiming that it's particularly good in this respect, but I do claim that it is substantially better than, for example, Linux. If you want to have some real nightmares, look at the security holes in Unix. Believe me, if 95% of the PC's would be running Linux, then we really would see something. A lot of the security problems MS is experiencing mainly comes from the fact that it runs on the vast majority of the computers , making it by far the most interesting target. And a lot of the vulnerability doesn't even come from MS. Java has a very bad reputation in this recpect, and comes from SUN. Another example that comes to my mind is SQL injection.

    I agree that MS could and should do (and I also can tell you, will do) better, but please put the things in the right context. Spam and phishing isn't the fault of MS.

    Finally, concerning buffer overruns, I would call it in the first place a weakness of C (again something that dates from a different age in computers). From a programming language perspective, this has been addressed long ago already with C++/STL. Nevertheless, it might comfort you to know that the MS Visual Studio compiler has provisions to detect buffer overruns already for years now.
     
  7. Godiva

    Godiva AmeriKan Citizen

    Joined:
    Apr 8, 2005
    10,339
    14
    0
    Location:
    San Diego, CA
    Vehicle:
    2005 Prius
    There's a place for legacy and there's a place for legacy.

    A decade is an Eon in the computer industry.

    So Apple doesn't support Classic 9 anymore. Get over it. Join the new millenium.

    At some point you need to move on.

    I notice you can't send a TELEGRAM any more either.
     
  8. daniel

    daniel Cat Lovers Against the Bomb

    Joined:
    Feb 25, 2004
    14,487
    1,518
    0
    Location:
    Spokane, WA
    Vehicle:
    2004 Prius
    <div class='quotetop'>QUOTE(vtie @ Jul 1 2007, 08:24 AM) [snapback]471007[/snapback]</div>
    Spammers rely on botnets to distribute their spam. Botnets happen when the spammers succeed in taking control of a computer. A secure OS would make that impossible, or at least much more difficult to do.

    <div class='quotetop'>QUOTE(vtie @ Jul 1 2007, 08:24 AM) [snapback]471007[/snapback]</div>
    It lacks basic security measures. I cannot install new software on my iMac, or make other security-related changes, without typing in the name and password of an admin. In Windows, all you do is click "Ok" on a window, and it's often unclear exactly what you are saying ok to. Remember the Sony rootkit? All you had to do was play a Sony CD and the rootkit installed, without ever asking the user. For an OS to allow itself to be altered without ever asking the user, and alerting him to the serious nature of the task about to be performed, is unexcusable.

    <div class='quotetop'>QUOTE(vtie @ Jul 1 2007, 08:24 AM) [snapback]471007[/snapback]</div>
    The ease with which the bad guys can install malware onto Windows machines is the fault of MS.

    <div class='quotetop'>QUOTE(vtie @ Jul 1 2007, 08:24 AM) [snapback]471007[/snapback]</div>
    Then how come all these new attacks are still exploiting buffer overruns?

    BTW, I never learned C++. It came along shortly before a period when I was without a computer, and when I got another it had Windows, and I found trying to program under Windows (as opposed to DOS or the earlier CP/M) was too tedious to be fun. But what you call a weakness of C, I liked about it: Other compilers (back then, at least) were always telling you you can't do this or that. C let you do anything you wanted. That meant you had to be a lot more careful. But when I programmed under C, I was in charge, not some confounded compiler. It's been nearly a decade and a half since I programmed. But I can say that in my opinion, C was, in its day, far and away the best programming language for a programmer that liked to do things his own way.
     
  9. ozyran

    ozyran New Member

    Joined:
    Apr 15, 2007
    695
    1
    0
    You know, I think this video sums up the argument nicely.
     
  10. TJandGENESIS

    TJandGENESIS Are We Having Fun Yet?

    Joined:
    Aug 11, 2005
    5,299
    47
    0
    Location:
    ★Lewisville, part of the Metroplex, Dallas, in the
    Vehicle:
    2005 Prius
    <div class='quotetop'>QUOTE(Godiva @ Jul 1 2007, 01:05 PM) [snapback]471045[/snapback]</div>
    Is that true? I think it might be. Well, it made me laugh...sorry. BOT, please.
     
  11. vtie

    vtie New Member

    Joined:
    Apr 11, 2006
    436
    1
    0
    Location:
    Gent, Belgium
    Vehicle:
    2006 Prius
    <div class='quotetop'>QUOTE(Godiva @ Jul 1 2007, 07:05 PM) [snapback]471045[/snapback]</div>
    Hahaha... Go tell that to all the people who still need to support COBOL code in order to keep the financial world running. I have the impression that your view on IT is a bit simplistic. Anyway, this wasn't even my point. My point was that Apple had several platform transitions (which is good), but did not offer a continuous API path.


    <div class='quotetop'>QUOTE(daniel @ Jul 1 2007, 07:42 PM) [snapback]471059[/snapback]</div>
    Oh, but that problem is very old already and by far not exclusive to Windows. It was a very widespread problem with UNIX machines (for a long time, UNIX would send passwords as plain text over TPC/IP, making it ridiculously easy to sniff them). And it's a big problem today with Linux machines as well. But the real cause of spam is the outdated design of the mail protocol itself. It was never designed with the modern Internet in mind, and a redesign is overdue. For example, as anyone with some computer knowledge knows, it is straightforward to send someone a mail with a fake email address. I could send someone a mail and make it appear with your email address as the sender if I had it.


    <div class='quotetop'>QUOTE(daniel @ Jul 1 2007, 07:42 PM) [snapback]471059[/snapback]</div>
    Sorry, but that's just wrong. Windows has a fairly decent system with different users and priveledges, just like any modern OS. It is straightforward to configure a PC so that a non-admin user cannot install/uninstall/modify software, as is actually done in most corporate environments. The only problem is that virtually every PC manufactures pre-installs Windows and makes the admin the default user, and people keep on working under the admin all the time. Dell and other do this, presumably because they want to keep things as simple as possible for their customers, but creating a serious security threat indeed. But the whole protection mechanism is there, and a good sysadmin always uses it. The famous Sony rootkit never installed in PC's where the user was running under a normal, restricted account like it should be.

    But, yes, many Windows PC's are insecure. Why is that? Is it because it "lacks basic security features"? Not at all, it's because people don't use them, and computer vendors don't switch them on by default on their machines. And, since Windows is the dominant OS, a lot of hackers are ready to exploit all those insecure computers.
    You can compare it to the problem of Wifi routers. Although the protocol itself contains a reasonable amount of features to make it more or less secure, the vendors of Wifi router boxes (until recently) never switched them on by default. A typical user was already more then happy when the network was up and running, and never even bothered switching them on. The result: lot's of insecure Wifi network. Is it because Wifi is insecure? No.
    Of course, it is the duty of MS to act on this situation, and actively inforce a more secure setup by default. They doing this in Vista right now. But they indeed waited for far too long to do this, resulting in a situation with many unsecure computers (just like there are so many unsecure Wifi networks).

    <div class='quotetop'>QUOTE(daniel @ Jul 1 2007, 07:42 PM) [snapback]471059[/snapback]</div>
    Because there is so much old code still floating around. Regardless exhilerated quotes about "the new millenium", that's a fact of life. Software development isn't as beautiful and modern as some people like to think. If you look at the foundations of web applications, email, databases and other "modern" stuff, it all based on protocols and pieces of code that are sometimes more than 15 years old.

    <div class='quotetop'>QUOTE(daniel @ Jul 1 2007, 07:42 PM) [snapback]471059[/snapback]</div>
    I smell a contradiction in your words here. On the one side, you are screaming for more control over what a computer user can do, and you are outraged about all those bugs in software that cause vulnerabilities. On the other hand, you are advocating maximum freedom in your programming language, and being lyric about the beauty of malloc(). Unfortunately, programmers are only human beings like anyone else, and they can and do make mistakes (bugs). A development environment that does not impose any constraints will result in more buggy, less secure code, simply because programmers are not perfect. The last 15 years, the software development world has been continuously evolving towards a more secure development environment, imposing more strict rules, precisely to improve on this. So, which way do you want it?
     
  12. priusenvy

    priusenvy Senior Member

    Joined:
    Mar 15, 2004
    1,765
    14
    0
    Location:
    Silicon Valley, CA
    Vehicle:
    2005 Prius
    <div class='quotetop'>QUOTE(vtie @ Jul 1 2007, 02:04 AM) [snapback]470957[/snapback]</div>
    The problem can exist in the latest versions of shrink-wrap software. Imagine you are an ISV with a popular Mac application that can benefit from 64-bit address space. Last year at WWDC Apple tells you that they are going to make Carbon 64-bit. Then, big surprise, this year they state they are dropping 64-bit Carbon, and your only realistic alternative is to port your entire UI to Cocoa. For some companies, that's effectively an mid-eight figure "tax" Apple just put on you to go 64-bit.

    If that happened to me, I'm going to seriously consider whether it is worth it to continue to support the Mac. It's got nothing to do with how hard it is - we know how to do it. It's got everything to do with ROI.

    BTW, I commend you for your seemingly endless patience in trying to educate the unwashed masses.