Introducing Live-Note(.appspot.com)

Posted by Cesario on March 04, 2010|Comments|Read full article

I was about to call this article “Gemcutter Webhooks on Google Wave (and Google App Engine) part 2” but then I realized that it was no more about that I wanted to focus on, but more on the Wave part (sorry Rubyists friends, but I had fun with Python (as long as I don’t try to do metaprogramming Python is nice to play with :)).

Google released the Google Wave Robot API v2 (hurray). In that major revision, they are introducing the Active Robot API that makes it possible for robots (i.e. GAE-baked applications) to interact with Waves. In the previous version, your robot was being notified each time a wave (or wavelet, or blip) was modified or when a participant was added to the wave, but now, your application can actually be active and contact Wave on its own.

In the first part of this series of articles, I was demonstrating how to build a GAE-baked application and how to subscribe to a web hook (being a Rubyist I was taking the webhooks from Gemcutter / Rubygems.org). I went only half-way as I wanted to actually see the result inside Google Wave. But then I think to my self, what a wonderful world think it would be to do something actually useful in my everyday life instead of just demonstrating mix of technologies (even if it’s neat to be able to make applications talk to each others).

So today, it’s gonna be about a 12-hour-design application: Live-Note.

Rails 3: Let ActiveRecord Manage Your Translations

Posted by Cesario on February 27, 2010|Comments|Read full article

With the previous versions of Rails we have the choice between storing the translations into a YAML file (one per language) and standard Ruby Hashes.

Bringing the ActiveRecord backend to light, the I18n gem allows us now to manage all our translations in a regular database.

Executing binary files with Ruby on Rails and Heroku

Posted by Cesario on February 24, 2010|Comments|Read full article

One would easily wonder why in hell someone else would want to do that, but it’s actually often because you are forced to.

In this post, I’ll explain how to proceed.