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.
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):
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.
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):"
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.
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.
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.
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.
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 :)
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.
I can definitely understand that, having pulled and Android app from the store because of piracy recently. (in app purchase is really hard to circumvent by pirates, but apps where you pay upfront are pirated like crazy)
As for this "poem", I've seen better from kids in elementary school. This speaks to the creative aptitude of Apple's kernel engineers. Certainly not the strongpoint of their workforce.
What sort of royalties or up-front payments did CMU get for letting Apple use their kernel?
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.
I wonder if they seriously discussed internally that gravity constants for other planets were needed in case Android devices would be used in space travel.
These are not the same, as these are left in production. The code names in the iOS binaries were later replaced by their real functionality as it no longer needed to be secret.
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.
12 hours would be pretty bad for me. My 4S purchased on launch day (so nearly two years old now) gets unplugged at about 8AM, stays unplugged all day, and usually gets plugged in at 11PM with ~50% battery remaining.
It means you can trash your phone. It's worthless. The iTemple will welcome you for your next iPhone purchase - if you accept not to indulge in any iBlasphemy.
The 12 hours are in stand-by (no screen/wifi/bluetooth/phone usage/message usage whatsoever).
And I had 3-4 days before the "upgrade".
In my case I just "upgraded" the OS on my 3GS to the current state: v. 3.1.6 (after having refrained from doing so for a very very long time - precisely because I had read about the drastic battery drainage at the time). So no beta software was involved.
EDIT:
Here's an example of a thread in the "support" forum: https://discussions.apple.com/thread/4325659?start=15&tstart...
(I have tried every "solution" I could find on the net - nothing has fixed this. Which means we must assume this is strategy, not temporary bugs.)
BeOS had is_computer_on() and is_computer_on_fire() APIs:
http://www.tycomsystems.com/beos/bebook/the%20kernel%20kit/s...
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):
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.
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...
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.
It does look like an HDR placeholder, or one hell of a coincidence.
From `AVCaptureFigVideoDevice.h`
1 reply →
They’re masking new features with ”creative” variable/method names.
Oooh, I see. Thanks.
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.
priceless!
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.
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.
I wondered the same thing, especially after Phil Schiller's comment: "a few of you probably saw some shots on the Web...and that's cool!"
Also isYoMamaWearsFancyGlassesDetectionEnabled
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 :)
"Purple" was one of the code names for the first iPhone - http://allthingsd.com/20120803/apples-scott-forstall-on-how-...
I've seen PurpleEventCallback show up in different stacks.
The method's name is actually "isYoMamaWearsCombatBootsSupported". That being said, it's nice to see developers at big companies having fun.
Fancy Glasses = iPhone5S Combat Boots = iPhone5C ???
Must be a tradition, the old Newton had some interesting names for functions in its API dealing with horses.
Well, that Myriam dude's going to be upset.
I think it is a nice way to do it. :)
Yo Mama thinks it's a nice way to do it, too!
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 is also WTF in WebKit source.
It stands for Web Template Framework, but it's funny it appears all the time in crash reports:
http://google.com/search?q=wtf+webkit+crash
For example:
You can also boot an iPhone in WTF mode, though I'm not entirely sure anybody outside of Apple knows what it does.
http://theiphonewiki.com/wiki/WTF
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.
That .kext is also responsible for verifying some sort of signature in a hardware chip only present on genuine macs. See http://en.wikipedia.org/wiki/Apple%E2%80%93Intel_architectur...
3 replies →
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.
3 replies →
Reminds me of VAX chips during the Cold War. They had "When you care enough to steal the best etched on the chip in Cyrillic.
http://popularlogistics.com/wp-content/uploads/2012/02/cvax1...
I can definitely understand that, having pulled and Android app from the store because of piracy recently. (in app purchase is really hard to circumvent by pirates, but apps where you pay upfront are pirated like crazy)
4 replies →
Didn't Jobs say "Great Artists Steal."?
Users who are artists must heed these wise words.
All Hail the Cult Leader.
As for this "poem", I've seen better from kids in elementary school. This speaks to the creative aptitude of Apple's kernel engineers. Certainly not the strongpoint of their workforce.
What sort of royalties or up-front payments did CMU get for letting Apple use their kernel?
2 replies →
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.
34 replies →
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...
I wonder if they seriously discussed internally that gravity constants for other planets were needed in case Android devices would be used in space travel.
1 reply →
These are not the same, as these are left in production. The code names in the iOS binaries were later replaced by their real functionality as it no longer needed to be secret.
I see, so this is some kind of obfuscation. Thanks for the information.
I love how wtf, in Androidland, stands for "What a Terrible Failure"
I'd be interested to see the "easter eggs" that drain the battery within 12 hours.
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
If you mean standby time, it is absolutely horrible.
2 replies →
Is that a recent beta? I actually had a day and a bit of battery life recently on the last beta. https://twitter.com/nicholassmith/status/369579656791732224/...
3 replies →
12 hours would be pretty bad for me. My 4S purchased on launch day (so nearly two years old now) gets unplugged at about 8AM, stays unplugged all day, and usually gets plugged in at 11PM with ~50% battery remaining.
1 reply →
It means you can trash your phone. It's worthless. The iTemple will welcome you for your next iPhone purchase - if you accept not to indulge in any iBlasphemy.
The 12 hours are in stand-by (no screen/wifi/bluetooth/phone usage/message usage whatsoever).
And I had 3-4 days before the "upgrade".
In my case I just "upgraded" the OS on my 3GS to the current state: v. 3.1.6 (after having refrained from doing so for a very very long time - precisely because I had read about the drastic battery drainage at the time). So no beta software was involved.
EDIT: Here's an example of a thread in the "support" forum: https://discussions.apple.com/thread/4325659?start=15&tstart... (I have tried every "solution" I could find on the net - nothing has fixed this. Which means we must assume this is strategy, not temporary bugs.)
6 replies →