Petites brèves à propos de Ruby et Rails

Posté par (page perso) . Édité par Benoît Sibaud. Modéré par baud123.
14
13
mai
2010
Ruby
JRuby 1.5 JRuby est une implémentation complète de Ruby au-dessus de la machine virtuelle Java. JRuby est entièrement compatible avec Ruby 1.8.7 et en grande partie avec Ruby 1.9, offre des performances significativement meilleures que la branche 1.8 de Ruby et comparable à celles de la branche 1.9, et vous permet de faire fonctionner les principaux programmes Ruby comme Ruby on Rails, rubygems ou encore rspec. La version 1.5 de JRuby n'apporte aucun changement vraiment révolutionnaire, mais un important travail de consolidation a été fait : meilleure compatibilité avec la version officielle de Ruby, meilleures performances, meilleur support aussi bien pour Unix que pour Windows, prise en charge d'Ant, etc. Si vous souhaitez essayer JRuby 1.5, l'installation se fait très simplement, mais je vous recommande d'utiliser Ruby Version Manager qui permet d'avoir plusieurs implémentations de Ruby sur sa machine sans problème.

Teambox est un outil de gestion de projets dont le fonctionnement s'inspire de Twitter : la page principale d'un projet se présente sous la forme d'une timeline avec les dernières mises à jour sur laquelle on peut mettre à jour son statut. Vous retrouverez également toutes les fonctionnalités classiques d'un outil de gestion de projets : partage de fichiers, liste de tâches, discussions, notifications par email, gestion des utilisateurs et permissions, etc. D'un point de vue plus technique, Teambox est une application Ruby on Rails, sous licence AGPL. Le code est disponible sur github et les contributions sont les bienvenues.

Posez vos questions Ruby Ruby France a mis en place un espace où vous pouvez poser vos questions sur Ruby et Rails, en français. Fréquenté par de nombreux rubyistes confirmés, vous ne devriez pas avoir de mal à trouver une réponse. Le site tourne avec Shapado, une application web de questions/réponses sous licence AGPL. Shapado est écrit en Ruby on Rails et fonctionne avec une base de données MongoDB.

Petit tour des outils de visualisation libres

Posté par (page perso) . Modéré par Nÿco.
Tags :
30
10
mai
2010
Audiovisuel
Les outils libres de visualisation d'informations ou de données existent, mais ne sont pas forcément très connus. Je souhaite, via cette dépêche, les mettre en avant et j'espère que les lecteurs de LinuxFr.org sauront les utiliser pour créer de jolies représentations de données pertinentes.

Je me suis donc attaché à présenter dix outils :
  • Graphviz
  • Large Graph Layout
  • Circos
  • IOGraph
  • Code Swarm
  • Gource
  • Gephi
  • Processing
  • Processing.js
  • Nodebox 2

À ce sujet, je vous recommande chaudement la lecture de l'article de LWN.net sur la visualisation des projets et communautés Open Source.

Pas Sage en Seine 2010

Posté par (page perso) . Modéré par baud123.
Tags :
7
5
mai
2010
Communauté
Pas Sage en Seine, ce sont des gens pas sages du tout qui rendent visibles, intelligibles et pédagogiques les activités numériques undergrounds ou tout simplement libres. Ils donnent rendez-vous à tous les musiciens, plasticiens, électroniciens, programmeurs, hackers et hacktivistes pour parler de plein de sujets intéressants : Free Culture, Art Libre, sécurité, électronique, activisme, partage des connaissances, détournement d’utilisation d’objets ou de concepts dans le but d’innover, de rendre accessible et d’ouvrir de nouvelles portes.

L'édition 2010 se tiendra du 14 au 16 mai 2010 dans le Passage des Panoramas, à Paris dans le 2e arrondissement, avec notamment la Cantine transformée en co-hacking space pour l'occasion.

Le programme des sessions :

Annonce de la sortie de Riak 0.10

Posté par (page perso) . Modéré par patrick_g.
Tags :
18
3
mai
2010
Base de données
Dans la grande famille des bases de données NoSQL, je vous ai déjà présenté Cassandra, MongoDB, Redis et FlockDB. Laissez-moi vous présenter un nouveau membre de cette famille : Riak.

Riak est une base de données distribuée de type clé-valeur, sous licence Apache 2. Basho, la société derrière Riak, s'est inspirée de Dynamo d'Amazon pour nous offrir un stockage qui scale facilement. En particulier, sa grande force repose sur son modèle distribué où toutes les machines jouent un rôle équivalent, ce qui apporte à la fois une grande résistance aux erreurs et la capacité d'ajouter ou retirer facilement des machines à la volée.

Dans la seconde partie de la dépêche, je vais présenter plus en détails Riak, puis vous parler des nouveautés de la version 0.10 sortie récemment. J'aborderai également bitcask, un moteur de stockage clé-valeur local, qui peut être utilisé pour le stockage par noeud de Riak. Je finirais par une note très rapide à propos de ripple, le client en Ruby pour Riak.

TIP, Jemalloc 1.0, Chrome sans http:// et autres

Posté par (page perso) . Modéré par Xavier Teyssier.
19
21
avr.
2010
Internet
Cisco va libérer TIP
Cisco a racheté Tandberg, et pour obtenir l'accord de la commission européenne, a dû faire quelques concessions. L'une d'elles est très intéressante : Cisco s'est engagé à libérer le protocole Telepresence Interoperability Protocol (TIP) au 1er juillet. Il sera déposé sur un compte sourceforge et placé sous licence Apache 2.0.

Jemalloc 1.0
Jemalloc est une implémentation alternative de malloc(3), sous licence BSD. Elle est utilisée par des projets comme FreeBSD, NetBSD ou Firefox pour ses performances : elle permet généralement de consommer moins de mémoire que la version de la glibc en gérant mieux la fragmentation dans le temps (voir par exemple ce retour d'expérience pour blender). La version 1.0, annoncée récemment, vient confirmer la stabilité de cette bibliothèque.

Chrome sans http://
Les développeurs de chez Google ont décidés de ne plus afficher http:// dans la barre d'adresse de Chrome. Le protocole reste visible quand ce n'est pas HTTP et le copier-coller de la barre d'adresse contient toujours http://. Cela n'en reste pas moins un changement déroutant, et le bug #41467 a déjà suscité 160 commentaires.

Autres trucs sympas
  • ShakaCSS est un bookmarklet sympa pour débugger ses CSS, sous licence MIT.
  • Connaissez-vous le site Bonjour April ? Chaque jour, une photo en rapport avec l'April est publiée.
  • Akihabara est un ensemble de bibliothèques et outils pour faire des jeux en HTML5 et javascript dans le style pixelisé des consoles 8-16bits.

Réunion Admodérolecteurs

Posté par (page perso) . Modéré par patrick_g.
Tags : aucun
19
20
avr.
2010
LinuxFr.org
Les relecteurs, modérateurs et administrateurs de LinuxFr.org se sont retrouvés la semaine dernière pour discuter du site. Floxy nous a accueilli chez lui, et nous n'étions pas moins de 11 présents : neox, TheNastyBoy, baud123, Floxy, mouns, Nÿco, patrick_g, pol tuiu, Xate, Oumph et NoNo.

Nous avons abordé un certain nombre de sujets :
  • Floxy a fait imprimer de jolis autocollants des logos du site dont un bon nombre est encore disponible. Ils seront distribués lors des prochains salons du libre ;
  • NoNo travaille sur la future version Ruby on Rails du site. Les AMR ont pu avoir un aperçu de ce à quoi ça va ressembler et tester certaines fonctions. Vous aurez plus de détails à ce sujet dans les semaines à venir ;-) ;
  • Nous allons peut-être accueillir un ou deux nouveaux relecteurs dans l'équipe afin d'apporter un peu de dynamisme. Une discussion animée a eu lieu sur le choix des noms ;
  • Pour encourager les contributions, nous avons discuté de la mise en place d'un éventuel concours. Si vous connaissez des sociétés prêtes à sponsoriser le concours, n'hésitez pas à prendre contact ;
  • Nous étions présents à Solutions GNU/Linux, et avons donc rapidement devisé à ce sujet afin d'évaluer ce qu'il est possible d'améliorer pour la prochaine édition ;
  • Un vote serré a été tenu sur la motion "japonais ou pizzeria ?". Le vote a été suivi d'un tour de table confus sur "pizzas simples ou pizzas doubles ?".


Merci à Patrick_g et pterjan pour les photos. Merci à Floxy pour l'hébergement.

La fondation Apache sort Cassandra 0.6

Posté par (page perso) . Édité par Benoît Sibaud. Modéré par Florent Zara.
Tags :
20
16
avr.
2010
Base de données
Le NoSQL est un mouvement qui vise à offrir des bases de données dont les caractéristiques sont différentes des bases de données relationnelles, afin de laisser aux développeurs le choix. Par exemple, une de ces caractéristiques est la "mise à l'échelle" (scalability) : certains très gros sites Internet ont besoin de gérer des bases de données conséquentes et dont la taille ne cesse de croître, sans pour autant voir leurs coûts de fonctionnement exploser. Cassandra vient justement répondre à ce besoin.

Cassandra est un stockage structuré de clés-valeurs, distribué, acceptant facilement la montée en charge et résistant aux pannes. Initialement développé par Facebook, le projet a été libéré sous licence Apache 2.0 et placé dans les mains de la fondation Apache. Il a depuis connu un succès grandissant : en plus de facebook, twitter, digg, reddit et bien d'autres ont annoncé qu'ils utilisent Cassandra.

Cassandra bénéficie de beaucoup d'activités : la version 0.6 est sortie il y a quelques jours et apporte des fonctionnalités très intéressantes (plus de détails dans la seconde partie de la dépêche). Cassandra participera aussi au Google summer of code sous le chapeau de la fondation Apache.

IronRuby 1.0, le futur de Java, Gizzard et Flockdb, rachat de RabbitMQ par SpringSource

Posté par (page perso) . Modéré par Florent Zara.
7
14
avr.
2010
Ruby
IronRuby 1.0
Trois ans après l'annonce initiale, IronRuby est fier d'annoncer sa version 1.0. Microsoft propose ainsi une implémentation alternative de Ruby qui tourne au-dessus de .NET. La version 1.0 d'IronRuby est compatible avec Ruby 1.8.6 (pas complètement : le langage est très bien respecté, mais pas quelques parties de la bibliothèque standard). Il permet notamment de faire tourner Ruby on Rails 2.3.5.

La prochaine étape est de s'attaquer à la compatibilité de Ruby 1.9 et de permettre de faire fonctionner Rails 3, comme annoncé dans l'interview de RubyInside.

Le futur de Java
Oracle a racheté Sun, et on peut se poser la question de savoir quelle direction Oracle souhaite-il donner à Sun. Le départ de James Gosling laisse à penser que Java n'est pas un enjeu prioritaire pour Oracle, mais en l'absence de communication officielle, il est difficile d'en savoir plus. Rappelons que Java 1.7 devrait sortir en septembre, sauf problème majeur.

Le compte github de twitter
Twitter a publié sur son compte github deux projets intéressants (tous les deux sous licence Apache 2.0) :
  • Gizzard est un framework pour faire de la répartition de données (sharding) entre plusieurs stockages. Écrit en scala, ce framework sert à développer des middlewares qui se placent entre vos applications et les bases de données pour assurer la distribution des données et garantir une certaine tolérance aux erreurs.
  • Flockdb est une base de données de type graphes. Twitter s'en sert pour stocker son graphe social (13 milliards d'arcs tout de même) et est en train d'en faire un projet libre à part entière. Un client Ruby est disponible pour communiquer avec la base de données.
Rachat de RabbitMQ par SpringSource
SpringSource, une filiale de VMWare, a racheté Rabbit Technologies Ltd., la société derrière RabbitMQ. RabbitMQ est une solution complète et fiable d'échange de messages entre systèmes hétérogènes, sous licence Mozilla. Elle implémente le standard AMQP (standard décrié par ses créateurs).

Ça bouge dans les navigateurs web

Posté par (page perso) . Modéré par patrick_g.
Tags :
23
11
avr.
2010
Internet
La compétition entre les principaux navigateurs web encourage leurs équipes à toujours plus d'innovation. Cette dépêche ne va effleurer que quelques unes des avancées des navigateurs, mais pas des moindres :
Je vous invite à lire la seconde partie de la dépêche pour avoir plus de détails.

Journal Faut-il supprimer la tribune ? (suite)

Posté par (page perso) .
12
9
avr.
2010
Comme vous n'avez pas manqué de le remarquer, mon précédent journal était un gros troll (vendredi, c'est permis). Il n'y a pas de projet de suppression de la tribune, et mon argumentation avec stats à l'appui était pour le moins vaseuse.

Alors pourquoi avoir fait ce journal ?

1. Pour me défouler (moi aussi, j'aime bien troller de temps en temps).

2. Pour provoquer des commentaires sur un sujet qui me tient à cœur : comment faire vivre le site (...)

Un combat de clients de microblogging

Posté par (page perso) . Modéré par Christophe Guilloux.
Tags : aucun
8
8
avr.
2010
Internet
À ma gauche, gwibber est un client de microblogging de longue date, mais dont la nouvelle branche apporte de sérieuses évolutions. À ma droite, pino est un tout nouveau client de microblogging, dont les versions s'enchaînent à un rythme impressionnant. Lequel des deux peut prétendre au titre de meilleur client GTK sous GNU/Linux ?

Gwibber est un client bien établi, écrit en Python et sous licence GPL V2. Dans le cadre de la sortie prochaine d'Ubuntu Lucid, Gwibber a bénéficié d'un travail de fond, car Mark Shuttleworth souhaitait soigner l'aspect social d'Ubuntu. Ainsi, l'interface donne maintenant une meilleure impression, avec notamment la possibilité d'avoir plusieurs colonnes. On notera aussi que le programme a été découpé en deux : un gwibber-service qui tourne en tâche de fond, et gwibber un client plus léger et rapide à lancer.

Pino est par contre tout jeune : la première version publique, la 0.1.0, date du 28 décembre 2009. Écrit en vala, et sous licence LGPL V3, il n'en possède pas moins des atouts. Il partage en grand nombre de fonctionnalités avec gwibber, mais va aussi plus loin sur certains points. Par exemple, il colore d'une façon différente les messages qui n'ont pas encore été lus, ce qui s'avère très pratique à l'usage.

Au final, je dirais qu'il n'y a pas vraiment de gagnant. Les deux clients me semblent bien plus aboutis que pas mal d'autres alternatives, mais je ne saurais les départager : match nul. Gwibber semble un poil plus complet et robuste, mais graphiquement, je préfère pino. Je vais donc continuer à utiliser les deux pendant encore quelques temps avant de me décider.

Nouvelle version de LinuxFr.org

Posté par (page perso) . Modéré par Bruno Michel.
42
1
avr.
2010
Humour
Le site LinuxFr.org existe depuis maintenant plus de 11 ans. Nous souhaitions lui redonner un coup de jeune. Pour cela, nous avons mis en place un programme s'inspirant de références novatrices et innovantes parmi les réseaux sociaux. Cela a abouti à la mise en ligne aujourd'hui d'une nouvelle version avec :
  • Une nouvelle feuille de style plus moderne
  • La géolocalisation en temps réel des utilisateurs
  • Connexion via Facebook Connect (bouton à gauche, sous le logo)
  • Et beaucoup d'autres choses que nous vous laissons découvrir.


J'espère que vous saurez apprécier cette nouvelle version à sa juste valeur, et n'hésitez pas à nous dire quelles sont les nouvelles fonctionnalités que vous appréciez.

NdM : la version en RoR de DLFP avance bien, que ceux motivés se dénoncent ;-)

Le point sur les avancées de Google Go

Posté par (page perso) . Modéré par Xavier Teyssier.
19
29
mar.
2010
Golang
Le langage Go (sous une licence de type BSD) est issu d'une discussion entre Ken Thompson (un des auteurs d'Unix et d'UTF8) et Rob Pike (un des auteurs de Plan9 et d'UTF8). Rob Pike a pu monter une équipe chez Google pour travailler dessus, et en novembre 2009, une première version a été dévoilée au reste du monde.

Depuis, le développement continue d'avancer à un bon rythme. Des versions sont publiées tous les 10 à 15 jours.

Dernièrement, une proposition pour un mécanisme similaire aux exceptions a été discuté sur la liste de diffusion. C'est un exemple très révélateur de la manière d'avancer de l'équipe en charge de Go : ils ne se précipitent pas pour ajouter des fonctionnalités présentes dans d'autres langages parce qu'elles sont très demandées. Ils prennent le temps de réfléchir à chaque problème, et quand ils ont trouvé une piste qui semble pouvoir répondre à leurs exigences, ils publient une proposition sur la liste de diffusion. Il s'en suit des discussions qui permettent de raffiner la proposition et, sauf surprise, la proposition est intégrée dans la version suivante.

Côté communication, l'essentiel se passe sur le canal IRC #go-nuts sur freenode et sur la liste de diffusion Go-nuts. Un wiki a récemment été mis en place pour regrouper des informations sur l'écosystème de Go. Quelques jours plus tard, un blog officiel a suivi. Enfin, un dashboard permet de voir l'état des compilations sur les différentes architectures supportées.

Globalement, les personnes qui ont essayé Go semblent convaincues que ce langage est promis à un grand avenir.

Codez avec classe grâce à Sinatra

Posté par (page perso) . Modéré par tuiu pol.
Tags :
16
29
mar.
2010
Ruby
Sinatra est un micro-framework en Ruby pour construire rapidement des applications web (licence MIT).

Il se présente sous la forme d'un Domain Specific Language, avec un jeu assez réduit de fonctionnalités et laissant beaucoup de libertés aux développeurs d'applications. En cela, il est très complémentaire de Ruby on Rails, car il sera très efficace pour les petites applications web, les prototypes, les API Rest, les webhooks, ou fournir une interface web à une application Ruby existante.

Le développement de Sinatra a commencé en novembre 2007, et une nouvelle étape a été marquée le 23 mars dernier avec la sortie de la version 1.0. Sinatra est utilisé dans de nombreuses applications Ruby, mais son succès ne se limite pas à Ruby. Il existe des clones plus ou moins fidèles dans de nombreux langages : Sammy (Javascript), Dancer (Perl), Fitzgerald (PHP), Martin (.net), Itty (Python), Step (Scala), Express (node.js) et beaucoup d'autres.

D'un point de vue plus technique, Sinatra s'installe très simplement avec Rubygems, d'un simple coup de gem install sinatra. Et écrire un Hello world n'est pas plus compliqué :
require 'rubygems' require 'sinatra' get '/' do 'Hello LinuxFr !' end