About | ACP | Buy Stuff | Industry Watch | Learning Curve | Newsletter | Search | Test Drive
Home » Learning Curve » Red Hat Diaries

Mother Constriction

It's nothing new.

Get It

Try It

The heat's been turned up on Apple. Rather unusual. They're being accused of everything right now. Especially in connection with their iPhone 'App Store'. But what's surprising is that these critics who are sprouting up like mushrooms would have you believe they never before suspected Apple of having such a constrictive corporate policy. But of course you don't believe that, do you?

Apple are Mother Constriction. You might like it and most likely you don't but that's just the way it is. You're not just a consumer with consumer rights when you buy an Apple product - you're more like an inductee. You're not only asked to follow Apple's rules - you're often forced to abide by them. That those two words 'Apple' and 'cult' are often found together is no coincidence.

Here's a short walk down memory lane.

√ The App Store.

This is the one getting the brunt of the hostility today. Apple unveiled an unbelievable handheld device in January 2007. Conceptually it was light years ahead of everything on the market. Both the hardware and the software were in outer space. A mobile phone with no keypad. And the software is still something the competition can't touch.

What a disappointment then to find the device wrapped up with nonexistent security. The first releases were eminently hackable. That they weren't isn't an excuse. They were wide open. For months.

Apple finally introduced their new code signing kernel. Meaning only software they'd themselves signed could enter into the devices without breaking that strange security model. Unix and FreeBSD and all they have to offer were tossed by the wayside - and Apple were now locked into the current App Store distribution model.

Consumers think it's great - but developers think it sucks. Some were smart enough to never get involved; for others it took time as they were addicted to the Kool-Aid™. But none of them can survive in the long run.

Will Apple relent? They take a walloping 30% of other people's revenues. But they don't put it like that of course - they brag that developers are able to keep 70% of their own money. And the minions bow down chanting 'thank you Apple praise Apple!'

That's like VersionTracker exacting a commission for downloads. Those iPhone developers are the best employee agreement Steve Jobs ever had: he has all these people working on products to make his platform look better - 'there's an app for that!' - and he doesn't have to pay anyone unless he likes what they've done - and then he only pays for what of all the things they've done that he likes. He doesn't have to pay them for research or anything. He only pays them if their products move.

No medical plan, no paid holidays. Dental care? Forget about it - it's almost too good to be true. Or too bad to be acceptable, depending on what side of the agreement you're standing on.

Not to speak of how the store encumbers the developers who have a responsibility to their customer to fix bugs, release updates, etc. Apple aren't about to assume responsibility yet they're the ones calling the shots. People can't get their critical updates if Apple won't cooperate. Software vendors can be held legally liable when it's Apple's doing and Apple don't give a shit.

So it's hardly a surprise that developers are finally realising they can't work with Apple anymore. But will Apple relent? You figure it out. Of course they won't.

Some especially angry iPhone developers have called 'hypocrisy' on Apple for practicing the same things so denigrated in their 1984 ad about the 'information purification directives'. Apple do seem to be in the business of information purification and the gray shaved heads of the ad seem to describe the most fanatical of Apple fans through the years.

√ The Developer Community.

The Apple developer community is close knit and it's an even more exclusive club than found in the outer periphery. Simple rules: Apple never do anything wrong, there's always a good reason for every bug, and people who question things have to be silenced.

The aggressive 'defensiveness' found both inside and outside the walls of Cupertino is palatable and stifling (and rather ridiculous). It's never a question of 'how can we help you' but instead of 'how dare you question us'.

And it's not just outsiders they show their fangs to - they can hardly keep the peace amongst themselves either. It's an unhealthy toxic atmosphere that's not going to produce software of the high quality that would otherwise be possible.

√ Apple's discussion forums.

Why host discussion forums if you're not going to let people speak freely? Apple's back and forth charade about their forums needs to be nailed to the wall. One day and they don't have forum patrols anymore; the next day they're back again (but don't officially exist).

And who needs a nanny anyway? Who needs a twit who comes in and declares 'this question has been answered' without having a clue what the answer is? Would you like to grow up in such an orphanage? You like totalitarian rule? Comfy stuff?

And you don't dare criticise Apple or any of Apple's corporate policies. Your post will be removed. And if you see someone's post being removed and comment on it then your post will be removed as well. It's like the mafia trying to silence witnesses.

And it's not necessary to question Apple to get those big cute concrete shoes. Your simply highlighting an embarrassing manufacturing flaw or software bug might be enough. Apple really don't believe they have to keep an open mind about bug hunting - bug reports can damage the company's reputation. Post something about a bug Apple don't want to deal with and don't want anyone to know about and you will disappear.

√ Think Secret.

Remember that site? People used to send anonymous tips. The site thrived for one reason only: Apple are secretive.

All companies have to be secretive. But Apple carry this rather common corporate policy to a pathological extreme. Special classified memos are printed individually for those unfortunate to be put in the loop. Each printout has a unique watermark that identifies the recipient. Apple employees visit MacSurfer and other sites to find out what's happening in their company - they don't get the information internally. Even Winston and Julia had it better.

And Apple can turn the cult of secrecy on its head, leaking secrets deliberately to start the rumour mill working. The move to Intel was such a deliberate ploy. Hey - it builds up media attention. Lots of free good advertising. And no one can blame them for that. But at what price is this accomplished?

√ We Don't Want You Going There!

A member of Apple's advanced computing group was asked point blank why all the stumbling blocks and other stuff put in the system to make it difficult for people to navigate around the file systems they've paid for. His spontaneous response? 'We don't want you going there!' Remember: this is a member of the ACG who cater to system admins.

Whether it's beige flags to make sure Apple's own file manager won't display them or it's the stealth file '.hidden' long used to do the same thing, Apple have worked consistently to try to hide the 20,000 directories and 80,000 files outside the user home area.

CLIX availed itself of better file management tools to get at and study these files and there have been a couple hundred thousand CLIX users who've availed themselves of the results but the great majority simply don't dare look themselves.

And things go from bad to worse but no cult member dares object. Apple's own file manager never showed users a fraction of the possibilities with a Unix file system and today they've even taken away the ability to control ordinary file permissions.

The few professionals on the platform know they need better (and get it) but the ordinary users have learned to not question.

The poor fools drink STFU by the gallon.

√ Use Mail.app for Everything

Apple have officially deprecated their SMTP messaging API. It still exists on Snow Leopard but only in the legacy 32-bit form. They've not bothered to build the code as 64-bit because they don't want to support it anymore and would rather it'd just get the F out of there.

This is quite a curious situation as it means there is no standard way for mail traffic to get out of the box. It's also a rather unique situation: all other platforms have multiple methods. But not Mother Constriction.

And it gets even better when the official word becomes that they never intended the API to be there in the first place. Like for the past 12 years. It was all just an accident. Yeah right.

And scour the boards enough and you come up with official Apple sample code for replacing the API with other means Apple do not frown on. How do they work? AppleScript and Mail.app.

√ Low Level File APIs

Apple hide things all the time. There are hidden things that are further hidden. And so forth.

One of the classic moves has been to use conventions in Unix file system APIs to hide aspects of their HFS+ implementation that might prove embarrassing. Rixstep's GDE exposes these implementation details, most of which are found in the system's root directory.

The trick is to use the convention of the zero inode to hide things that aren't zero inode at all. Zero inodes are used because Unix file systems fortunately use 'lazy write' - they don't wear out hard drive controllers. They take care of things when they're in the physical hard drive vicinity. And a zero inode file is a file that's been deleted - or rather slated for deletion.

Apple abuse this convention to hide things they want no one to see. It never works but they never give up trying. Of course there would be no issues at all if they'd just scrap their fetid HFS+ but they won't do that. Thus the smoke and mirrors all the time.

Here are a few of the needful things hidden in Snow Leopard's root: .HFS+ Private Directory Data, .journal, .journal_info_block, ␀␀␀␀HFS+ Private Data. They're all zero inode. But they all really exist.

Hiding things is not the Unix way. The Unix way is to have everything completely open - even the bugs. That's diametrically opposed to everything Apple stand for.

The latest twist in this game comes with the move to 64-bit code. There are any number of vendors reporting difficulties with 64-bit inodes. At their disposal they've traditionally had the lower level APIs getdirentries() and getdent(). But those don't work anymore the way they used to.

Cue in Apple. For if you take out getdirentries() you have to replace it with something else. getdirentries() finds the zero inode files; higher level APIs (which Apple get from FreeBSD but of course rework for Mother Constriction) remove them.

And if getdirentries() is gone from Snow Leopard then it needs a replacement. And the Apple source code to the higher level APIs proves this. Except Apple found yet another opportunity to hide implementation details and took it.

Is getdirentries() really gone from Snow Leopard? Here's a dump of Apple's C runtime library. You decide. The APIs are there - but Apple refuse to export them.

00000000001d7b22 _getdirentries
00000000002223f2 _getdirentries
0000000000222401 _getdirentriesattr
000000000022b632 ___getdirentries64
000000000022c7d0 ___getdirentriesattr
00000000002300e1 ___getdirentries
00000000003f704a _getdirentries
000000000043b142 _getdirentries
000000000043b151 _getdirentriesattr
0000000000444df8 ___getdirentries64
0000000000446b84 ___getdirentriesattr
0000000000449c83 ___getdirentries
000000000066c6c1 _getdirentries
000000000066c6d0 _getdirentriesattr
0000000000677239 ___getdirentriesattr
0000000000678133 ___getdirentries
00000000006790fa ___getdirentries64

√ Expected Behaviour/Works as Designed

The classic Apple response to anything embarrassing not in their forums where it can be made to disappear is to dismiss with the ear-aching mantras 'expected behaviour' and 'works as designed'. They've used this as the response to reports of data loss, of people overwriting their home folders (as the first Safari did) with single files, and so forth.

No one else in the industry works this way. People using Apple systems and other systems simultaneously are all too aware of the pitfalls and dangers with 'Apple design'. Most independent vendors offer their own workaround where Apple refuse to help. Xfile takes the same and more precautions to protect users of Apple systems. Apple do nothing. They know they're really wrong but they don't want to lose face. So they deny there's an issue even when it's an open secret they know they screwed up.

'You were asked if you really wanted to overwrite all your tens of thousands of files with a single file called 'kool-aid.txt' and you clicked 'OK'. That's expected behaviour - it works as designed.'

√ Who's Best - IBM or Intel?

Mac users had an incredible advantage for years. Their computers used the PowerPC processor.

The PowerPC was originally the work of Apple, IBM, and Motorola. Motorola bugged out after a while (for reasons which become clear shortly) but Apple continued to work with IBM.

And everybody knew how superior the PowerPC was. It wasn't just that it was another stellar product from IBM or that it had a revolutionary architecture no one else has touched even today. It was also that all that Windows malware used Intel shell code. There was no way that stuff was going to run on a Mac - even if it could break through the periphery. A comforting thought.

But Apple and IBM had some marital difficulties. IBM are still the greatest computer researchers on the planet and their Power architecture is more popular than ever (and now being superseded by the even more unbelievable Cell architecture - also from IBM of course) but they don't exactly make a habit of tossing millions in the ocean.

Steve Jobs was involved in a propaganda war. The gigahertz war. The Wintel camp were trying to FUD the Power architecture by claiming their lawnmower single cylinder Intels had higher clock rates than the Rolls-Royce engine G4s Apple were using. Steve Jobs promised the world he'd have a faster PowerPC 'real soon now'.

But that was easier said than done. 3 GHz was the goal; only a few months later IBM had one that ran at over 5 GHz; but that didn't work on laptops and IBM had no financial incentive to spend tens (hundreds) of millions trying to make a cooler CPU for a company obsessed with control of an artificially constricted single digit market.

For years the minions had heard and repeated the chant: PowerPC is better. Of course it was. Everybody knows that. PowerPC is the BMW of CPUs - Intel is the Ford. Everybody knows that. But now Apple had to do a complete turnaround.

They carefully leaked news of the impending switch, then held a press conference with a banner proclaiming 'it's true' behind Steve Jobs on stage - and from that point onwards the chant was changed.

The rush to Intel was hysterical and resulted in one of the biggest scandals in the personal computer industry. The Apple Defects website was founded just to catalogue the myriad embarrassing issues with the new Intel Macs - everything from random shutdowns - where is Ellen Feiss - to mooing sounds, oozing green slime, you name it.

Those who got burned didn't get any sympathy either - they were attacked for complaining and for being stupid.

Gradually things got better but there's a lost generation of 'early adopters' who might never forget.

√ Guy Kawasaki

The 'cult of Apple' is no accident. Nothing like that ever is. Apple hired Guy Kawasaki back in the day to specifically engineer the cult. The Wikipedia article on Kawasaki says 'he is noted for having brought the concept of evangelism initially focused on creating passionate user advocated for the Apple brand to the high tech business'. That's quite the white wash summary.

√ iTools

The iTools precursor to .Mac and Me was free. Totally free. Steve Jobs even promised it would always be free. And it was. They changed the name to .Mac instead and then started charging $100 per year.

√ What's Being Blocked?

Several people have reported strange behaviour on the part of Apple's firewalls. Specific open ports cannot be closed and their status isn't reported honestly.

√ iPhone Upgrades

'For over 30 years your personal computer has been, well, your personal computer', wrote Rik Myslewski for El Reg on 27 November. 'You could install whatever software you liked - provided it was compatible. After installing an app or an operating system, if you then decided you preferred the previous version, you were free to uninstall the new and revert to the old.'

But that doesn't hold anymore. Not for Apple's iPhone.

'Nothing is ever simple and straightforward when dealing with Apple', says Myslewski.

√ Jay Freeman

Jay Freeman at saurik.com slams Apple in an article entitled Caching Apple's Signature Server.

'I have very little respect for Apple at this point. Apple have turned into a corporate hypocrisy embodying the very ideals they claim to be rebelling against. 'Think different' as a slogan has become a cold criticism of their own actions with regards to their product lines.'

'Apple's stance on individual expression and 'empowerment' in particular become clear: they are staunchly against it. Apple's insistence on controlling the experience of their products sounds very similar to the 'garden of pure ideology' espoused by the 'big brother' in their own commercial.

Today we celebrate the first glorious anniversary of the Information Purification Directives. We have created for the first time in all history a garden of pure ideology where each worker may bloom secure from the pests purveying contradictory and confusing truths. Our unification of thoughts is more powerful a weapon than any fleet or army on earth. We are one people with one will, one resolve, one cause! Our enemies shall talk themselves to death and we will bury them with their own confusion.

We shall prevail.

Countless other developers have long since jumped ship when it comes to the iPhone App Store; the question again is 'what took them so long to wake up?'

√ OpenDarwin

OpenDarwin was clear proof that Apple never intended to be 'open' in the open world of open source. They might be using a totally open FreeBSD and be formally aligned with open source against Microsoft but they were never going to be open. They'd only be open long enough to fool the literati and get them hooked.

Today the OpenDarwin website cofounded by Apple is no more. All you can get there is an icon. Actually not even that.

Apple employee Rob Braun was long a curator of OpenDarwin. His frustration with Apple grew to legendary heights. But when Rob finally gave up and closed OpenDarwin down, he was attacked by Mac fanatics. John Gruber called him 'whiny'.

Today there's the new PureDarwin site but that has no connection with Apple. Apple remain the only vendor in the history of computing to use an open source operating system and keep it closed off and constricted.

Further Reading
Red Hat Diaries: The Patriot Act
Red Hat Diaries: Apple's Mistake
Red Hat Diaries: Suicide Fanboys

About | ACP | Buy Stuff | Industry Watch | Learning Curve | Newsletter | Search | Test Drive
Copyright © Rixstep. All rights reserved.