Fatal GCJ GNU Compiler for Java is not supported by JRuby

If you ever encountered this when installing JRuby on Ubuntu: Fatal: GCJ (GNU Compiler for Java) is not supported by JRuby. Doing export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre could do the trick, given you’ve installed sun-java6’s packages on your machine. I hope it’ll help. ...

March 22, 2010 · 1 min · Franck Verrot

Git Fast Forward Merges

Moving our current projects codebase from Subversion to Git was a nice move. This plus the adoption of the feature-centric way of developing (BDD + Scrum + Kanban) and our repositories are now cleared of any form of waste (useless LOC written “just in case”). Now, we must adapt the usage we have of Git and one that we just initiated is the non fast forward merge. Moving our current projects codebase from Subversion to Git was a nice move. This plus the adoption of the feature-centric way of developing (BDD + Scrum + Kanban) and our repositories are now cleared of any form of waste (useless LOC written “just in case”). ...

March 11, 2010 · 3 min · Franck Verrot

Introducing Live-Note appspot com

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. ...

March 4, 2010 · 3 min · Franck Verrot

Rails 3 Let ActiveRecord Manage Your Translations

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. The I18n gem (required to run Rails 3) has been released in late December and is providing all you need to store your translations into a database. A neat thing is the I18n::Backend::Base module, which makes it easy to start writing a new backend in no time. ...

February 27, 2010 · 2 min · Franck Verrot

Executing binary files with Ruby on Rails and Heroku

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. ...

February 24, 2010 · 3 min · Franck Verrot

Talk to Gemcutter's API using XMPP/Google Talk

Working with Ruby in my day job made me try other exciting things, especially with Google App Engine. Programming in Python is not so bad, but I won’t say I’m having fun remapping my brain onto the weirdosities of the language. Anyhoo… Tonight I wanted to talk to Gemcutter, but not programmatically, I wanted to have it in my GTalk contact list and start having a little chat… The very first step was to fire up a new application in App Engine web panel. Five seconds later, let’s fired up a GVim and create (within a new directory) app.yml and gemtalker.py. ...

February 20, 2010 · 2 min · Franck Verrot

Gemcutter Webhooks on Google Wave (and Google App Engine) part 1

So what are Gemcutter webhooks? It’s a way to automatically notice an online app (say gemhooker.appspot.com for instance) about the activities of your favorite (or all) Gemcutter’s gems... As mentioned in the documentation, let’s install gemcutter’s gem if not already done: Now this is done, let’s get it started and fire up a new Python’s powered GAE app (gemhooker.py): If you deploy this app (with appcfg.py update gemhooker-clone-you-just-initialized), you won’t see anything so let’s ask Gemcutter to add a webhook that will notice our app everytime someone pushes changes onto Gemcutter! I’m subscribing to every event of all the existing gems: ...

January 27, 2010 · 1 min · Franck Verrot