Rixstep
 About | ACP | Buy Stuff | Forum | Industry Watch | Learning Curve | Search | Test Drive
Home » Learning Curve

The Mouse and the Labyrinth

With an important update (sort of).


Get It

Try It

Way way back, in the mists of time - and this is all speculation of course, we may never know the real truth - there was a lonely member of Apple's feared Human Interface Group (HIG) who somehow got lost.

Not lost geographically, but lost existentially. He had to use his trusty unibody MACBOOK PRO to save a file, but this was no ordinary file. Oh no, this was a VERY IMPORTANT FILE! And, as he didn't trust his memory anymore, he had to be ABSOLUTELY SURE that, no matter what happened, HE WOULD NOT LOSE THIS FILE.

And so he set about creating this file. He used his trusty editor, he saved the file to disk, and then went about protecting the file.

Now you, dear children, should understand already that the poor chap went about it all wrong. He should have - repeat together:

1. Saved the file to disk.
2. Marked the file with the appropriate file flags.
3. Added more goo in the form of access control entries.

But this was a member of the HI GROUP, remember, so, to him, everything was one folder, that's all one really had, and this is where he put all his files (there weren't many actually) and he never never NEVER ventured outside his walled garden which he cutely called 'MY TILDE AREA' (~) because he'd been told by a techie from another company what 'tilde' really meant. And of course he knew nothing about file flags or access control entries, both were denounced as politically incorrect by the group.

That's where his problems started. He felt like a mouse in a labyrinth. Lost. Wherever he went, he always ended up in a dead end. He couldn't find his way out. But he was a member of Apple's HI Group, so perhaps you feel no sympathy.

For someone had come along and tried to help this poor loser. Without him knowing someone had interceded. With good intentions, to be sure. What had happened was that the PARENT DIRECTORY where he kept this VERY IMPORTANT FILE had been marked READ ONLY as well.

Oh noes. Yes noes.

(You couldn't interfere with the 'enter/navigate' attribute on this directory as Apple's HI Group officially have refused to admit this attribute exists. Welcome to the World of Apple™.)

And thus began the doomed and very panicky search for a way out. As a mouse in a labyrinth. Below you'll find some of the puzzling messages this poor chap saw.

Years Earlier...

Years earlier, back when the mists of time were more like the California smog, the same thing had happened to one of this chap's predecessors.

Strutting around at One Unfathomable and trying to find someone with technical expertise (it's difficult sometimes) because he wanted the programmers to MAKE A CHANGE.

He'd just lost an important file. The file was a recipe from his auntie Belle for some yummy vegan cookies. Now it was gone. He was furious. How could Apple let this happen? There must be a solution. This was Apple! His computer was a Mac! FFS!

This other (earlier) HI dude couldn't find anyone, as all the programmers had been shuttled off to work on Steve's super-secret PERCEPTIVE PIXEL PROJECT. But one wayward programmer, looking as lost as he felt, was still sitting at his desk.

This other (earlier) HI dude confronted the abandoned programmer - who, it turned out, had only recently come to Apple from Beige Box Community College with a degree, a major in Medieval Gender Science and a minor in BASIC and Swift, and he'd only recently begun spelunking in the legacy NeXT code that saved Apple's backside some ten years earlier.

'This is how we might do it', the programmer told the HI chap. 'You see here?'

'Where?'

'Here! This is where the file is saved temporarily.'

'It is?'

'Do you know anything about code?'

'Of course not! I'm a member of the HUMAN INTERFACE GROUP!'

'OK. Whatever. The file is intermittently saved to this third location.'

'IT IS? IS MY FILE THERE? CAN YOU FIND MY FILE? PLEASE FIND MY FILE!'

'No, your file isn't there. They never got that far. The pieces were in place but they never implemented it.'

'What pieces?'

'Anyway. Moving on. You see here how, on the user command to SAVE the file, that the temporary file is updated and then COPIED to its real location?'

'Yes, I see it.'

'No, you don't, you waste of space. But, anyway, that's what happens there.'

'How is this relevant?'

'You really don't know anything, do you? Anyway: instead of COPYING the file - WE'LL NOW MOVE IT!'

'We will? Yes we will! Brilliant!'

'Oh shut up. Get me some more coffee and I'll fix your shit.'

'OK! Wow. Thanks!'

And so it came to pass. The newbie - he's since left the organisation, fortunately, as if that makes any difference, given the (lack of) caliber - put in the new code.

And that's where the chaos began. For of course that was a NEWBIE BLOOPER. The kind that'd get you sacked from any intelligent organisation. And - unfortunately but perfectly understandably, given the zero chops of that crew today - things haven't improved. AFTER ALL THESE YEARS.

For moving a file rather than copying it requires WRITE PERMISSIONS on the parent directory. Copying a file requires no such permission on the parent directory, AS NOTHING CHANGES IN THE DIRECTORY. All you do is UPDATE A FILE. Just about the oldest file operation ever - except, of course, at Apple. (They like Pascal, remember.)

Can Apple's HI Group handle it? Do the maths yourself. This embarrassing boner's been in Apple's OS X for about ten years. What do you think?

Now let's look at some of the screenshots. For application behaviour depends a lot on where you're coming from, which application you're using, which Apple OS APIs are called. But what they all have in common is that they're all gloriously fucked up.

Fasten your seatbelts.

Mouse 0

This is where the HIG member saves the file.

Mouse 1

This is the file itself.

Mouse 2

This is what another file utility said about the file.

Mouse 3

This is what happens when not the file but the parent directory's been 'locked'.

Mouse 4

Here's how the directory was locked. The '0500' is Torvalds for 'read-only'.

Mouse 5

The improvement with Mojave. (There's a catch.)

Mouse 6

This is the attempt to duplicate the file. (Haha.)

Mouse 7

Now things get screwed up again. (How do they get screwed up again?)

Mouse 8

Oh what to do now! (Haha.)

Mouse 9

Dead end again.

Mouse 10

Now 'copy 2'. (Haha.)

Mouse 11

Oops we're back there again! (Haha.)

Mouse 12

Oh what to do now 2! (Haha 2.)

Mouse 13

Oops we're back there again 2! (Haha. 2)

Mouse 14

Doing the same thing with Apple's TextEdit.app produces the same results.

No Worries!

But no worries! Catalina's right around the corner. (Just find the corner.)

About Rixstep

Stockholm/London-based Rixstep are a constellation of programmers and support staff from Radsoft Laboratories who tired of Windows vulnerabilities, Linux driver issues, and cursing x86 hardware all day long. Rixstep have many years of experience behind their efforts, with teaching and consulting credentials from the likes of British Aerospace, General Electric, Lockheed Martin, Lloyds TSB, SAAB Defence Systems, British Broadcasting Corporation, Barclays Bank, IBM, Microsoft, and Sony/Ericsson.

Rixstep and Radsoft products are or have been in use by Sweden's Royal Mail, Sony/Ericsson, the US Department of Defense, the offices of the US Supreme Court, the Government of Western Australia, the German Federal Police, Verizon Wireless, Los Alamos National Laboratory, Microsoft Corporation, the New York Times, Apple Inc, Oxford University, and hundreds of research institutes around the globe. See here.

All Content and Software Copyright © Rixstep. All Rights Reserved.

CONTACT INFO:
John Cattelin
Media Contact
contact@rixstep.com
PURCHASE INFO:
ACP/Xfile licences
User/Family/Business
http://rixstep.com/buy
About | ACP | Buy Stuff | Forum | Industry Watch | Learning Curve | Search | Test Drive
Copyright © Rixstep. All rights reserved.