Microsoft vs. Apple
I own both a Mac and a PC. I've used a PC for about 15 years and a Mac for about 3.
If I were to confess to how many machines I actually own, the number is probably in the low twenties, with multiple Win 2k, XP and even an old 98 box somewhere, several Linux servers, a Linux laptop, an HP-UX box and a Solaris 8 server that I've never bothered to update. Got geek?
But there are only two machines I use on a daily basis, and those are a Windows XP box and a PowerBook.
And I've got some complaints about both Microsoft and Apple. I'm going to warn you, this is a really geeky rant. And it's long.
The deal is this: Apple has released a slew of nice, shiny new machines at a very high spec, with a good price and what is hands down the best commercially available operating system on the market. It's everything I every wanted my Linux systems to be - and it runs Microsoft apps, too, like Word, Excel and Powerpoint.
People often accuse Apple of being a bit player in the computer world, with only paltry shares of the market. In fact, they have a 12% share of the laptop market and about a 6% share of the desktop market, which puts them respectively 4th largest and 6th largest in the world. In both cases, they outsell Sony. Apple is actually a fairly big player, there's just a huge gap between Dell, HP and everybody else.
Microsoft has just released a new operating system with an enormous amount of fanfare: Vista. It claims to be the Chuck Norris of operating systems, curing cancer and kicking the collective ass of the rest of the world.
So what's wrong?
Well, there's five things:
1. First, Microsoft is ending VB support for Office for Mac. This is truly frustrating. Most folks don't realise how important scripting is to most of their Office documents. But it effectively ends the Mac as an even semi-serious contender for even very small businesses. I think in the long run that Microsoft will pull support for Office for Mac, in the same way that it pulled support for Project and Visio on the Mac. And Mac sales will really suffer as a result.
2. The frickin' ads. Okay, I'm going to come clean. The Apple community faithful seem to universally love the Mac vs. PC ads. I find them utterly cringeworthy. Buying a computer is already frought - decisions about hardware, software, operating system choices and interoperability swamp most infrequent computer buyers. These ads don't help. They're gloating, self-satisfied, smug attempts to stick a finger in the eye of Microsoft. Why? I can't think of a single good reason. Microsoft has been one of the biggest supporters of Apple; the Microsoft campus used to be covered with Apple Powerbooks and Microsoft remains one of the largest vendors of software for the Mac. At one point, Bill Gates spent a personal $125 million bailing Apple out of a hole.
The ads are deliberately provocative and condescending - and often wrong, or commit the sin of ommission. In iLife, for example, the Apple ads seem to claim that the applications bundled with PCs are boring - like clock and calculator, while iLife is exciting and vibrant. Okay, iLife IS exciting and vibrant but Microsoft has been legally forced to unbundle Internet Explorer and MSN Messenger, so they'd never get away with bundling an iLife-like suite. And Macs all come with calculator and clock, too. An extended analysis about how most of these ads are unfair is outside the scope of this blog entry but I think that nearly every ad is unfair to PCs.
3. Microsoft can't write network software. This drives me absolutely batshit f*cking crazy. I want to break things and throw plates and just get so frustrated by this. It's not hard to write network software. TCP/IP has been around since 1967. It is extremely well documented. It isn't rocket science to write a TCP/IP stack that follows the RFCs. It's straightforward. Every Unix vendor in the world manages to do it. Even Macs finally do it. I'm not asking for raw socket support (okay, I am asking for it, but I'm willing to get it from a Linux box or my Mac), I just want Microsoft to follow the RFCs and document their options.
Time and time again Microsoft f*cks it up and fails to interoperate. Examples? Kerberos. Kerberos is a kind of holy grail for security professionals. It's a universal, standard, well-defined authentication, authorisation and access control server. It has the potential to make enterprise identity management substantially less nightmarish. Microsoft claims that their Kerberos plays well with other Kerberos implementations...but it doesn't. The entirety of the rest of the market has made a decision about how to format the ticket granting ticket and supports the GSSAPI. Microsoft, alone, supports the SSP and has a non-standard format for the the ticket granting ticket. So, if I want to implement Kerberos, I need a non-Microsoft Kerberos supplicant on every single desktop in my organisation (that's 140,000 desktops, for those of you counting) or I need to make AD schema extensions and modify every single operating system that has a resource I want to authorise with Kerberos. For a University, this is probably not a huge task. For us it's stupid. I have critical systems that run on Tandem, OpenVMS, AS/400 and z/OS as well as three flavours of Unix. And all Microsoft would have to do would be to change a few lines of Kerb code and roll out a new version of AD with a checkbox that says "Do you want to work with the rest of the world?"
They've fixed it with AD, but Microsoft's DNS was the worst implementation in the world, hands down. In NT 4.0, they started with a straight BIND port, which was a piece of cake. You edited the text files and had a snack, just like BIND on any other box. Then they moved it into the registry and suddenly adding a record was through a GUI that sometimes worked and sometimes didn't. And there was no way to manually edit. A records were usually okay, but pointers or MX records were a dice roll. Totally unacceptable. They've fixed it now with AD, but it was so egregious that I'm still angry about it. It was devestatingly unprofessional.
And Internet Explorer - which can only look at web pages, by the way - sent two simultaneous requests for a page so close together they looked like a wireless fast retransmission. And would then RST whichever response came second. Why? Because one of the requests was actually Novell NetBIOS addressed, except that the NBT helper application puts it on the wire as TCP/IP. But systems with reasonable IP stacks should just remove the RST from their connection tables and free the socket, right? Well, maybe, if Kevin Mitnick hadn't figured out how to TCP/IP session hijack - so now two connections that close together are indistinguishable from a session hijack and so most firewalls with SYN flooding protection will bin both connections. Great. That means that anyone with web sites behind a CheckPoint firewall, say, using CheckPoints SYN flood protection, will unintentionally DOS users of IE 5. It's not such a problem now (fixed with version 6 of IE), but again, I'm still mad. As if the entire world wasn't utterly and completely ruled and dominated by TCP/IP. Here's a newsflash, Microsoft: thou shall have no other protocols save TCP/IP. Put the NetBIOS down. IBM abandoned the Distributed Computing Environment back in the 1990s. Only you are using it still.
Oh, let's talk about the DCE/RPC for a moment. Here's how DCE is supposed to work: there's a listener, called an endpoint mapper, on a static port (used to be 135, now 445), which maintains a catalogue of available services and resources. You make a connection to that listener and request a service, then the two of you negotiate a subsequent port for your conversation, different to 135 or 445. This frees up sockets for the endpoint mapper and is in general neither good nor ill. The way that Microsoft cocks up coding DCE/RPC is the following:
a. They refuse to publish their UUIDs. This is amateur. Strictly bush league. Listen, I've bought your software, I've paid the extortionate fee, tell me what I've bought, that's all I'm asking. Now, because I've spent months painstakingly attempting to capture the UUIDs, I now know why they don't want to share them. A UUID is a Universally Unique Identifier. It's a 128-bit number that is supposed to be generated in a proscribed manner so that it is definitely unique. There are enough numbers in this space that you could number all of the fundamental particles in the universe and still have most of your numbers left. There's an RFC (4122, for the curious) and an ITU-T Rec. X.667 (ISO/IEC 9834-8:2005) that governs how they are generated. Microsoft didn't follow this convention. How embarassingly didn't they follow it? Well, one of their actual UUIDs is 01234567-89ab-cdef-0123-456789abcdef. The rest aren't much better. But you'll have to find them on your own.
b. They inconsistently invoke DCE sessions. FRS Replication is the most egregious violator of consistency. It makes a connection to the endpoint mapper, then migrates to a high port and keeps the same TCP session numbers, which makes me uncomfortable but I don't think is actually illegal. So far, we're okay. Not great, but okay. Then, FRS Replication just assumes that the socket is available forever. Even though the stack should time a session out after ten minutes, AD might come back after an hour and try to use the socket without a new handshake. Okay, that's bad behaviour. But what's really irritating is that it the first DC to try and communicate will actually do the handshake each time whereas the DCs on the recipient end will try and use the back connection on the same socket without a handshake and continuing the session with the next sequence numbers more than ten minutes after initiation without any keepalives. So if you're enforcing protocol compliance on your network, FRS Replication only works in one direction. Which is a real f*cker. What's the Microsoft answer? It's not good. Steve Riley does his best to put a good face on a bad situation, but opening up every port above 1024 is a non-starter and limiting RPC down to the use of a single high port doesn't work if I have 140,000 clients hitting my DCs. And tunneling defeats the purpose of protocol enforcement and network anomaly detection. Basically, you can't run FRS Replication through a firewall. And it's easily fixed, too; just time out the connection after ten minutes and open another one. The TCP handshake is three packets, it won't kill you. Considering all the other chatty crap Microsoft needlessly spams onto my network, three 64 byte packets every hour will go completely unnoticed.
4. Windows Vista is a Mac OS X rip off. Yes, it is. I'm really, really disappointed in Microsoft. Vista is the New Coke of operating systems. I'm not saying that the ideas behind OS X aren't any good - they are good. They're just about the best around, many of them stolen from BSD, microkernal architecture research, BeOS and Steve Jobs' very own NeXTStep operating system. But that doesn't mean that Microsoft should copy them. Innovation involves finding new, clever ways to solve problems. Ripping off Spotlight, Widgets, and even Chess is just low. Shame on you, Jim Allchin! Shame on you, Microsoft!
It would bother me less if they hadn't taken five years to do it. In five years, they've managed to come up with an OS that still uses the NT kernel, has a skin on it to make it look like Mac OS X and is sort of backwards compatible with Windows XP, kind of, unless you are an anti-virus program. I think, with a team of about a dozen people that I actually know, pulled that off in about four months. And I'd have had the good sense to steal the journalled file system, too, which Apple borrowed from VMS.
5. Finally, there are no good games on Mac. I mean this. World of Warcraft is not a "good game," it's a short step away from heroin. Okay, Age of Empires 2 came out on Mac, but it was severely hobbled. It didn't run at the default resolutions of the widescreen Macs, so everything looked ugly, it froze up and lagged and was notoriously difficult to multiplay. Here are some great games that you can't get on a Mac: Battlefield 2, Lord of the Rings 2 (Battle for Middle Earth), Dawn of War, anything from Steam (Half-life, Counterstrike, Call of Duty, etc), anything from PopCap (Bejewelled, Bespelled, etc). There are some great applications for Macs. I don't want to knock it. But I hate that I have to maintain two complete systems in order to play games. And I know that the new Macs are now also PCs, but they're not really the answer. The graphics cards that ship with the new Macs are garbage, unless I buy a Mac Pro - and even then I have to get a graphics card upgrade and the final package costs $3000 and I'm still not getting the kind of graphics performance I want for my gaming. With that kind of cash I can buy a MacBook (for everything but games) and a top notch PC with a real video card, like an NVIDIA 7950 GTX, with what I have left over.
OS X is clever. It's a lovely platform. The graphics toolkit at it's heart is brilliant. Apple really leverages the graphics capabilities of the graphics hardware. But no one who's writing great games is writing for it, which is a shame.
Okay, I'm spent. If you made it this far, congratulations. When I read this through I got lost myself somewhere around the UUIDs.
Comments
Maybe it's just me, but the UUID segment had me coughing up phlegm on our nice 20" LCD screen.
Oh and games. There is a developer that admitted that they ported the ENTIRETY of Half-Life to the Mac but then didn't release it because, you guessed it, Microsoft's networking API wouldn't allow them to play with PC users.
Now, the Windows platform isn't all bad and it definitely has created some economic benefits worldwide, but I can't help but wonder what would've happened if Novell and Apple weren't so poorly managed in the 90's. What a sparkling utopia the world of IT would be. . . umm let's not get into a discussion of IPX/SPX though.
Oh, and graphics cards, c'mon man. You made me play Lord of the Rings 2 on a StinkPad.
Posted by: Mark Fojas | February 19, 2007 4:45 PM
Hey man, I just checked and COD 1 AND 2 are available for the Mac. COD 3, well I'm sure by the time the XBOX 720 comes out we'll have it.
But look, Parallels is fantastically great nowadays, Why? Because you can use your BootCamp partition as your Windows install. So you don't have to install Windows twice on your Mac and reboot only when you want to play games.
Pooring more salt on the wound, all we have is a RUMOR that ATI is building CrossFire GPUs for the next iteration of Macs. Okay. Well, at least Jets'n Guns works on the Mac...
Posted by: Mark (again) | February 19, 2007 5:05 PM
Hey, Mark!
I am so totally sorry about the ThinkPad. It was what I had available in Scotland. Please forgive me. Had we been in the States, I'd've had a pair of high quality gamer rigs ready to go. One of them even has - and I'd totally forgotten about this - a Samsung SyncMaster 1200NF, which I really ought to ship over here. 22 inches of viewing love. Max resolution of 2048x1536@79Hz, came fantastic color reproducing software, which I've since lost, but it was calibrated to the monitor. You could take light meter readings in the room you were in, feed them in to the software, and it would calibrate the colors on the monitor so that they would appear as close to real life as possible. Of course, it's a 22 inch flatscreen CRT, so it's about the size of my car, except it's supposed to fit on my desk. Ah, well. Ups and downs.
It would be really cool if the Mac had drivers for the Wildcat Realizm 800. This would be especially cool if they still made the Wildcat Realizm 800, still the best video card ever made.
And I'm probably going to carry on with this PowerBook until it dies, because it does what I need a laptop to do, and defer the purchase of a gaming PC until there's a robust second hand market for Mac Pros.
Posted by: Nathan Dornbrook | February 19, 2007 6:01 PM
So, less of a really nerdy problem with Microsoft, but here's a complaint on the lay-user end. I just discovered, today, months too late, that the MS Office "standard" setup for macs does not include equation editor or editing tools. Ok, for many people, equation editor isn't critical until you take an ANOVA theory course and have to write papers heavily laden with dense equations. But the editing tools? We were forever without them. I almost broke the laptop (maybe I did because I'm reinstalling everything right now) about a year ago trying to find a patch for the grammar/spelling tool on the internet. What a royal pain in the ass.
Also, I agree very strongly with the whole Mac vs. PC point that you've made (though much of the rest of it went over my head), it's just obnoxious. I much prefer the Wii vs. PS3 spoof.
Posted by: Mendon | February 20, 2007 5:49 AM
Hey, Mensch.
I, too, nearly popped a vein when I discovered I had no equation editing tools on Word for Mac. And can't find them at all, anywhere.
I love my Mac - I really do. And I love equation editor. It's one of those little bundles of software joy that makes me smile every time I use it. I'm sure Don Knuth is turning over in his grave.
Luckily, Macs ship with Grapher, which is almost as good, you just probably didn't know about it.
Spotlight for Grapher and select White as your graph choice. Then write your equation. You can cut and paste it as a TIFF, although it looks chunky. I suspect that EPS is probably the right way to go, but you'd need a LaTex editor or some such for that.
Hey, Mark, what would you use for equation editing?
Posted by: Nathan Dornbrook | February 20, 2007 12:23 PM
Probably one of Wolfram Research's Mathematica products but it may be overkill (I have a soft spot for Wolfram Research... they're just cool developers... they're the Jackie Chan of Math app developers-- they do all their own stunts). I think it's called Mathematica CalcCenter and you can get it for $100 as a student (I think). Basically, it's Mathematica for beginners with a nice, friendly GUI, and an actually helpful help system.
If you want something cheap and free, LaTex is probably something you should learn how to use since so many researchers swear by it for creating professional looking papers. I found a nice looking equation editor (that uses LaTex, so you have to install it first and learn the syntax for equations) here:
http://evolve.lse.ac.uk/software/EquationEditor/
Note that I think if defaults output to .pdf, so you'll have to change that to default it as a .tiff file. WARNING: I HAVEN'T USED THIS YET BUT IT LOOKS COOL. It may also be overkill, so try out the Grapher, and see if it does the job.
I know there's another equation editor that also uses LaTex as its engine but I can't seem to find it. Granted, I'm kinda rushed to get out the door right now.
Also, I can't stress enough that Mathematica CalcCenter is a BARGAIN at $100. It will probably also be a good intro to Mathematica Pro (which I think students can get for $150 but might be too intimidating for you right now)-- which if you're going to be doing a lot of statistical analysis is something that you'll want to use.
There is also the ugly but free and functional MathPad.
http://macupdate.com/info.php/id/8614
Anyway, gotta go fellas.
Oh and Nae, I was just tweaking you about the ThinkPad... it was fun even though we didn't get to play against each other.
Posted by: Mark Fojas | February 20, 2007 4:54 PM
Okay, I guess my last comment had too many links in it to automatically get approved. My short answer is that there are free LaTex equation editors (Google them) for OS X that will do a pretty good job if Grapher isn't up to snuff. It exports to .tiff and .pdf. Long term, I recommend you getting Mathematica CalcCenter by Wolfram Research ($100 was the student price AFAIK). Don't go for the full Mathematica Pro until you are REALLY comfortable with CalcCenter. One advantage CalcCenter has over the competition is that you can cut and paste equations directly into Word. It'll be extremely helpful if you pursue business school.
Mathematica's main competitor is Matlab, which I've heard good things about, but really don't know much about.
There is also a free PPC (no Universal Binary-- and probably never will be)program called MathPad that looks fugly, but functionally should do what you want it to do.
Posted by: Mark Fojas | February 21, 2007 3:27 PM
In other geek news I just read iWoz, which though somewhat crudely written (hey, he's an engineer) was extremely entertaining. It even has a glossary of terms for those that get lost in his explicit accounts of his engineering feats.
At some points, you may think that he's incredibly egocentric, but in reality, if you've actually seen how he interacts with people he's just calling a spade a spade with no real ego behind it. He's just stating facts when he says, "I was the first person to do x".
I recommend it as a gift for any young boy or girl.
Oh and Mensch, the more I read about CalcCenter, the more I think you should run and get it. Here's a review of the previous version http://www.fenews.com/fen27/CalculationCenter2.html
I think this review is especially relevant for what you want to use it for.
Posted by: Mark Fojas | February 21, 2007 4:26 PM
I am sure I see no relevancy to much of any of this hubbub....unless you spend most of your lives inside a tron-like environment. Good cycling o ye frogs of the monoliths. Careful of the dropping floors and rising suns.
Posted by: Papa D | February 26, 2007 6:29 PM
Hey, Papa!
I spend most of my time in a Tron-like environment.
Posted by: Nathan | February 28, 2007 9:57 AM
Mac Gaming peaked with Myth2. Then Microsoft bought Bungie.
I find the adverts annoying and pointless too Nathan - but the casting of the Peepshow cast for the british version was a pretty clever move. Why Muddy the waters in what is already a pretty tricky thing to get into for a beginner.
Its like "attack Ad's" in election campaigns.
Seeya soon mate,
-e
Posted by: Ewan | March 25, 2007 3:19 PM