
How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive - doh
https://github.com/JaviSoto/iOS7-Runtime-Headers/commit/6ccf9c4526992fec0dc414d48e4a3f7446e9822f#commitcomment-4059894
======
DominikR
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...](http://developer.android.com/reference/android/os/UserManager.html#isUserAGoat\(\))

Log.wtf() link:
[http://developer.android.com/reference/android/util/Log.html...](http://developer.android.com/reference/android/util/Log.html#wtf\(java.lang.String),
java.lang.Throwable)

AdapterViewFlipper.fyiWillBeAdvancedByHostKThx() link:
[http://developer.android.com/reference/android/widget/Adapte...](http://developer.android.com/reference/android/widget/AdapterViewFlipper.html#fyiWillBeAdvancedByHostKThx\(\))

~~~
nwh
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.

~~~
josteink
Every Maccard on the planet seems to think pirating OS X is an oh so terrible
thing to do (to the point that parent post is bringing up poems about it like
its a cute, non-weird thing). At the same time pirating everything else on the
planet seemingly is OK.

I've never understood the rationale behind this.

Keep in mind I'm a software developer myself and run strictly non-pirated
software, and open-source as much as possible. You could never make me replace
a Linux desktop with a limited OS X experience, and I see no reason what so
ever to put in the effort to pirate it.

But why is it worse to pirate a OS with bad hardware-support out of the box
than pirating... say Microsoft Office? I'm just curious what's up with that.

~~~
Kudos
What is a Maccard? I've never heard anyone say that pirating OS X was more ok
than any other kind of piracy.

~~~
josteink
Maccard = Mac user.

And the attitude I've seen (especially in the OSX 86 community) is that
general piracy is completely OK, but you have to buy OS X from Apple,
otherwise you are doing something super-duper wrong. Then they move on to
pirate Photoshop.

It's a mind-bending sort of ethics, and I was curious about what the reasoning
behind it was.

~~~
andyhmltn
You know 1 person doesn't represent a community right?

~~~
astrodust
Sample size of one seems sufficient to establish a general pattern.

------
cpeterso
BeOS had is_computer_on() and is_computer_on_fire() APIs:

    
    
      int32 is_computer_on(void)
    
      Returns 1 if the computer is on. If the computer isn't on, the value returned
      by this function is undefined.
    
      double is_computer_on_fire(void)
    
      Returns the temperature of the motherboard if the computer is currently on
      fire. If the computer isn't on fire, the function returns some other value. 
    

[http://www.tycomsystems.com/beos/bebook/the%20kernel%20kit/s...](http://www.tycomsystems.com/beos/bebook/the%20kernel%20kit/system.html)

~~~
kenrikm
Another Good one from Objective C:

2012-08-31 00:26:19.773 App[1676:907] __* -[__NSCFCalendar
components:fromDate:toDate:options:]: fromDate cannot be nil

I mean really, what do you think that operation is supposed to mean with a nil
fromDate?

An exception has been avoided for now.

A few of these errors are going to be reported with this complaint, then
further violations will simply silently do whatever random thing results from
the nil.

Here is the backtrace where this occurred this time (some frames may be
missing due to compiler optimizations):

------
undoware
Without getting into the IT-sexism-blah-blah, 'your mother wears combat boots'
isn't just a folksy turn of phrase: it's a fifties-era impugnment of
lesbianism. So unless you want to sound a lot more Republican than you were
probably intending, you should probably stop wondering why you don't have more
female friends, coworkers, and partners. And by the way, a foot in the mouth
is _so gay_.

------
austinl
Here's another easter egg - it's a sarcastic warning if you try to perform
date operations on a nil date:

" -[__NSCFCalendar components:fromDate:]: date cannot be nil

I mean really, what do you think that operation is supposed to mean with a nil
date?

An exception has been avoided for now.

A few of these errors are going to be reported with this complaint, then
further violations will simply silently do whatever random thing results from
the nil. Here is the backtrace where this occurred this time (some frames may
be missing due to compiler optimizations):"

Source: [http://stackoverflow.com/questions/12505833/what-kind-of-
sar...](http://stackoverflow.com/questions/12505833/what-kind-of-sarcastic-
error-is-this-xcode)

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

~~~
oleganza
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.

~~~
kozhevnikov
It does look like an HDR placeholder, or one hell of a coincidence.

From `AVCaptureFigVideoDevice.h`

    
    
        -- (BOOL)isYoMamaWearsFancyGlasses;
        -- (void)setYoMamaWearsFancyGlassesDetectionEnabled:(BOOL)arg1;
        -- (BOOL)isYoMamaWearsFancyGlassesDetectionEnabled;
        -- (BOOL)isYoMamaWearsFancyGlassesDetectionSupported;
        +- (BOOL)isHighDynamicRangeScene;
        +- (void)setHighDynamicRangeSceneDetectionEnabled:(BOOL)arg1;
        +- (BOOL)isHighDynamicRangeSceneDetectionEnabled;
        +- (BOOL)isHighDynamicRangeSceneDetectionSupported;

~~~
CoolGuySteve
It's funny because "Fig" was supposed to be replaced by CM or CoreMedia at
some point but it was so integrated into the code that it never happened. So
here we have a rare case of double export obsfucation.

------
stigi

      - (BOOL)yoMamaWearsCombatBootsAutomaticallyWhenAvailable;
    

priceless!

------
ultimoo
I wonder whether Apple will decide to change their strategy of aggressively
guarding upcoming products before they are launched, under Cook's leadership.

I was following a couple of 'rumor' blogs prior to the iPhone launches earlier
this week and I believe they had managed to 'leak' and publish details on the
iPhone 5C and 5S pretty spot on.

EDIT: rather than referring to the variable names in the OP, I'm referring to
the more overarching strategy of guarding the features of their to-be-launched
products.

~~~
easyfrag
I doubt it, that's more of a cultural thing instilled by Jobs, it's sort of
entrenched as the "Apple way" of doing things. Big Cultural changes in an org
typically come about when things are going badly.

The leaking is going to be hard to stop because Apple largely outsources its
manufacturing and is now closely watched (compared to pre-ipod and iphone
days). It's hard to enforce secrecy along the entire process when the process
is run by third parties and spread around the world.

------
Zecc
Also isYoMamaWearsFancyGlassesDetectionEnabled

------
jheriko
if you ever investigate the call stacks when there is a crash in their stuff
from wrong parameters you can find all kinds of weird names. I'm still
wondering what the purple coloured port is :)

~~~
bsorbo
"Purple" was one of the code names for the first iPhone -
[http://allthingsd.com/20120803/apples-scott-forstall-on-
how-...](http://allthingsd.com/20120803/apples-scott-forstall-on-how-project-
purple-turned-into-the-iphone/)

I've seen PurpleEventCallback show up in different stacks.

------
plainOldText
The method's name is actually "isYoMamaWearsCombatBootsSupported". That being
said, it's nice to see developers at big companies having fun.

------
rabino
Fancy Glasses = iPhone5S Combat Boots = iPhone5C ???

------
protomyth
Must be a tradition, the old Newton had some interesting names for functions
in its API dealing with horses.

------
CrankyPants
Well, that Myriam dude's going to be upset.

------
mukundmr
I think it is a nice way to do it. :)

~~~
grbalaffa
Yo Mama thinks it's a nice way to do it, too!

------
frank_boyd
I'd be interested to see the "easter eggs" that drain the battery within 12
hours.

~~~
andyhmltn
12 hours is a good battery life is it not? Admittedly, the iOS7 BETAs have cut
my own down to the point where I have to make sure my phone is on 100% before
a 4-5 hour night out so I know I'll have battery to use it by the end of the
night.

Although I suspect that'll be fixed post-beta

~~~
artificialidiot
If you mean standby time, it is absolutely horrible.

~~~
frank_boyd
That is exactly what I mean.

~~~
veemjeem
My Nexus 4 lasts about 4 hours of usage, about 10 hours of standby time. I
really wish it had a replaceable battery. Phones these days just don't last
very long.

