Live data from Hacker News

How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive

github.com

11–20 of 122 posts

Re: How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive

#11
post #10

Earlier quoted context omitted.

Why? Sometimes functionality has to be exposed, even when a company would prefer an alternative. Microsoft has named functions similarly on occasion [1]. [1] http://blogs.msdn.com/b/oldnewthing/archive/2003/10/15/55296...

Because he might've appreciated better variable naming. :-P

isTheTimesAChanging ?

(some may not get the reference :P)

(http://youtube.com/watch?v=9TzhTqzXFgQ)

Re: How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive

#13
I definitely love those kind of easter eggs.

There are also similar methods in the Android SDK:

UserManager.isUserAGoat() link: http://developer.android.com/reference/android/os/UserManage...

Log.wtf() link: http://developer.android.com/reference/android/util/Log.html..., java.lang.Throwable)

AdapterViewFlipper.fyiWillBeAdvancedByHostKThx() link: http://developer.android.com/reference/android/widget/Adapte...

Re: How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive

#14

I definitely love those kind of easter eggs. There are also similar methods in the Android SDK: UserManager.isUserAGoat() link: http://developer.android.com/reference/android/os/UserManage... Log.wtf() link: http://developer.android.com/reference/android/util/Log.html... , java.lang.Throwable) AdapterViewFlipper.fyiWillBeAdvancedByHostKThx() link: http://developer.android.com/reference/android/widget/Adapte...

Not to forget the gravity constants of the Death Star and The Island, defined by the SensorMananger.

http://developer.android.com/reference/android/hardware/Sens...

http://developer.android.com/reference/android/hardware/Sens...

Re: How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive

#15
post #12

I don't understand, what does this function do? Is it a reference to something? Or just a simple easter egg?

Apple ships iOS beta builds before announcing new hardware. They obviously don't want to leak information about new functionality like HDR support too early. So they use a special string "YoMamaWears..." meaning of which is known only to people in the appropriate team. Then, when iPhone 5s is finally released, they easily find-and-replace the obfuscated methods with proper identifiers.

Re: How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive

#17

I definitely love those kind of easter eggs. There are also similar methods in the Android SDK: UserManager.isUserAGoat() link: http://developer.android.com/reference/android/os/UserManage... Log.wtf() link: http://developer.android.com/reference/android/util/Log.html... , java.lang.Throwable) AdapterViewFlipper.fyiWillBeAdvancedByHostKThx() link: http://developer.android.com/reference/android/widget/Adapte...

There's been balmy little bits of stuff like this all the way through OSX and iOS for ages, though maybe not quite as flippant.

Every Mac has the kernel extension "Dont Steal Mac OS X.kext" for example, which loads into RAM a short poem.

    There once was was a user that whined 
    his existing OS was so blind, 
    he'd do better to pirate 
    an OS that ran great 
    but found his hardware declined. 
    Please don't steal Mac OS! 
    Really, that's way uncool.

Re: How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive

#19
post #12

I don't understand, what does this function do? Is it a reference to something? Or just a simple easter egg?

It's a feature flag, but it's one that user's don't have easy access to. Pretty much every big software company does this, because it's a very effective way of testing new code. I know MS, Amazon, and Google all have tooling designed to facilitate just this sort of thing.

Let's say you've rewritten core parts of some system, but you've also added new features that didn't exist before. Often times such changes are inextricably bound together. On the one hand you may want some users to test out the new code to make sure it works correctly, but on the other hand the new features you've added may not be fully "baked" so you want to restrict their use. That's where secret feature flags come in.

Re: How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive

#20
post #17

I definitely love those kind of easter eggs. There are also similar methods in the Android SDK: UserManager.isUserAGoat() link: http://developer.android.com/reference/android/os/UserManage... Log.wtf() link: http://developer.android.com/reference/android/util/Log.html... , java.lang.Throwable) AdapterViewFlipper.fyiWillBeAdvancedByHostKThx() link: http://developer.android.com/reference/android/widget/Adapte...

There's been balmy little bits of stuff like this all the way through OSX and iOS for ages, though maybe not quite as flippant. Every Mac has the kernel extension "Dont Steal Mac OS X.kext" for example, which loads into RAM a short poem. There once was was a user that whined his existing OS was so blind, he'd do better to pirate an OS that ran great but found his hardware declined. Please don't steal Mac OS! Really,…

I wonder if this has (or had had) some legal significance.

I remember some issues with the Apple II rom being copied and that they had to add a "Copyright Apple" or something similar to the binary data.

Post reply on HN