new york

Hop ! Juste un petit coucou depuis l’Apple plaza de New York. Pas facile de poster avec un iPod touch ;)

Bienvenue au nouveau Logo de Ruby

Il y a un mois, un concours avait été organisé pour renouveler le Logo de Ruby. Le résultat est sorti aujourd'hui et voici donc le nouveau logo pour le langage Ruby.

Vous pouvez donc remplacer cet ancien logo :

ancien logo du langage ruby

Pour utiliser désormais celui-ci :

nouveau logo du langage ruby

Bienvenue à toi nouveau Logo.

L'annonce officiel de ce nouveau logo a été fait sur la Mailling list ruby par Matz en personne.

Installer MySql pour Ruby on Rails sous Léopard

La nouvelle version du Système d'exploitation d'Apple (Mac OS X 10.5 Leopard) possède Ruby on Rails pré-installé. On a : Ruby 1.8.6, Rails 1.2.3, Capistrano, SQLite-bindings, mais pas de bindings pour MySql.

Pour les installer il suffit de taper cette ligne de commande dans le terminal

sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

Have Fun

Mise à jour de PAM dans Gentoo

Le serveur qui héberge ce blog et mes sites tournent sous la distribution Gentoo. Le choix de cette distribution est un débat que je veux éviter.

Le 24 Octobre PAM a changé de version en stable. Comme l'indique le changelog :

24 Oct 2007; Dawid Węgliński  pam-0.99.8.1-r1.ebuild:
Stable on x86 for bug #196409

Par contre cette mise à jour entraîne certain problème avec les paquets dépendants de PAM et plus précisément ceux qui utilise le USE=pam.

Un revdep-rebuild ne détectant pas cette mise à jour je vous conseille la manipulation suivante (que j'ai fait sur ce serveur).

  1. Dans le make.conf mettre -pam comme use
  2. Faire un emerge de tous les paquets avec cet USE : emerge -auvDN world
  3. Une fois l'emerge fini, remettre pam dans le USE du make.conf
  4. Relancer l'emerge de tous les paquets avec cet USE : emerge -auvDN world

Après cette procédure, vous avez remis à plat tous les paquets dépendant de PAM.

Printemps, été, automne, hiver…et printemps

Vu sur Arte il y a quelques semaines et Hymne à la vie au même titre que Adam’s Apples.

Il est temps d’agrandir ma collection de DVD.

coz “don’t become a ghost without no colour”

Snippet Bucket sur votre bureau

Snippet Bucket sur votre bureau

JDLL.2007

Et voilà les JDLL se sont terminées et je dois dire que ce fut un bon cru !

J’ai été présent sur le stand RubyFrance, et c’est autrement plus excitant de faire parti des acteurs que d’être un simple visiteur.

  • RubyFrance

A ma grande surprise notre stand a reçu régulièrement des visites. La conférence sur Ruby on Rails de Guillaume Desrat le vendredi a bien sûr aidé. Alexis, notre trésorier, a réussi la performance d’obtenir à moindre coût 4 superbes affiches en moins de 2 jours, grand merci à lui. De plus le hors série LinuxMag sur Ruby est sorti la veille, nous avons donc pu le présenter sur le stand.

On a également eu le plaisir d’enrôler de nouveaux adhérents !

  • Firefox

Tristan Nitot a présenté la fameuse version 3 et celle-ci semble vraiment alléchante. Elle supportera entre autre la bibliothèque graphique multiplateforme cairo et , outre une net amélioration du rendu, permet l’export d’une page en PDF et l’utilisation du GPU de la carte graphique. Diminution de la consommation mémoire en limitant l’étendu de XPCOM trop gourmand, si j’ai bien compris.

A noter que j’ai regretté le fait que l’on doive utiliser le C++ pour exploiter entièrement XPCOM, les bindings ne semblant pas une priorité. Paul Rouget nous a cependant signalé qu’un moteur de script est envisagé pour une version très lointaine du moteur Gecko rebaptisé Mozilla, rien n’est perdu :)

Enfin, Places, le nouveau gestionnaire de bookmark vers un système de tag à la delicious, en local. A ce sujet j’utilise quotidiennement l’extension pour Firefox ainsi que celle de synchronisation, Google sync. Quand on utilise Firefox au travail et chez soi, il s’avère vite indispensable de pouvoir synchroniser ses bookmarks, ses onglets ouverts, ses mots de passes stockés, ses préférences, etc.
Le problème est que delicious a été racheté par Yahoo et Google sync, c’est du Google :) Donc QUID de la pérénité des données et surtout de la confidentialité ? Pour l’instant j’ignore ces questions en ne regardant que l’aspect pratique, mais à moyen/long terme cette question va être critique, elle l’est d’ailleurs déjà pour un grand nombre de personnes.

Ceci m’a fait penser qu’il serait intéressant que la MoFo propose ce type de services fortement liés au navigateur ; elle est sans doute la plus à même de le faire tout en obtenant la confiance des utilisateurs de Firefox.

Encore une preuve de l’interaction, et non le remplacement, toujours plus forte entre le desktop et le web, et le navigateur web n’y échappe pas. GNOME l’a d’ailleurs bien compris en initiant le projet online desktop.

  • ALDIL

Grand merci à l’équipe de courageux qui s’occupent chaque année de l’organisation monstrueuse. Sans eux les JDLL n’existeraient pas … Un point d’honneur à Sébastien Gelé, membre de RubyFrance, qui s’occupait des stands associatifs et toujours présent pour savoir si tout allait bien.
Grande première pour Antoine Gallavardin le nouveau président de l’ALDIL qui s’en est très bien sorti. Merci à Lois Taulelle, Stéphane Sales, la famille Chaumat, Chacha ! (un ex collègue de travail en 1999, le monde est petit…), tous ceux qui ont tenu le buffet, l’accueil et j’en oubli …

Le soir au resto on a eu la surprise de recevoir les DVD du vaporware du siècle : “Duke Nukem for ‘n’Ever” !

Bien joué Aurelie pour ces 10 ans de Slashdot ;) Super ces deux soirées.

  • Tuxdroid

Il y avait un stand de la société Kysoh qui vend le tuxdroid. C’est un peu comme le lapin sauf qu’il fonctionne sur une plateforme entièrement libre ! Le code embarqué, le framework, le binding python, l’interface graphique GTK+, tout est GPL. Perso j’ai acheté :) (79?)
En vrac les fonctionnalités :

  • Synthèse vocal lui permettant de lire un texte en plusieurs langues. C’est malheureusement la seule partie non libre car il n’existe pas en libre de synthèse digne de ce nom (festival?).
  • Plugins dans l’interface desktop permettant d’ajouter des fonctionnalités
  • Réveil, horloge, météo, lecture des emails, on peut le faire parler et bouger sur chaque évènement.
  • Télécommande permettant de commander l’interface du droid ou les logiciels du desktop
  • Micro pour faire de la VoIP à travers lui
  • et sûrement d’autres choses, je n’ai pas eu le temps de tout tester.

Le Libre c’est du code mais avant tout une fantastique communauté vivante, une grande famille.

Les photos

Upload de fichier avec Bivouac

Pour ceux qui me l’ont demandé, voici comment faire un upload de fichier avec bivouac :

$ ruby script/generate controller test
        create /Users/greg/temp/upload/app/controllers/test.rb
        create /Users/greg/temp/upload/app/views/test.rb
        create /Users/greg/temp/upload/test/test_test.rb

app/controllers/test.rb :

module Upload::Controllers
  class Test < R ‘/test’
    def get
      render :test
    end
    def post
      filename = input.file.filename
      content = input.file.tempfile.read
      save = File.expand_path( File.join( File.dirname( __FILE__ ), ‘..’, ‘..’, ‘public’, filename ) )
      open( save, "w" ) do |f|
        f.puts content
      end
      render :test
    end
  end
end

app/views/test.rb :

module Upload::Views
  def test
    form :action => R( Test ), :method => ‘post’, :enctype => ‘multipart/form-data’ do
      p do
        input :name => "file", :id => "file", :type => ‘file’
        input :type => "submit", :value => "Upload"
      end
    end
  end
end

Bivouac 0.1.0 et will_paginate 1.0.0

Je viens de mettre à disposition la version 0.1.0 de Bivouac. J’ai également mis en téléchargement la version 1.0.0 du plugin will_paginate pour Bivouac.

Le plugin will_paginate est une adaptation de la version de PJ Hyett et Mislav Marohnić pour Rails pour laquelle j’ai simplement modifié le module WillPaginate::ViewHelpers de façon à le faire fonctionner avec Markaby.

Pour installer will_paginate, créez une application bivouac et extrayez le contenu de l’archive will_paginate-1.0.0.tgz dans le répertoire plugins de votre application. Pour l’utilisation du plugin, reportez-vous à la documentation originale.