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 mme 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 termines et je dois dire que ce fut un bon cru !

J’ai t prsent 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 reu rgulirement des visites. La confrence sur Ruby on Rails de Guillaume Desrat le vendredi a bien sr aid. Alexis, notre trsorier, a russi la performance d’obtenir moindre cot 4 superbes affiches en moins de 2 jours, grand merci lui. De plus le hors srie LinuxMag sur Ruby est sorti la veille, nous avons donc pu le prsenter sur le stand.

On a galement eu le plaisir d’enrler de nouveaux adhrents !

  • Firefox

Tristan Nitot a prsent la fameuse version 3 et celle-ci semble vraiment allchante. Elle supportera entre autre la bibliothque graphique multiplateforme cairo et , outre une net amlioration du rendu, permet l’export d’une page en PDF et l’utilisation du GPU de la carte graphique. Diminution de la consommation mmoire 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 entirement XPCOM, les bindings ne semblant pas une priorit. Paul Rouget nous a cependant signal qu’un moteur de script est envisag pour une version trs lointaine du moteur Gecko rebaptis Mozilla, rien n’est perdu :)

Enfin, Places, le nouveau gestionnaire de bookmark vers un systme 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’avre vite indispensable de pouvoir synchroniser ses bookmarks, ses onglets ouverts, ses mots de passes stocks, ses prfrences, etc.
Le problme est que delicious a t rachet par Yahoo et Google sync, c’est du Google :) Donc QUID de la prnit des donnes 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 dj pour un grand nombre de personnes.

Ceci m’a fait penser qu’il serait intressant que la MoFo propose ce type de services fortement lis au navigateur ; elle est sans doute la plus mme 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 anne de l’organisation monstrueuse. Sans eux les JDLL n’existeraient pas … Un point d’honneur Sbastien Gel, membre de RubyFrance, qui s’occupait des stands associatifs et toujours prsent pour savoir si tout allait bien.
Grande premire pour Antoine Gallavardin le nouveau prsident de l’ALDIL qui s’en est trs bien sorti. Merci Lois Taulelle, Stphane Sales, la famille Chaumat, Chacha ! (un ex collgue 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 sicle : “Duke Nukem for ‘n’Ever” !

Bien jou Aurelie pour ces 10 ans de Slashdot ;) Super ces deux soires.

  • Tuxdroid

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

  • Synthse 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 synthse digne de ce nom (festival?).
  • Plugins dans l’interface desktop permettant d’ajouter des fonctionnalits
  • Rveil, horloge, mto, lecture des emails, on peut le faire parler et bouger sur chaque vnement.
  • Tlcommande permettant de commander l’interface du droid ou les logiciels du desktop
  • Micro pour faire de la VoIP travers lui
  • et srement 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.