Archive for March 21, 2012

Wednesday, March 21, 2012 [Tweets] [Favorites]

Firefox Switching to HTTPS Google Search

Christopher Soghoian:

First, the search query information from these users will be shielded from their Internet service providers and governments who might be using Deep Packet Inspection (DPI) equipment to monitor the activity of users or censor and filter search results.

Second, the search query information will also be shielded from the Web sites that consumer visit after conducting a search. This information is normally leaked via the “referrer header.”

Where to Speak on Your iPhone 4

Matt Neuburg:

I had been holding the iPhone wrong during speakerphone mode: I was holding the top microphone pointed away from me, because I thought “the microphone” was the one at the bottom during a call. Now that I know about it, I hold the iPhone better, and people on the other end can hear me better. Also, I use speakerphone less, out of sympathy with my callers. When you speak into the bottom microphone, you’re using superior electronics, because the bottom microphone is a better microphone, and you’re using noise cancellation. So if you want your caller to have a good listening experience, you should hold the iPhone up to your ear or use a headset of some sort — don’t use speakerphone mode.

I don’t know why I waited so long, but a year and a half ago I finally got a Bluetooth headset. It’s been great.

Objective-C Literals

The updated Clang documentation:

Using array and dictionary literals is safer than the variadic creation forms commonly in use today. Array literal expressions expand to calls to +[NSArray arrayWithObjects:count:], which validates that all objects are non-nil. The variadic form, +[NSArray arrayWithObjects:] uses nil as an argument list terminator, which can lead to malformed array objects. Dictionary literals are similarly created with +[NSDictionary dictionaryWithObjects:forKeys:count:] which validates all objects and keys, unlike +[NSDictionary dictionaryWithObjectsAndKeys:] which also uses a nil parameter as an argument list terminator.

There are lots of carrots for going 64-bit-only and adopting the modern Objective-C runtime.