Posts tagged “opendns”

Dopploadr at Yahoo! Open Hack Day 2008/09/14

My hat's off to Yahoo! for putting on a great show this weekend. More than one person told me how much more excited they are about Yahoo! after experiencing Hack Day. It really does bring out the best in everyone. Plus, the Girl Talk set Friday night was killer.

MikeD and I showed up proudly wearing our OpenDNS t-shirts and were taken aback by the number of excited OpenDNS users we encountered — thanks, guys. Mike did the vast majority of the work on our main hack, a reworking of the OpenDNS Guide to use Yahoo!'s BOSS search API. We're excited about the prospects of integrating our user's preferences directly into search results. My part in all of this was to wrangle the markup and CSS. We really could roll this out next week and we wanted it to look that way. In the demo, Mike mentioned (casually) that we could throw a few million queries per day at BOSS. We aren't kidding.

Enough OpenDNS, tell me about the cheating

Before I sat down to crank out the eye-candy for the OpenDNS Guide, I built an extension for the Flickr Uploadr. But I wrote the Flickr Uploadr. This is totally cheating. I'd like to think that the Flickr judges felt the same way and that's why I didn't win any prizes but it doesn't matter because some people I really admire graciously complimented my work and I expect it will see quite a bit of day-to-day use. I hope it can also serve as a good starting point for future extensions. Without further ado:

Dopploadr

Dopploadr is an extension for the open-source, Mozilla-based Flickr Uploadr. As I said in the demo, it works just like a Firefox extension because it is. The Uploadr includes Mozilla's Extension Manager.

Once you install Dopploadr, Uploadr will take you to Dopplr to authenticate. My apologies for the copy & paste step but there's no equivalent of flickr.auth.getToken in the Dopplr API. One other catch that should be mentioned is that Dopplr's API must be accessed over SSL and (at Yahoo! and during my demo, at least) their servers or certificates frequently and randomly fail. Try again.

Once you're authenticated, there's really no UI to it. The status bar will indicate you're signed in, saying "Dopploadr for rcrowley" or some such but the real magic happens behind the scenes. Each time Uploadr thumbnails a photo, it hands off the date-taken field during the after_thumb event and Dopploadr decides where you were at that time, noting the latitude/longitude and some tags like:

When you upload a batch, Uploadr will again be really secretive but Just Work. The before_one_upload event will combine the user's tags with the geo tags above and then let Uploadr continue with the upload. When Uploadr finishes, it hands off the photo's ID to Dopploadr during the after_one_upload event so Dopploadr can call flickr.photos.geo.setLocation with the stored latitude/longitude.

My official monkeypatch count sits at 3. First was adding the after_logout event that I still haven't actually used (see also version 0.2). Second was a short walk around the DOM to insert Dopploadr's string bundle (strings accessible from JavaScript). Third was adding a counter for outstanding Dopplr API calls and making the buttons.upload.enable() method sensitive to the count to prevent uploading before everything's been geotagged.

Here's the photo I uploaded during my demo: http://flickr.com/photos/rcrowley/2853699765/. (See, it really works!)

You can download Dopploadr 0.1 or check out the code on GitHub.

My sincerest thanks once more to the folks all over Yahoo! that made Hack Day happen.

Comments (9)

Starting at OpenDNS today 2008/04/08

There are so many things to love about Flickr and especially about working at Flickr that I initially thought myself crazy for even considering leaving. But with time came sanity and I saw the pros for leaving start to outweigh the cons.

The folks at Flickr are without a doubt the most talented group I've ever had the honor of working with and I will miss them all. Flickr as a whole is a dream, a place with passionate staff matching passionate members and no shortage of new ground to break into, but my piece of this puzzle was not exactly right for me. I developed the new Flickr Uploadr desktop client as an open-source, extendable app for getting your photos and metadata onto Flickr. The project had everything I wanted — new technology, technical difficulty, performance concerns, design quirks and the goal of open-source extendability. But for all of that it had a fatal flaw — I am not a desktop software developer.

Thinking more forwardly, "I am not a desktop software developer" started to say what I really meant: "I do not want to be a desktop software developer." Selfish personal preference.

This job at OpenDNS has all the ingredients of a good time in my book — C++, maybe some map/reduce, I/O bottlenecks, oh-my-god-databases-are-slow and a whole lot of networking (the TCP/IP kind). The people there are awesome just like Flickr's and I have no doubt I'll become just as attached to them.

(Housekeeping: it looks like the XULRunner saga on rcrowley.org has come to an end for the time being. I almost guarantee I'll be back to dabbling with it sometime, though, since it'd be a shame for all that practice to go to waste. Don't count on Windows XPCOM, though.)

Comments (16)