-
Artistic picture taken by a 4 year old
As I was working today, me Eye-Fi app downloaded some pictures that my son was taking in the other room. I saw one of them and was quite impressed by the composure of the picture. While I'm sure my son had no idea what he was doing, I thought it was cool.
-
Failure to check return Location Manager values
Last night I downloaded the Bing for iPad app and it looks quite interesting. However, I ran into a problem that shows a failure for the developers to properly handle an error condition. I told it to use my current location and it said I was over 500 miles away from my home. The location was where I was a few weeks ago. I switched to the Maps app and that app said it was unable to determine the location. A quick device reset fixed everything including Bing, but the fact that Bing didn't know where I was got me thinking about what caused it. (My WiFi router is registered with Skyhook, so my iPad will always return my house's location when it asks for the location if I'm home.)
I've worked a lot with CLLocationManager and have found some quirks with it. First, sometimes it never returns a value, so developers must set a timer and alert the user. This, however, was not the problem in the Bing app. When the app requests the location, it does something like:
self.manager.desiredAccuracy = kCLLocationAccuracyThreeKilometers;
which means it only needs to be accurate within 3 km. As the CLLocationManager updates its location using:
- (void)locationManager:(CLLocationManager *)inManager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { if (newLocation.horizontalAccuracy >= 0.0 && newLocation.horizontalAccuracy <= 10000.0) { } }
it needs to check the horizontalAccuracy to make sure it is positive and within the desired range. I believe that the Bing app isn't properly checking this and just taking the value that is immediately returned. Since CLLocationManager caches the last location for efficiency, it is instantly returned. This is the wrong thing to do without checking the result.
-
Confused AppleTV
This evening I went to watch a show on my AppleTV as I've done every night in the last week. I used my iPad to select the show and when I hit play nothing happened. I used ezDesktop to look at my Media Center and saw that iTunes was running fine. There were 2 possibilities; the AppleTV was confused or the Mac Mini needed a reboot. I browsed the shows on my iPad via the Videos app and started a show without problems which lead to only one possibility.
After a quick reboot of the AppleTV using the only method I could find (yanking the power plug), it came back and was able to watch the show.
Why did the AppleTV become confused? Why isn't there a way to reboot the box without getting off the couch? I have no idea.
-
Experimenting with WordPress Caching
In the last few days, I've read about caching WordPress blogs to improve performance. I've played with this in the past, but always gave up as it wasn't something I needed, at least not yet. However, I took another stab at it and installed W3 Total Cache to see how much good it would do.
The plugin is amazingly easy to setup and seems to work well. However, one thing that kind of annoys me is that new blog posts don't update the home page. Of coure, I can turn off caching of the home page, but that kind of defeats the purpose of a cache. As a happy medium, I turned down the caching to 300 seconds (5 minutes). If I ever get Fireballed, I'll change things around and hope for the best. (For those out of the "know", fireballed means getting linked to by John Gruber's Daring Fireball site. Basically if you get linked from there, your site is going to get pounded with hits.)