Posted by Steve in the early afternoon on Saturday the 12th of April, 2008

Just a brief note to mention that I uploaded my Django Fire Eagle authentication wrapper to Google Code.

It uses (and complements) my Fire Eagle API binding to wrap up the process of authorising your Django application with Fire Eagle into little more than pointing your users at a URL and setting them free.

Filed under


Posted by Steve in the wee hours on Thursday the 6th of March, 2008

So apparently I now write Python.

In a flustered, last-minute, push to get the Fire Eagle Python API binding ready to ship, I had to switch it to use HTTPS (and point to, natch).

Given that I’m relatively new to Python, it took a moment to realise I had simply to switch from httplib.HTTPConnection to httplib.HTTPSConnection. This would have all been fine, save one issue: apparently, the otherwise wonderful MacPorts doesn’t appear to link OpenSSL in Python by default (which, naturally, is a requirement for HTTPS).

Without OpenSSL linked, trying to use HTTPSConnection (or, one would imagine, any SSL-related task) results in an error akin to AttributeError: 'module' object has no attribute 'ssl'.

To rectify this is, actually, very simple: run sudo port install py25-socket-ssl in the Terminal (assuming you’re using Python 2.5: other versions of Python will require different ports).

Filed under


Posted by Steve in the wee hours on Thursday the 6th of March, 2008

For those of you that haven’t seen it already, go look at Fire Eagle. Do it now.

Good, innit?

For those of you that don’t quite get it, the point is that it’s a central location-brokering service. You tell Fire Eagle where you are (or set your devices and web apps to tell it), and other applications can, if you allow them, use that data in fun and interesting ways (think auto-geo-tagging of photos on flickr, or mapping where your friends are, to name the most obvious).

Anyway: Fire Eagle really caught my attention and, thanks to my friendship with the lovely Mr. Coates, I got to play a little with its API before launch. Whilst it’s not quite finished yet (the methods to find users of your application within a given area, within, and to find recent location updates from your users, recent, are not there at the time of writing), the API and, indeed, website are decidedly lovely.

The website is friendly, playful, and takes all the hard edges off of the concept of using a web app whose sole purpose is to serve other applications and widgets. It has non-awful markup and CSS (although there are a few things I might quibble with in a code review). The URLs, though…

Oh, the URLs! Whoever came up with the idea of allowing (or, indeed, any other location, but Austin, Texas is particularly apt for me right now) is an evil genius after my own heart.

The API has had as much care and attention as the web interface, though: no method is out of place, everything accepts what you’d expect. What’s more, it uses OAuth for authorising third-party applications to access user data (and Fire Eagle allows you to specify what level of granularity you want to allow per-application), so even that is positively simple given the existence of libraries to deal with OAuth for you.

If it all still seems like too much hard work to implement bindings for the API in your app, that’s been covered, too: there are bindings for Javascript, PHP, Ruby, Perl, and even one for Python written by yours truly.

I intend to spend a sizeable chunk of my time over the next few weeks playing with Fire Eagle, both updating my Python API binding and hacking around with various ideas I’ve had for fun, useful little apps using Fire Eagle data.

Now, where was I?

Filed under