Contribuer à Ruby en 3 exemples

Contribuer à Ruby et son écosystème est un sujet vaste. Ce n’est pas évident de se lancer dans cette aventure, ni de savoir par où commencer. Je vais vous parler de trois exemples en espérant que cela puisse vous inspirer et susciter des vocations.

Accélérer le temps de chargement de Rails

Xavier Shay est un développeur et il lui arrive de coder des applications Rails avec Ruby 1.9. Et, comme beaucoup d’autres, il peste contre le temps de chargement très long de Rails. Sauf que lui a décidé de ne pas rester les bras croisés et a commencé à chercher pourquoi c’était lent et ce que l’on peut y faire. Sa première étape est d’améliorer require. Il travaille sur un patch, plutôt conséquent, pour le futur Ruby 1.9.3 qui améliore grandement les performances de require. Vous pouvez l’aider en testant son patch (Xavier Shay est tout particulièrement intéressé par des tests sous windows) et en lui fournissant des données sur le temps de chargement d’une de vos application Rails :

# Tout d'abord, une première mesure qui servira de base de comparaison
cd /votre/application/rails
time script/rails runner "puts 1"

# Installer la version patchée de Ruby 1.9.3
rvm get head && rvm reload
curl https://gist.github.com/raw/996418/e2b346fbadeed458506fc69ca213ad96d1d08c3e/require-performance-fix-r31758.patch > /tmp/require-performance-fix.patch
rvm install ruby-head --patch /tmp/require-performance-fix.patch -n patched
# ... vous pouvez en profiter pour prendre une tasse de thé, cela va prendre quelques minutes (environ 8 minutes sur un macbook pro)

# Et il est temps de passer à la nouvelle mesure
cd /votre/application/rails
rvm use ruby-head-patched
gem install bundler --no-rdoc --no-ri
bundle
time script/rails runner "puts 1"

Ensuite, il ne vous reste plus qu’à aller sur son blog et poster un commentaire avec vos mesures. Rien de bien compliqué en somme.

Améliorer les relations entre Rubygems et la communauté

Gregory Brown a remarqué que les relations entre les développeurs de Rubygems et ses utilisateurs étaient parfois tendues, surtout ces derniers temps. Un certain nombre de personnes critiquent les dernières versions de Rubygems (la direction prise, les changements d’API, etc.) sans pour autant créer des entrées dans le bugtracker de Rubygems. Mais quand ils le font, ils se font parfois jeter de manière assez rude par les développeurs de Rubygems.

Gregory Brown est convaincu que Rubygems est indispensable à l’écosystème Ruby et qu’il est important de calmer le jeu pour que Rubygems puisse avancer dans de meilleures conditions, en prenant en compte les retours des utilisateurs. Pour ça, il s’est proposé pour faire un intermédiaire entre la communauté et les développeurs. Il encourage tous les gens qui ont eu des problèmes par le passé avec Rubygems à lui faire part pour qu’il puisse ensuite en discuter avec l’équipe de Rubygems pour en faire un plan d’action et communiquer plus efficacement sur la direction prise par Rubygems.

Donc, si vous avez des attentes vis-à-vis de Rubygems, vous savez ce qu’il vous reste à faire ;-)

Rubinius

Rubinius est une implémentation de Ruby avec 2 caractéristiques qui me semblent intéressantes :

  • un maximum de code de Rubinius est écrit en Ruby ;
  • Evan Phoenix, le créateur de Rubinius, a toujours insisté sur l’importance de la communauté pour l’avancée de Rubinius.

Et quand on combine ces 2 caractéristiques, on voit qu’il est très facile de devenir impliqué dans Rubinius. En plus, un programme visant à récompenser les contributeurs de Rubinius a été mis en place. Au premier commit, vous gagnez un autocollant Rubinius pour afficher fièrement que vous avez participé, ainsi qu’une lettre manuscrite de remerciements. Et au dixième commit, vous pourrez exhiber encore plus votre engagement grâce au T-Shirt qui vous aura été offert.

À vous de jouer !

Contribuer à Ruby en 3 exemples

Contribuer à Ruby et son écosystème est un sujet vaste. Ce n’est pas évident de se lancer dans cette aventure, ni de savoir par où commencer. Je vais vous parler de trois exemples en espérant que cela puisse vous inspirer et susciter des vocations.

Accélérer le temps de chargement de Rails

Xavier Shay est un développeur et il lui arrive de coder des applications Rails avec Ruby 1.9. Et, comme beaucoup d’autres, il peste contre le temps de chargement très long de Rails. Sauf que lui a décidé de ne pas rester les bras croisés et a commencé à chercher pourquoi c’était lent et ce que l’on peut y faire. Sa première étape est d’améliorer require. Il travaille sur un patch, plutôt conséquent, pour le futur Ruby 1.9.3 qui améliore grandement les performances de require. Vous pouvez l’aider en testant son patch (Xavier Shay est tout particulièrement intéressé par des tests sous windows) et en lui fournissant des données sur le temps de chargement d’une de vos application Rails :

# Tout d'abord, une première mesure qui servira de base de comparaison
cd /votre/application/rails
time script/rails runner "puts 1"

# Installer la version patchée de Ruby 1.9.3
rvm get head && rvm reload
curl https://gist.github.com/raw/996418/e2b346fbadeed458506fc69ca213ad96d1d08c3e/require-performance-fix-r31758.patch > /tmp/require-performance-fix.patch
rvm install ruby-head --patch /tmp/require-performance-fix.patch -n patched
# ... vous pouvez en profiter pour prendre une tasse de thé, cela va prendre quelques minutes (environ 8 minutes sur un macbook pro)

# Et il est temps de passer à la nouvelle mesure
cd /votre/application/rails
rvm use ruby-head-patched
gem install bundler --no-rdoc --no-ri
bundle
time script/rails runner "puts 1"

Ensuite, il ne vous reste plus qu’à aller sur son blog et poster un commentaire avec vos mesures. Rien de bien compliqué en somme.

Améliorer les relations entre Rubygems et la communauté

Gregory Brown a remarqué que les relations entre les développeurs de Rubygems et ses utilisateurs étaient parfois tendues, surtout ces derniers temps. Un certain nombre de personnes critiquent les dernières versions de Rubygems (la direction prise, les changements d’API, etc.) sans pour autant créer des entrées dans le bugtracker de Rubygems. Mais quand ils le font, ils se font parfois jeter de manière assez rude par les développeurs de Rubygems.

Gregory Brown est convaincu que Rubygems est indispensable à l’écosystème Ruby et qu’il est important de calmer le jeu pour que Rubygems puisse avancer dans de meilleures conditions, en prenant en compte les retours des utilisateurs. Pour ça, il s’est proposé pour faire un intermédiaire entre la communauté et les développeurs. Il encourage tous les gens qui ont eu des problèmes par le passé avec Rubygems à lui faire part pour qu’il puisse ensuite en discuter avec l’équipe de Rubygems pour en faire un plan d’action et communiquer plus efficacement sur la direction prise par Rubygems.

Donc, si vous avez des attentes vis-à-vis de Rubygems, vous savez ce qu’il vous reste à faire ;-)

Rubinius

Rubinius est une implémentation de Ruby avec 2 caractéristiques qui me semblent intéressantes :

  • un maximum de code de Rubinius est écrit en Ruby ;
  • Evan Phoenix, le créateur de Rubinius, a toujours insisté sur l’importance de la communauté pour l’avancée de Rubinius.

Et quand on combine ces 2 caractéristiques, on voit qu’il est très facile de devenir impliqué dans Rubinius. En plus, un programme visant à récompenser les contributeurs de Rubinius a été mis en place. Au premier commit, vous gagnez un autocollant Rubinius pour afficher fièrement que vous avez participé, ainsi qu’une lettre manuscrite de remerciements. Et au dixième commit, vous pourrez exhiber encore plus votre engagement grâce au T-Shirt qui vous aura été offert.

À vous de jouer !

Candidature de Ruby France pour EuRuKo 2012

EuRuKo est une conférence européenne autour de Ruby, organisée une fois par an. L’édition 2011 va se tenir à Berlin ce week-end.

Ruby France s’est portée candidate pour porter l’événement en 2012 à Strasbourg. Yann Klis a organisé notre candidature et mis en ligne strasbourg-euruko.heroku.com pour la mettre en avant.

Le choix se fera à la fin du week-end à l’applaudimètre. J’espère que les français sur place pourront défendre vaillamment notre proposition. Pour les autres, vous pouvez nous encourager en tweetant avec le hashtag #euruko.

Candidature de Ruby France pour EuRuKo 2012

EuRuKo est une conférence européenne autour de Ruby, organisée une fois par an. L’édition 2011 va se tenir à Berlin ce week-end.

Ruby France s’est portée candidate pour porter l’événement en 2012 à Strasbourg. Yann Klis a organisé notre candidature et mis en ligne strasbourg-euruko.heroku.com pour la mettre en avant.

Le choix se fera à la fin du week-end à l’applaudimètre. J’espère que les français sur place pourront défendre vaillamment notre proposition. Pour les autres, vous pouvez nous encourager en tweetant avec le hashtag #euruko.

Mettre en place de l’autocomplétion sur une commande shell

vf - un remplaçant pour cd

Ruby/GraphViz 1.0.0

Revue mensuelle du 1er mai 2011

Ruby France publie une fois par mois une revue de ses actions et l’activité autour de Ruby en France et dans le monde. Voici la dernière édition :

Communauté

  • Ruby Lugdunum est une conférence Ruby sur 2 jours qui se tiendra à Lyon les 25 et 26 juin.
  • Un apéro Ruby se tiendra à Lilles le 10 mai, organisé par le groupe Ruby Nord.
  • Paris.rb organise également un apéro Ruby, le 3 mai.
  • Vous pouvez nominer vos développeurs favoris pour la prochaine édition des Ruby Hero Awards.

Sélection d’articles

Bientôt Rails 3.1

Cloud Foundry

Gems intéressants

  • MongoMapper et Mongoid ont tous les deux un nouveau site web !
  • Gmaps4rails est un wrapper google maps v3, sous forme d’engine pour Rails 3, pour afficher marqueurs, trajets et formes geometriques facilement.
  • Pow est un serveur applicatif pour OSX avec zéro configuration.

Revue mensuelle du 1er mai 2011

Ruby France publie une fois par mois une revue de ses actions et l’activité autour de Ruby en France et dans le monde. Voici la dernière édition :

Communauté

  • Ruby Lugdunum est une conférence Ruby sur 2 jours qui se tiendra à Lyon les 25 et 26 juin.
  • Un apéro Ruby se tiendra à Lilles le 10 mai, organisé par le groupe Ruby Nord.
  • Paris.rb organise également un apéro Ruby, le 3 mai.
  • Vous pouvez nominer vos développeurs favoris pour la prochaine édition des Ruby Hero Awards.

Sélection d’articles

Bientôt Rails 3.1

Cloud Foundry

Gems intéressants

  • MongoMapper et Mongoid ont tous les deux un nouveau site web !
  • Gmaps4rails est un wrapper google maps v3, sous forme d’engine pour Rails 3, pour afficher marqueurs, trajets et formes geometriques facilement.
  • Pow est un serveur applicatif pour OSX avec zéro configuration.