I’m announcing the release of biomass, a clojure implementation of the Amazon Web Services Mechanical Turk API. Check out the project page on github
To learn more about Mechanical Turk, visit www.mturk.com
Clojure is the bees knees. It is an extremely powerful and flexible language. It is, however, a huge change from some of the most common programming practices and models. There’s no doubt about it, Clojure has a very steep learning curve. In my own experience with learning Clojure, sometimes the more difficult thing to learn is the toolset that allows you to efficiently develop applications in Clojure. Right now the standard seems to be a combination of tools like Emacs and slime/swank. For Emacs newbies like myself, it adds an additional learning burden on top of an already big learning curve. From the beginning of my work with Clojure, I’ve been searching for better tools to help me be more effective with Clojure.
Hey folks! I’ve got my blog migrated to octopress. Nifty, huh? Anyways, the goal is to start making regular posts about my software engineering adventures. I’ve setup redirects so that some of my more popular blog posts about android rest, geocoding, and the like all get 301 redirected, so those will still be accessible for anyone still interested.
I’ve been pretty silent on the blogging front for quite sometime. Much has changed in the last year or so. Hotelicopter, my long-time employer, has been acquired by a newer, bigger startup called Room Key. Room Key is a hotel search engine, much like hotelicopter - except with a much bigger focus on consumer travel (not to mention some very special relationships with the biggest hotel chains in the world).
For some more information on Room Key, checkout some of these news stories
By popular demand, I’ve thrown together a complete demonstration project showing how reverse geocoding with Google’s API’s works. The example is built with Android SDK version 1.6 (donut). I am also using Eclipse and the Android Eclipse plugin for development.
First, a little background information. Reverse geocoding means that we have a set of GPS coordinates (latitude and longitude), and we want to use that data to get an approximate address of our location. The scenario I found myself in when I decided to use reverse geocoding was that I wanted to display the name of the city that a user was in.
In a recent app using geolocation, I wanted to show the user of my app a city name of where the phone’s GPS receiver was placing them (just so they can be sure it is right). It turns out the Google Maps API has a HTTP service, and all you need to do is hit a certain URL, and google returns a list of nearby addresses (including city name). You can specify different formats that google passes back, including xml, kml, and json. I implemented a call to the service using java’s HttpURLConnection class. Here’s the code:
For more information on the Google Maps API service for geocoding, checkout this url: http://code.google.com/apis/maps/documentation/services.html
So I’m cruising through the interwebs the other day, looking for some examples of REST implementations on the android platform, when, much to my surprise, I realize I can’t find anything that’s extremely helpful. Eventually I gave up and rolled my own using the android sdk’s built-in apache http libraries. So, feast your eyes on this: