Blogs

I’ve seen a lot of news articles with people getting their panties in a wad over the location data being stored in a database on iOS. This is not new news at all. Here, go read this and come back when you’re done.

Okay, and now for my side of it.

I went to WWDC last year where the new Core Location system was discussed in great detail. If you went as well, or have the videos, look at the video for session 115, “Using Core Location in iOS”. Skip to around 13:45 for the discussion of “Coarse Cell Positioning” where they discuss the cache in detail.

The purpose of this is offline GPS. Normally, each cell tower has an identifier and Core Location sends that identifier to Apple and asks for the lat/lon for that tower. This requires a data connection, and the use of data. Since cell towers don’t move, however, it’s inefficient to keep going back to Apple for that information so they cache it. Now if a tower appears with the same ID as the cache, tada! you have a cache hit and a faster fix with no data use. Which also means you can get a “coarse location” (as in rough) if you are near known towers and don’t have a data connection.

That’s all this is. It’s a cache of identifiers (cell and wifi), locations, and their age (it’s a cache, after all). Someone made the decision to never clean it out so they would have more and more information about those GPS “assists” (you know, A-GPS) and so they’d use less and less power and data over time for the places you frequent. It’s a great idea, technically.

Practically, yes, you can track location over time. The file is readable only by root and you’re free to encrypt your backups for now. I’m sure Apple will either encrypt the file or truncate the data in a future update (I would prefer encryption as I think it’s technically sound, but I know many will disagree). I’m also sure someone is considering a toggle for the feature or a button to clear the database. Both are great ideas.

This isn’t nefarious, this isn’t being sent anywhere, and this isn’t as bad as everyone is making it. This is a real feature with a major oversight. That’s it.

Please put your pitchforks down and spread the word.

There’s been some ballyhoo about the removal of the ringtone editor from iTunes 10 and some folks are recommending GarageBand or other applications and/or websites to do the conversion.

Stop.  That’s not what you do.

What you do is make iTunes do it anyway.  It has all the tools and you don’t need to go anywhere else.

Of course, the instructions for how to do it are a little silly.There's more »

Live-Tweeting the WWDC Keynote

June 7, 2010 - 12:00pm

Head over to Twitter for some live coverage of the keynote today.

I was writing some shell scripts the other day and I had to find which OS X version I was running and based on the OS X version I was trying to install my application. So this is a small and easy tip as to how you can find out the OS X verison using the default command.


OS_VERSION=`/usr/bin/defaults read “$3/System/Library/CoreServices/SystemVersion” ProductVersion`
echo “$OS_VERSION”

You can also get more specific if you want only the major version or the minor version by piping the OS_VERSION to ‘cut’ command by specifing the fields.


OS_MAJOR_VERSION=`echo $osversion | cut -f2 -d’.’`
OS_MINOR_VERSION=`echo $osversion | cut -f3 -d’.’`

This has been floating around the Internet but I felt the need to say that:

  1. I tried it.
  1. It works.

The German site BenM posted a few days ago that it had written up some configurations for iPhone OS 3.0 that enable tethering on most carriers, whether they wanted it done or not. This is a pretty neat hack for several reasons:

  • It does not require a jailbreak or other real hacks.
  • It’s easily removed via the iPhone’s interface.
  • It’s just quite smart.

So, here’s how to do it:There's more »

  1. Go to the following site from your phone: help.BenM.at
  1. Find the page for your country and then the carrier you are using.

I have a need. I have to make latitude/longitude (LL) points more reasonable and usable by humans.

This is quite possibly one of the more difficult tasks out there right now, and also one of the most-outsourced as a result. The reason is simple: the dataset is huge and the calculations quite intensive.

In order to get information about an LL, like the city, state, county, zip code, or (most complicated) street and approximate address, you have to do some geometric math. Let’s start with counties, since that happened to be the first thing I had some success in. You get a list of counties and their borders as geometric shapes. You then take a range from the LL and find all polygons that touch that range. Then you further filter to the one that point is in.There's more »

Since I use Mercurial and it doesn’t have Xcode integration, I find that I’ll have added classes or whatnot and they will not have been added to the repository and I’ll forget about them come checkin time. That’s bad.

So I thought about ways to remedy this, and after describing the issue to myself, the issue was clear. “When I add new files to the directory, it should run hg add on the files.” Well, when when we need to do something when a directory changes, we use launchd yes? Yes.

So I made a launchd item that ran a script any time my specific repository changed. Since this is just for yourself, it can go in ~/Library/LaunchAgents. The item should set the current and working directories to the repository so the context of the hg commands is proper.There's more »

First Look: MacBook Pro (Late 2008)

October 16, 2008 - 2:18am

The new MacBook Pros are a substantial change from the previous generation of MacBook Pros, but it’s hard to call them an upgrade, in my opinion. I’ve been using Macs for a couple of decades now and when I think of the word “upgrade” I tend to think of a notably faster processor, more features, and other goodies that make it scream “hey, this is what you have, but better!” The new MacBook Pros don’t really scream upgrade.

They scream redesign.

This isn’t the old MacBook Pro on any level. The only thing they have in common is the case material and the size of the unit. Other than that, this is a whole new computer in every measurable aspect: the screen is better, the keyboard has changed, the case is sleeker, the port layout is cleaner, the trackpad is …There's more »

Can i install my Leopard OS onto my PC?

Yes. The current solution is to use a piece of software called simply “PC-EFI” that emulates a Mac firmware environment. There’s some instructions out there already for how to get this done.

Hello, I am looking for information regarding how to boot a iBook,G4, with linux on a USB flash drive…

You cannot boot a G4 iBook from a USB drive of any kind — only FireWire or internal drives.

On my iBook G4 14’ when I run openSUSE 10.3 I noticed (for some time now) the white led blinks when the hard drive is accessed.There's more »

Well, it’s about damned time.

I’ve been wanting to write up some iPhone dev pieces for a while but pushed the idea aside because of the SDK NDA issue. Well, Apple’s finally come to their senses and removed the NDA so that developers can actually form a community now.

This is one of two major issues that have made developers uncertain about writing for the iPhone platform, what with Android coming very soon now. The other issue, which Apple has yet to deal with, is the rejection of applications based on unreleased criteria.There's more »

Syndicate content