Aug 312011

A small note in the “in case I need this again” category.

I’m writing a Sinatra app and want to add Twitter OAuth for signing in. A good way to do this appears to be with the omniauth gem but I ran into an issue. require 'oa-oauth' is the documented way to require the right gem, but the error I was getting was `require’: no such file to load — oa-oauth (LoadError), despite having installed the gem. I use RVM to control the Ruby environment, so also checked I’d installed the gem with the RVM version set to the version of Ruby I was using (1.9.2). Hunting around I found a partial answer on the issues list. Partial, because the answers there didn’t help, but the suggestion to try bundle show omniauth did. Bundle came back with Could not find gem ‘omniauth’ in the current bundle.

The answer turned out to be to edit the Gemfile to add gem omniauth to it, then running bundle install. After that, bundle show omniauth found the gem, and require 'oa-oauth' in my Ruby app worked as well.

Aug 232011

I came across this weird problem recently, where my Tungle account ( was only synchronizing some of the events on my Google calendar. I checked they were set to the right calendar (yes), marked as busy (yes), and still couldn’t find the answer.

This is an issue that quite a few people have had. Apparently what’s going on is that Google calendar supports three types of availability for events: free, busy, and tentative. In the UI on the browser and on the Android they only show the free (available) and busy. BUT, when you create an event on the Android calendar, it’s assigned the “tentative” status. I have no idea why, since I added those events to the calendar myself, they’re not invitations that I still have to accept or decline. And the fact that there appears to be no way to change the status once the event has been created just makes it worse. I tried changing the status manually to “busy” in both the browser and the Android calendar app but that didn’t work. The only thing that did work was to delete the event and recreate on the desktop.

Fortunately tungle implemented a fix – you can choose to mark the supposedly tentative appointments as “busy”. Here’s hoping any other apps I may wish to sync with my Google calendar also implement this feature.

/* ]]> */