How to call anywhere in the world for free while sitting in tropical paradise

Last night I made another call across the world for free using Skype. Nothing remarkable in that, millions of people are joining the Skype revolution – but what was remarkable is that I was on top of the mountain here in Koh Samui, an island in the Gulf of Thailand and I did it on my cell phone. In the past few weeks I’ve made calls while walking along the beach, sitting in an oceanside pool and drinking on top of the island’s peak.

The service I’ve been using and highly recommend is fring – and other than the unlimited data plan on my Thai SIM it hasn’t cost me a thing. After years of being gouged by local Canadian phone and cable companies, there was a certain euphoria in being able to call fully across the world from a tropical island for absolutely nothing.

On the road

While I’m over in Asia, I’m posting at thewindowseat.ca. We’re keeping a journal almost daily, and you’ll find links to our photostream over at flickr.

RSS aggregation using rails

I’ve been playing around with aggregating RSS feeds, and thought I’d share a few observations:

  • Handling all the different RSS variants is still not simple (many feeds aren’t even valid). After harvesting direct turned out to be challenging, I switched to using Google Base to authenticate with Google and then retrieving feeds from the undocumented Reader API (still waiting for official Google Data API) – eg. http://www.google.com/reader/atom/feed/http://www.yourfeedaddresshere.com. This way at least Google has done the work for you in terms of standardizing the feed to a common format, atom, and ensuring validity.
  • Converting contents encoded with HTML entities is easily undone using the htmlentities gem.
  • You can skip ruby-feedparser and simple-rss and move straight to hpricot, especially given the clean results from Google Reader.
  • A rake task is perfect for scheduling and queuing updates (make sure you throttle and cache appropriately).

Using Google spell checker via Googiespell and your rails proxy

If you are using Googiespell with rails, you may notice that Alex MacCaw’s Ruby on Rails hack from the documentation page no longer works. Google now requires a SSL connection to the spell service. You’ll be able to get it working by changing your proxy to:

def googiespell
  @lang = params['lang'] || 'en'
  @payload = request.raw_post
  http = Net::HTTP.new('google.com', 443)
  http.use_ssl = true
  path = "/tbproxy/spell?lang=" + @lang
  response = http.post(path, @payload)
  render :xml => response.body
end

Does anyone know of a Jquery plugin that could be used in place of Googiespell?

GoogleIO



Registration, originally uploaded by lectroidmarc.

Last week I was fortunate enough to take in the GoogleIO conference in San Francisco. This was google’s first developer conference – a quick 2 day event. As you can see from the photo, the event was well attended. Some take-aways from this past week:

  • GWT really should be evaluated on any project with aggressive javascript/ajax use.
  • Translation API mixed with crowdsourced editing is a very interesting global strategy
  • Steve Souders is diving deep into performance bottlenecks and his presentations are must reads.
  • Storage API coming soon to google maps allows you to free your user generated geodata, allowing it be found more easily via google search.
  • Android, running on hardware similar to iphone, with streetview maps and overlays would really solve the local promotions/coupon problem
  • Still no gdata access to search Youtube via geo. Having this for Picassa might actually take some market share from flickr.
  • Google Gears makes me want to find a problem that needs offline access as part of the solution.
  • Once they crack facebook, there will only be one choice: opensocial
  • The visualization api has a number of interesting components – intensity maps with events would really come in handy

The guy behind the guy



Audience, originally uploaded by duncandavidson.

A photo of myself and Jamie Zettle (I’m behind the guy in focus – in the green shirt) at the Tools of Change conference in San Jose last week.

Bubbleshare acquired

Congratulations to the gents at Bubbleshare – this past week they were acquired by Kaboose.

Kaboose, you’ve picked up an amazing team (great people, great ideas, great execution – the triple threat) and a fantastic product. I’m looking forward to seeing what Albert and Chris can put together with the integration. Chris, try not to get too freaked out by the cubicles ;>

Habitat for Humanity

Installing windowsThis past Friday a crew of us from CCH Canadian contributed a day towards building homes as part of Habitat for Humanity. We had close to 30 volunteers – tackling insulation, drywalling, and preparation for window installation among other things. I’d always wanted to help out with this program, so Friday was well overdue. It was hard work (not to mention the fact I’m still coughing up pink insulation), but at the end of the day you could really see the progress our team made. Kudos to CCH for sponsoring the day – great to get out of the office and give a hand up.

Photo geotagging

After a disasterous first attempt at photo geotagging in Rio de Janeiro last year – I’ve just purchased a Sony GPS-CS1. I’ll give my geo photo convergence dream a second chance in Costa Rica later this month. In Brazil I carried a Magellan eXplorist 100 Handheld GPS Navigator but found that the device would reset and lose the logged points even under normal conditions. I even tried using the technique whereby after each photo you take a photo of the unit to later extract the lat/long yourself, but the thought of the manual processing killed this within a few photos. I want to geotag my photos, but I don’t want it that badly. Late in the trip I took the unit into the ocean, and despite its waterproof claims it fried quickly and became unusable. I finally threw the unit out a few weeks ago.

So, I’m excited by the new product – the fact I can just leave it on and running during an outing – doing an auto merge using RoboGeo when I get home has me thinking this actually might work this time. I’ll post results when I have some.

Keep participating obliviously or help make change?

Watched a few interesting movies this past week – I fear I’m becoming addicted to documentaries. The first was a DVD rental called Darwin’s Nightmare and was focused on the trade coming out of the Lake Victoria region of Africa. Highlighting the shipment of fish north in exchange of arms south – while locals starve by the millions – exposed my guilt associated with being part of the minority who continue to exploit the planet and it’s people for over indulgence. Before you head out for your next all-you-can-eat seafood extravaganza, I dare you to watch the scenes showing the locals buying the rotting fish carcasses just in order to survive.

The second – shown in a local theatre – was called Manufactured Landscapes, and had an apolitical take on man’s manipulation of the natural environment. Edward Burtynsky exposed some shocking stories, but in keeping neutral really failed to dive deep enough to really expose the more interesting and untold stories. Seeing the Chinese ripping apart their own cities to make way for the Three Gorges Dam was extremely moving – but it left me wishing he’d spent more time conversing with the locals to explore their thoughts on what was unfolding.

I would recommend both, but my personal preference was the stronger statements conveyed with Darwin’s Nightmare.