You can make that three geeks.
I got pretty upset earlier this week. I wanted to do a site-survey of the wireless network that covers my company's campus.
The iPad is a wonderful tool for this, you'd think. It has a wifi chip, and a GPS. What I wanted was to drive around and pair signal strengths with GPS locations.
Except I can't do this on my iPad because Apple doesn't want me to. The API for getting wifi signal strength is off limits, and utilizing it will keep you out of the app store, which is the only legitimate pathway to getting applications onto the device. They've built the tricorder from star trek...but they've locked it inside of a box and won't let anybody use it.
This is absurd to me. Here apple has this really wonderful piece of hardware that is packed full of all kinds of sensors and things, and they're telling me that I can only use them for playing silly games? What the hell is that?
I ended up still doing the site survey, I even used apple hardware to do it, but the amount of hoops I had to jump through[1] was stupid.
[1]: I wrote a few lines of javascript that pulled GPS data from the geolocation api, and then called an ajax script to log this info into a mysql database with a timestamp.
I then ran a script on my laptop that polled System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport, and parsed the output for signal strength.
This got logged into another file, with a timestamp.
It was a simple matter to mesh these files together, and generate a KML file for google earth.
Now...this is all accessible to me because I'm a hacker; it should be accessible to everybody, and it shouldn't require that amount of duct tape and chicken wire.