Archive for October 22, 2013

Tuesday, October 22, 2013

The Effects of Compiler Optimizations

A great question on Stack Overflow (via David Smith):

I first noticed in 2009 that gcc (at least on my projects and on my machines) have the tendency to generate noticeably faster code if I optimize for size (-Os) instead of speed (-O2 or -O3) and I have been wondering ever since why.

I have managed to create a (rather silly) code that shows this surprising behavior and is sufficiently small to be posted here.

There’s so much going on in modern processors that it can be tough to predict how code will behave.

Why Does Windows Have Terrible Battery Life?

Jeff Atwood:

The Surface Pro 2 has a 42 Wh battery, which puts it closer to the 11 inch Air in capacity. Still, over 11 hours of battery life browsing the web on WiFi? That means the Air is somehow producing nearly two times the battery efficiency of the best hardware and software combination Microsoft can muster, for what I consider to be the most common usage pattern on a computer today. That's shocking. Scandalous, even.

And this was before Mavericks.

The iPhone’s Positioning Sensors Were Never Good

Josh Centers:

Much is being made of Gizmodo’s tests showing that the positioning sensors in the iPhone 5s are off. Not just a little off, but off in a non-trivial way. The gyroscope read 3 degrees off, the compass 8 to 10 degrees off, and even the accelerometer seemed to be inaccurate.

The accuracy seems to be improved with iOS 7.0.3.

iMessage End-to-End Encryption

John Gruber:

Leaving aside the moral implications of flat-out lying to their customers, I would think that if iMessage’s back-end were designed with a weakness exploitable by Apple as Quarkslab supposes, Apple would say or promise nothing with regard to iMessage’s susceptibility to server-side decryption rather than compound that weakness with blatant lies to the contrary. To lie would be to take an enormous PR risk for a relatively small PR gain. I say “small PR gain” simply because I doubt most people who use iMessage even know their messages are supposed to be securely encrypted from end-to-end. I say “large PR risk” because if Apple’s statements regarding iMessage encryption are eventually discredited, the backlash in the press will be severe (and justly so).

I agree, but I still think that it’s a mistake to focus on the end-to-end encryption and Apple’s statements about same. Most iMessage users are probably using iCloud Backup, which does retain copies of the messages, and does not encrypt them with a device key. There’s no need to intercept messages that are already being stored. Since Apple has not, to my knowledge, claimed otherwise, I think it’s reasonable to assume that when it provides data to law enforcement this includes data from backups.

Update (2018-04-20): @agilethumbs:

And end to end encryption only matters if you can verify the identity of the other party, which you can’t with iMessage. Wiretapping iMessage is trivial and 100% is happening now. Apple removed their warrant canary four years ago.


Mac App Store Receipts and Mavericks

Craig Hockenberry describes more problems developing on Mavericks:

After decrypting and checking the receipt payload, the value was “3.6.2b1” not the version I just installed. Where did this old version number come from? Why did following the advice in the dialog and deleting the app not fix the problem. How come this old receipt kept showing up no matter what I did?