Solipsism Gradient

Rainer Brockerhoff’s blog

Browsing Posts tagged WWDC

Yesterday I spent some time at one of the prototype Macs with a Pentium inside. There was one of them with the cover removed. The most remarkable thing was – and, now that photos have leaked, I don’t think I violate any NDA by saying this – that there was nothing remarkable about the box (a standard cheese-grater PowerMac) or about the motherboard (a standard Intel motherboard). There was nothing remarkable about it usage-wise either; unless you looked at the “About This Mac” window, or at the System Profiler Report, or at the Processor preference panel, there was no way of telling what CPU was inside. It ran some unreleased build of Tiger, and there was this huge conspicuous security cable on it for some reason icon_smile.gif.

But it walked like a Mac, it quacked like a Mac, it was a Mac to all intents and purposes. I downloaded a dozen of random software packages off the Internet, they all just worked – under the Rosetta translator, which I had to see working to really believe in. The perceptual speed was, perhaps, a little faster than my 1GHz PowerBook; quite usable. I suppose this will get faster after a year of tweaking; another word in everybody’s mouth these past days.

Ah, and a bit of news which also leaked out today: Steve Job’s machine was not a souped-up quad processor monster, just the same box I had been using, but with some extra RAM. So, Rosetta is one cool app. I talked to one of the guys on the Rosetta team and he confirmed what I saw happening at the keynote: when you launch an app the second time, it uses the cached translated binary, so it launches much faster.

I looked at the installed libraries, drivers and applications: of course they were all “fat” binaries. The entire system is fat. Oops, sorry, “universal binary” is the politically correct version now. It’s not quite double the size of the standard Tiger installation, but who cares in these days of 100+GB disk drives?

I checked out some of my own projects on the new Xcode 2.1. Nearly all standard Cocoa stuff just compiled and ran with no modifications, no matter what combination of architectures I compiled it for. You can even step-debug PowerPC binaries on this thing, they somehow made gdb Rosetta-aware, so that the translated executable is back-linked to your PowerPC source code; very cool. This is probably a bonus of the Mach-O executable format, like the universal binary format itself. The old Carbon CFM format will run under Rosetta, but not natively; CFM is the new Classic, it seems. The old Classic appears to be dead at last; I suppose getting the Classic compatibility layer running under Rosetta would be a huge pain.

I don’t have any straight Carbon projects to test. I do have one new project that twiddles bytes that flow to and from the disk at a lot of places, because it uses a legacy format (one dating from 1984, by the way). I got most of it converted in less than an hour by scanning for certain source code patterns and putting byte swap function calls around the pertinent expressions. Now, the publicly available Guidelines list dozens of exceptions, where porting takes some extra work: if you use custom resource formats or Apple Events, if you use bitfields, if you want to divide by zero, and so forth. I think the biggest headache will be for whoever has invested time in writing great gobs of code in PowerPC assembly or Altivec; fortunately I never did this myself.

One place where I later lost another hour of work was in a somewhat obscure open source module which made unwarranted assumptions about the order local variables were allocated on the stack. Now, this is something which certainly works for one-off applications, but to actually publish such a thing without calling attention to it, is somewhat foolhardy. This is where many of the conversion failures will come from, I believe; sloppy coding and unwarranted assumptions.

Ibis Itiberê S Luzia wrote:

What about the “megahertz” myth? What about the “switcher” campaign? Now Apple switched. Apple computer no longer exists: now it could well be labeled “Apple Software”. Would anyone point out a reason to buy a Mac (Not “Mac’ anymore, now they are only Apple’s PCs) instead of a chinese PC now?

This is a common misconception. I’m typing this on a Mac at WWDC. There’s a Pentium inside, but you can’t tell unless you go to the “About This Mac” window. It’s a Mac in all other respects. Mac OS X won’t ever run on a chinese PC.

If I were a hardware developer for the Apple platform or if I were a software developer I would be seriously anger with Jobs decision now. He has no idea about the commitment that people which uses the Macintosh has with its products.

I am a software developer and an Apple stockholder. I think Steve Jobs did a very good thing, namely, remove the Mac’s sometimes irrational identification with CPU architecture. While you may disagree with details of the timing or of the way the transition will be made, you’ll have to agree that Apple has suffered too much at the hands of Motorola and IBM in the past. Apple now has the chance to be independent of processor architecture, more than any other computer company can be. And that was the point of my post.

If Intel won’t do the right thing in the future, once the transition to universal binaries is complete, Apple can just drop them at a moment’s notice and jump to some new architecture. After all, that’s what they do now with everything else: video cards, networking chips, and so forth. And you, as a user, usually won’t know and won’t care.

It’s possible if now we think Apple is only a software house which still sells computers for heritage reasons. If Apple hiden from everyone for all of this time that they had an x86 version of their system why not think they have plans or possibly still alfa versions of their systems for almost all CPUs in the market? Thinking in that direction it’s very plausible to conclude that will be possible to run Mac OS X in almost every machine in the near future. What about the CELL? If it goes as good as it was predicted by IBM and Sony for sure Apple will be on that.

Exactly. Where I think you’re wrong is that Apple will never sell Mac OS X separately. The whole Mac experience is possible only on Apple-built machines. I have owned two Mac clones in the 90’s, and while they were good machines, they weren’t true Macs. Apple as a software developer makes no sense.

Can Apple fight piracy? For sure no. They can’t. And Apple will lost profits for piracy as it will became each time easyer to piracy and “hack” DRMs and Mac OS X license codes. They can even “dongle” the Mac OS X, it will make no difference.

Computer architecture is not only CPU architecture. A system comprises controller chips and peripherals. You are assuming that Apple will just slap an Intel motherboard into one of their cases; that certainly won’t happen. Even if the CPU itself is a completely standard Pentium, just to get it to boot lots of things have to happen first: the memory controller has to be configured, the RAM must be checked, a list of peripherals must be built, and so on. All these details are different from one Mac model to the next – often wildly different. Every Mac model has its own “firmware” for doing this. That won’t change.

These things are handled on PCs by the BIOS. But there’s no reason for Apple to build a machine with a standard PC BIOS, or with a standard PC controller chip! These things are needed only for booting Windows; something Apple has no interest in having happen on a Mac. No doubt someone will go to great lengths to have Mac OS X boot on some random PC motherboard. It will be a neat exercise in futility. OK, it may even boot, but then you’ll be restricted to peripherals for which Apple (or the manufacturer) has written device drivers; plug in your chinese Ethernet card and it won’t be recognized.

So, rest assured, we’ll see a variety of Mac models in the future. Some may even still use PowerPCs. Many will certainly use Pentiums. I still think the G5 is a great chip, much better than the Pentium. But I don’t do assembly programming anymore. Only rabid game geeks get excited about which video card does certain operations better than another. As long as it runs my Mac programs well, and looks like a Mac, and feels like a Mac, and has the Apple logo about it, why should I feel betrayed when Apple changes whoever makes its power plug? Its controller chip? Its CPU? Were you sad when Apple made no more 68K machines?

No, it’s not goodbye “PowerPC Inside forever”, welcome “Intel Inside forever”. It’s “Anything Inside”. Whatever works.

Yesterday was a historical day. Everybody around me in the press section was betting on a set-top box or an Intel-built PowerPC. Instead of that, we witnessed the shortest keynote in my memory; the one where the CEO of Apple and the CEO of Intel actually hugged onstage, if briefly; and the one where it was revealed that the Macs Steve was running the demos on had “Intel Inside”.

Well, so I said:

There are several more likely explanations than Apple ditching all of its AltiVec optimizations and switching to a plain x86 codebase…

Intel building a hybrid chip that runs both standard x86 and PowerPC/Altivec code either natively, or with some hardware assist, even if it’s just an endianness switch bit…

About the only thing I’m sure won’t happen is Apple building, and running Mac OS X on, standard x86 motherboards.

I also wrote several posts and magazine articles in the past years arguing against the last point.

And nearly all more knowledgeable tech writers agreed with me. After all, we all knew the Pentium sucks, right? Or at least the PowerPC architecture ran rings around it, or toasted it, or whatever other metaphor was used in the Apple commercials some years ago, when it was demonstrably true. They even showed one of those during the keynote.

Now, suddenly, the handed-down wisdom is that the Pentium still sucks – but it sucks much faster than the current G5 does. The mobile varieties suck less power while still sucking faster than the aging G4. The dual-core Pentium sucks doubly well while the dual-core G5s are still in IBM’s and Motorola’s labs.

Yes, Altivec still beats Intel’s SSE2 easily – it has more registers, it’s faster for the same clock speeds, it has more and better instructions. But at a slower clock speed, and when the rest of the system can’t keep up, it doesn’t matter. Yes, the PowerPC instruction set is more modern, it has more registers, and so forth. Same argument.

So what can I say now? Unfortunately, I have to say it’s time to swallow the bitter pill and go with the flow. There were some dismayed faces around me, but the reactions were much more contained than the ones I got from people who weren’t at the keynote; they didn’t have the soothing Reality Distortion Field (and most important, the convincing demo) to cushion them from the shock. I’ve already been invited to join indignant petitions, to write debunking articles, and so forth.

I’ve used Macs almost exclusively since they came out in 1984. I have occasionally had to use a Windows PC; I’ve even owned one for an interesting year, where I could multiple-boot the BeOS, the Rhapsody beta, and even Windows 98 for accessing my bank, on the same machine. But in general, I’ve shied away from PCs and I’ve been proved right and right again: most of them were shoddily made, they were flaky, hard-to-configure beasts, and there was the continual hassle of making stuff built by multiple manufacturers to get to work together. Nothing “just worked”.

And for the several OSes I ran on my PC, I had to hand-pick a motherboard, a video board, a network board and so on that were on all the support lists; in the end it turned out that there was such a combination, somewhat expensive even, but it worked well. I even connected it to an Apple monitor. And, while running Rhapsody or BeOS, suddenly the ugly PC box didn’t matter as much.

So, what changed my mind all of a sudden? The fact is that we all discounted the weekend news of the Intel switch as a rumor. Apple switching to Intel was nonsense, and saying the transition would happen from 2006 to 2007 was even greater nonsense. The notorious Osborne effect was cited by many; Osborne preannounced a much better computer than their current one, and nobody bought it, waiting for the new model, which never came out.

Now, what everybody was thinking subconsciously was that Apple couldn’t just suddenly switch to Intel; there’s no lead time to convert all the new technologies; there’s no way to build a good PowerPC emulator for the Pentium; they’ve invested too much in Altivec; third-party developers wouldn’t be able to convert and would abandon ship. At the same time, pre-announcing a switch for the future would mean doing an Osborne and cannibalize the existing line. It turns out that obviously pre-announcing was a much better idea – but only when the “secret double life” of Mac OS X and the iApps was revealed.

I mean, Darwin always had an x86 version, and Apple did admit that parts or all of Mac OS X were compiled now and then for x86 – just to check if they had any subtle architectural dependencies in them. “Just in case” they had to switch in the far future. Nobody would have thought they were building their entire software line on both architectures all of the time. Yes, “just in case” is a phrase I heard many times from many people yesterday.

Many are of two minds about how long the transition should take; some are worried that it will be too long, and Apple’s sales will fall because of the uncertainty; some are worried that it will be too short, and that developers will suddenly publish Intel-only binaries that will leave PowerPC owners behind. I don’t believe that will happen. Steve Jobs said PowerPC “will be supported for a long time”, and that should mean at least 5 years, perhaps more. No developer in his/her right mind would ship an Intel-only binary for a long time, if ever; it’s so easy to build a fat binary; and to do it just to save a couple of megabytes or less on program size is so second-millenium…

The original argument of compiling stuff for two, or even more, architectures will always hold. As long as Apple has an internal build for PowerPC, Intel will always fear that IBM can come back and take the platform away again. Or some third manufacturer (AMD?) could do it. In fact, this signals the end of CPU architecture dependence. Apple could well have multiple architectures in multiple product lines, and nobody should care about which is in a particular machine. They’re even urging people to stop coding directly for Altivec or SSE2 and use their Accelerate framework instead, meaning a Cell version of Mac OS X may already be in their labs.

So, it’s a new type of freedom. Freedom of architecture. IBM underperformed, they’re out; at least for now. Intel works better now, they’re in; at least for now. Next year, some other chip may be hot, Mac OS X will be on it, and recompiling will be even easier. We’re free!

Truly these are interesting times. Next: a look at the Transition Kit. As soon as I find out what of that is not covered by the NDA.

Posted by Ibis Itiberê S Luzia:
I’m editing this down a little for size; also, as some folks may not be aware of the way comments are handled here, they’re inline with my own stuff. I certainly do disagree with most of Ibis’ points, and will respond to them later. [RB]

Rainer Brockerhoff wrote:

Yesterday was a historical day…

Hi there everybody:

It’s a point of no return in Apple’s history. Opinions in Mac community are well diversified about the impact that the “shift” anounced yesterday by Apple’s CEO Steve Jobs will cause on Apple’s brand life but one may conclude without margin for error that this is not an ordinary shift: this is one of the most important facts in Apple’s history if not in the computer history. And there’s no return for it. It’s decisive. Apple’s future will be based on that decision and if Steve Jobs failed or were successfull this will have a profound and massive impact in the plaftorm.

In my particular opinion Steve Jobs is acting more based on his particular flames, instinct and anger than on racional beliefs. Reasons for that are numerous.

He passed over almost everything the company promoted in the past. What about the “megahertz” myth? What about the “switcher” campaign? Now Apple switched. Apple computer no longer exists: now it could well be labeled “Apple Software”. Would anyone point out a reason to buy a Mac (Not “Mac’ anymore, now they are only Apple’s PCs) instead of a chinese PC now?

Steve emporwement to do such a decision comes from his respectability among investors and stock houlders as he pratically saved the company from the “ashes” in 1997. His return for Apple in this year saved the company from bankrupt. Is he killing Apple now? I think so. His “ego” and his personal image as a modern “cult” popstar (the “popstar” CEO) gave him a certain “aura” of a rock star instead of a CEO actually. His famous ad campaigns, his original “youth” style wearing a kind of a jeans-shirt “uniform” on his worldwide famous “keynotes” (he invented the “keynote” as a pop event. The world “stops” to hear what he decided as he would be a kind of a genious), his success in cinema industry with Pixar, his passion for marketing and his adoration as the “major CEO in the world” gave him power to make any decision in the company. Apple is almost a Jobs company. Oh well, may stock holders have a certain “weight” on companie’s decisions but this weight is merely a political issue. Jobs words aways prevaled in the end. Nobody is “nuts” enough to pass through his misteryous ways of taking certain decisions. A reason rises for that: almost 90% of the time he is right.

But he is human. And as a human he can take wrong decisions, errors, can fall sick (as he recently did for sure) and can make silly decisions also. As he did when he conceived the “abajour” Mac or the “cube” Mac, for example. Or when he insisted that the magahertz affair were only an “irracional” impression when in fact it wasn’t. He insisted that PC’s CPUs where inferior compaired to the “RISC” architeture. He insisted that people would love to buy Macintoshes only because they were qualitative superior compaired to ordinary PCs manufactered in Taiwan or China. Now Macs no longer exists and there is only Apple’s PC (with “Intel Inside” logo, which is still worst). We are now “PC users” not “Macintosh users’ anymore. And with such decision Jobs make all of us be viewed as a “stupied idiot community” who passed years trying to evangelise people to use Mac. We were wrong and PC users were wright. Why would we have to follow what Jobs says if he has no word? He has no commitment other than that with his own passions and self conflcts. If I were a hardware developer for the Apple platform or if I were a software developer I would be seriously anger with Jobs decision now. He has no idea about the commitment that people which uses the Macintosh has with its products.

He did this because he is a capitalist and he wants more profits and at the end Apple is a company and companies exists to give profits for their stock holders right? Wrong. Whith this decision he is killing one of the only computer makers in the market that were profitable on an arena where 1% of profit is a common place. The HP’s dilema with Carly Fiorina was exactly that. HP imagined that leading the PC market would be the goal to achieve wealthy and profitability and the results were disastrous for the company. Popular PCs have only one argument: price. If Apple imagined that selling cheappier Macs is a good business they are terribly wrong. Now HP is no longer looking for prices and is slowly trying to return to rise its prices in order to have profit which is the reason for any company to exist. Popular/Gray PCs market is dominated by low profile companies which employ people with the worlds slower salaries (they’re almost slaves), receive govern incentives (pays almost no taxes), has no respect for patents and no concern with integration and quality. Apple can survive in this market? No. Apple argument to sell expensive hardware is over. Apple will face the terrible destin of Silycon Graphics and HP who tried to increase market share and lost the business.

Jobs found arguments over share holders trying to seduce them to increase market share and this was enough. He believes he can sell Mac OS X (if Apple doesn’t sell Mac OS now they will crash) for ordinary PCs also in the future and kill Windows from the market. It’s also a particular revenge against Bill Gates, who passed him off in the past. It’s no secret that they hate eachother. Gates despised and ridicularised Apple for a long time a Jobs felt this humiliation as the “inventor” of the personal computer. And Jobs believes it’s your last chance to make his greatest whish became true. IBM PowerPC issue is only an excuse to persue his major desire. Everything could be used as a perfect plausible argument to sustain his obstinated campaign to kill Microsoft from the market he created more than three decades ago. And he joined “Intel” in this crusade, which is also very angry with Microsoft because Gates company adopted AMD as a partner. IBM and Motorola will live without Apple and they felt almost nothing with Apple shift to Intel. IBM is more concerned with the corporative market and now is embracing the game market with the CELL project with Sony and Motorola is one of the greatest chip makers in the world. But for Intel, Apple represents a great chance to sustain its market in face of AMD’s threat.

The other good reason to think it is bad business for Apple is the well known “Osborne effect”. Osbourne passed a long time promoting a future computer that would be much better than the actual and sales stoped because people started to wait for the “future” computer and the future computer never come.

Bad news for Linux. They will have a serious competitor now and I think they are not prepaired for this.

Platform independence? It’s possible if now we think Apple is only a software house which still sells computers for heritage reasons. If Apple hiden from everyone for all of this time that they had an x86 version of their system why not think they have plans or possibly still alfa versions of their systems for almost all CPUs in the market? Thinking in that direction it’s very plausible to conclude that will be possible to run Mac OS X in almost every machine in the near future. What about the CELL? If it goes as good as it was predicted by IBM and Sony for sure Apple will be on that. Whith Sony as a partner sustaining sales with CELL machines (mostly PlayStation consoles) IBM will have the so dreamed “manufacturing scale” argument to make it sheappier and commercially available to be credited for a “popular PC” desktop. And with the velocity and performance it’s believed it will achieve for certain Apple as an old PowerPC software developer (CELL are PowerPC based) will consider to have it. And so we could see a new “shift” that will have no reason to be treated a “shift” since Apple will be seen as an ordinary software developer only. And software developers usually sell their solutions for various hardware solutions.

Great question that rises: is it a good business to be only a software maker and not a computer maker anymore? I don’t believe. We can’t forget that the main Apple’s product today is not a software, is the iPod which is a gadget or a hardware peripheral. Software makers suffer from piracy and it’s a serious threat for Apple’s aims. Even Microsoft, which grew with piracy as a market oportunity felt the enormous mistake they commited not fighting piracy before. Now they have no argument to sell Windows for home users because 70% of the PC’s in the world run pirated versions of Windows. It’s late for Microsoft to fight piracy. Can Apple fight piracy? For sure no. They can’t. And Apple will lost profits for piracy as it will became each time easyer to piracy and “hack” DRMs and Mac OS X license codes. They can even “dongle” the Mac OS X, it will make no difference.

Thats because all of this I feel betrayed by Apple and Jobs specially. I feel like the husband who discovered was betrayed for a long time and was not awaire. I feel I was silly and stupied to believe Apple had commitment with its loyal legion of users. I feel I was treated as a “cadle” by a person whose ego and selfish are greater than his inteligence or reason.

At least but not at last I have only on thing to say: Shame on you Apple. Sad, very sad. Apple, rest in peace.

icon_mad.gif icon_mad.gif icon_mad.gif

Well, I thought it couldn’t happen that way, but it did. The demos at the keynote were most convincing. More tonight…

Yesterday (Sunday) I registered, met some old and some new friends, and had an excellent dinner with one of them at the Persian Maykadeh Restaurant. I’d been there on my last visit to San Francisco, and it’s excellent. I even had Faludeh Shirazi again for dessert, one of the weirdest desserts I’ve ever tasted.

Now I’ll be off to leave my stuff at The Mosser, and get early into line for press registration, which will be very crowded. Soon we’ll know which (if any) of the rumors are true. I’ll try to be available on iChat while it’s going on.

Hey, and it’s my birthday! Let’s see what Uncle Steve will have for me… icon_lol.gif

I was about to post a longer note about the whole “Apple switching to Intel” brouhaha (and no, I won’t link to the original story), but John Gruber did it faster than I could, as usual.

I agree with him that the original story and its offshoots in other media paints only part of the picture. There are several more likely explanations than Apple ditching all of its AltiVec optimizations and switching to a plain x86 codebase. So, in my view, here’s what might be happening tomorrow (not necessarily in order of probability):

  • WiMax; Intel has the standard chipset for that, and it’s the natural step beyond WiFi.
  • Intel building a PowerPC variation; Apple should have enough rights, as a member of the original AIM consortium, to use outside companies for fabricating such chips. G6? Or perhaps they’d be moving off the G numbers entirely, as they’re getting a little long in the tooth. Hey, perhaps this means that Windows is moving to the PowerPC, following all the game platforms??
  • Intel building a hybrid chip that runs both standard x86 and PowerPC/Altivec code either natively, or with some hardware assist, even if it’s just an endianness switch bit. Doing such a transition with purely software emulation is impossible. Endianness is so pervasive in non-trivial software that you can’t just recompile and hope it works. Also, emulating a PowerPC on x86 at any reasonable speed is unfeasible, because there aren’t enough hardware registers – this could be hacked by doing a special L1 cache implementation, but once you do this, putting in more hardware assistance is trivial.
  • Apple will launch a completely new line of stuff that uses some Intel-owned tech. Like an ARM-powered tablet. Newton, anyone? Or should it be called Einstein now? Or perhaps a set-top box? At least that would mean I won’t have to build fat binaries for my applications.

About the only thing I’m sure won’t happen is Apple building, and running Mac OS X on, standard x86 motherboards. Tomorrow around this time we’ll know for sure; I’ll be at the keynote.

Yesterday I had a fun but tiring day wandering around the downtown area and doing some shopping. I ended up buying a RAM expansion for the iBook (600MHz, dual USB) I’m typing this on, and a Belkin F8T041-B bluetooth mouse. This mouse has 4 buttons, a scrolll wheel and it’s quite larger than the mice I’m used to, but very comfortable. The included adapter is the F8T003v but without the cap for the USB connector; instead it comes with a small dock with 3 ft. of cable attached.

No software was needed to get it working; just some fumbling around with the control panel, as I’d never used anything bluetoothy before. The manual says that the 2 AA batteries should last for about 25 days “average use”. Let’s see what that means in practice; I suppose that’d mean about a week for me, and I’ll be looking into buying a couple of NiMH batteries with a recharger. About the only downside I’m seeing so far is that there’s no power-off switch on the mouse itself; hopefully it’ll give up trying to pair when the computer’s asleep, and enter a standby mode. If not, I’ve still got my soldering iron from the old days at home. icon_wink.gif

In practice, both my hopefully soon to-be-sold PowerBook and my new iMac G5 have built-in bluetooth, so the adapter will travel around with the iBook. I’ve never really gotten as precise with a trackpad as with a mouse, so this will be a great help. The list price is $109.99, but I got it for $30 less.

As for the RAM, it worked great, despite being a lesser-known brand. It was twice as expensive as current RAM, but being for a discontinued model, that was to be expected. If anyone at WWDC reading this needs a working RAM module for an old white iBook (256MB, SODIMM, PC133-333) please tell me. I’m asking about $90. I’ll also be selling a brand-new, never-used, 512MB RAM module for the new iMac G5; I believe it’s PC3200-400 DDR SDRAM, Apple RAM, and should be worth around $110.

I’ll stay at the hotel until after lunch, then I’ll take the BART over to Moscone Center to sign in; I’ll hang around there between 5 and 7 PM, if anyone wants to meet up.

Photos licensed by Creative Commons license. Unless otherwise noted, content © 2002-2024 by Rainer Brockerhoff. Iravan child theme by Rainer Brockerhoff, based on Arjuna-X, a WordPress Theme by SRS Solutions. jQuery UI based on Aristo.