Flux RSS

dimanche 4 février 2007

La banquise déménage !

Ce petit blog change d'adresse, et passe sous Dotclear 2 : http://guiguilinux.glooze.org/

Je tiens à remercier Glooze pour la petite place sur son serveur et Mirno pour m'avoir si longtemps hébergé : Pour l'instant, le reste de la banquise et les billets ne sont pas encore migrés, je suis en train de me demander quoi garder/supprimer (Le wiki est vraiment famélique par exemple, et c'est rien de le dire :-))

vendredi 26 janvier 2007

J'ai installé un Arch...

Je vois déjà jean-mi pâlir :-)

vendredi 5 janvier 2007

Ruby : ça bouge !

Je sais, je n'ai pas fait de billet pour la sortie de Ruby 1.8.5 il y a quatre mois, pas taper "^^ Il est temps que je me rattrape, et que je vous parles des récents changements dans Ruby...

Bonne année !

Avec un peu de retard, bonne année 2007 :-)

Les fêtes sont passées, ça y est, on se remet des excès et au boulot : Les billets reprennent et le travail sur les tutos aussi.

Par contre, il y a de la remise à plat dans l'air pour une partie des projets de l'année écoulée, il faut que je remette un peu d'ordre...

jeudi 14 décembre 2006

Pourquoi j'attends YARV...

La réponse en chiffres

jeudi 30 novembre 2006

Facets, le meilleur ami du Rubyste

La bibliothèque standard fournie avec Ruby est déjà plutôt riche en possibilité : manipulation de XML, YAML, de TCP/IP, gestion des options... Malgré tout, s'il vous manque encore quelque chose, ne cherchez plus : Facets est un ensemble de bibliothèques conçues pour complèter et s'integrer au mieux aux classes Ruby standard, et plus encore...

Vous pourrez ainsi enfin manipuler les couleurs de votre terminal, gerer le telechargement de fichier avec mirroirs et reprise via http ou ftp, ou avoir la fonction round de vos rêves !

L'ensemble est scindé en deux parties : Core, qui concerne les classes existants, et More, tous les bonus :-p Il est très facile de charger juste ce dont vous avez besoin, histoire d'éviter les ajouts inutules : chaque méthode a son fichier, ou presque, si besoin est :-)

A essayer absolument et, qui sait, à adopter : personnellement, j'ai été conquis ^^

Quelques tips Ruby

Dernièrement, j'ai relu "the Ruby Poignant Guide" écrit par Why the lucky stiff (Why pour les intimes). Au détour des chapitres, j'ai (re)découvert quelques tips intéressants. Je vous recommande d'ailleurs de le lire, si vous voulez enfin comprendre la métaprogrammation et les attributs de classes "à la rails" comme "belong_to", "has_many" :-p

Un peu de ménage

Au menu :

  • Un nouveau thème, spécialement conçu pour s'adapter à la taille d'affichage. Elégant, mais pas oppressant non plus, l'idéal...
  • Le billet sur le précédent changement de thème a été mis hors ligne : je suis vite revenu à l'ancien, on ne comprenait plus de quoi je parlais :-)
  • Le billet sur Ruby/C a été mis à jour pour pointer sur la version "officielle" du tutoriel sur Ruby France : ça m'évite d'avoir deux versions à gèrer, et ça vous garantit une version à jour :-p

vendredi 3 novembre 2006

Tutoriel Ruby/C disponible

Attention, très long billet, cliquez vous l'avoir en entier : Il est recommandé d'avoir des notions Ruby et C, étant donné que je ne réexplique pas tout :-)

MAJ : la version officielle est maintenant hébergée sur Ruby France : Introduction aux extensions ruby en C, Un grand merci à jean-mi pour s'être occupé de la migration du billet :-p

mardi 24 octobre 2006

Nous allons vous faire aimer Ruby...

Comme vous le savez sans doute, ces temps-ci j'étudie dbus... J'ai en particulier téléchargé son binding python, pour pouvoir le décortiquer (après tout, python aussi est objet, non ?).

Je suis vite tombé de haut devant ce genre de code (définition d'une structure) :

struct __pyx_vtabstruct_13dbus_bindings_Connection {
PyObject *((*__cinit__)(struct __pyx_obj_13dbus_bindings_Connection *,PyObject *,DBusConnection (*)));
PyObject *((*_set_conn)(struct __pyx_obj_13dbus_bindings_Connection *,DBusConnection (*)));
DBusConnection (*((*_get_conn)(struct __pyx_obj_13dbus_bindings_Connection *)));
};

Des casts en veux-tu en voilà, des pointeurs et les parenthèses qui vont avec... Quand on sait qu'en Ruby/C tout repose sur le type VALUE, qui représente un objet ruby, et qu'on manipule sans le moindre soucis, ça détonne un peu, surtout dans un projet ausis officiel : zéro typedef, ça me laisse un peu perplexe...

Bilan : nous avons les moyens de vous faire aimer Ruby :-)

lundi 16 octobre 2006

DBus4r : ça avance comme ci, comme ça...

Ca fait un peu près un mois que Dbus4r est sur mon TODO, mais le tout n'avance pas aussi vite que je le voudrais... J'en ai profité pour mieux connaître mkmf (le module utilisé dans extconf.rb), j'ai appris quelques petits choses en programmation Ruby/C, mais globalement ça n'avance pas, deux raisons à cela :

  • Le binding Ruby actuel est basée sur une ancienne version de dbus, avec des différences d'API plus que conséquentes : DBUS_BUS_ACTIVATION est devenu DBUS_BUS_STARTER, les types ont changés, de même que les manières de les manipuler...
  • Ce qui nous mène au deuxième probleème : n'ayant encore jamais utilisé dbus dans mes programmes, cela revient à se promener dans les header pour deviner quelle ancienne fonction est devenu quoi, et à quoi elle sert... Même en admettant que je finisse par arriver à quelque chose qui compile (déjà ça j'en doute), ce sera catastrophique à l'utilisation. Pire même, ne l'ayant jamais utilisé, je dois reconnaître que ça se ressent sur la motivation...

Bilan, plutôt que de continuer la programmation en aveugle, je laisses tomber pour l'instant et j'apprends à faire du dbus en C. ca fera un peu de temps perdu, mais j'ai comme l'impression que ce sera très largement rattrapé quand je m'y remettrais : Il faut que je vois ce qu'il en est avec jd :-p

jeudi 28 septembre 2006

Et un coin de banquise dépollué, un !

Comme vous l'aurez peut-être remarqué (moi pas, honte sur moi), ces derniers temps les trackbacks de ce blog sont victimes des robots de spam.

Merci jean-mi pour m'avoir averti : j'ai fait le ménage (vive le plugin mcomments, qui permet d'appliquer une opération sur plusieurs commentaires ou trackback, et m'a fait gagner beaucoup de temps), et j'ai installé spamplemousse, un des meilleurs antispam pour dotclear. Pour l'instant, il semble bien faire son boulot, ayant déjà bloqué quelques nouvelles tentatives avec succès :-)

je ne penses pas avoir besoin de détailler mon point de vue envers les gens qui écrivent ces bots, pourissant boites email, blogs et même wikis avec des messages tout à fait inutile (vous avez déjà pris en compte l'annonce d'un spam, vous?)... Disons juste qu'il vaudrait mieux qu'aucun d'eux ne me tombe sous la main.

Bonnes tribulations sur une banquise de nouveau dépolluée, donc :-)

mercredi 20 septembre 2006

Dbus4r, ça y est me voilà réenrôlé :-)

Depuis début septembre et mon départ de Nasgaïa, j'étais "programmeur sans attache fixe".

J'en ai profité pour me recentrer sur mon activité activité de rubyste, et ça n'a pas loupé : jean-mi m'a déjà demandé 3 docs (il doit avoir peur que je m'ennuie ^^).

J'ai également eu vent de dbus-ruby, le binding ruby actuel de dbus, qui pose de nombreux problèmes :

  • Le projet ne bouge plus depuis début 2005, et ne compile plus avec les versions de dbus actuelles (dbus est en développement, son API en tendance à bouger avec le temps).
  • Il mélange joyeusement dbus et glib, librairies souvent utilisées en conjonction mais qui n'en sont pas pour autant inter-dépendantes :-) (Par pitié, si vous avez toujours en tête que Glib = Gtk, et que c'est ça qui pose problème, achetez le dernier linuxmag, vous verrez que c'est un peu comme dire Gtk = Gimp :-)).
  • La syntaxe Ruby n'est pas toujours mise à profit : l'usage des blocs est sporadique, en particulier, ce qui donne des en-têtes des fonctions surchargés sans qu'il y en ait utilité.

L'idée serait de le remettre au gou du jour, et nous sommes quelques uns de #rubyfr à être motivés : permettra d'écrire des programmes sympa reposant sur dbus, et d'affiner notre connaissance de Ruby/C :-p

Pour l'instant, une page à été crée sur RubyFR, et un dépot svn est prévu. Des nouvelles bientôt, donc :-)

mardi 12 septembre 2006

Linuxmag : le nouvel article Ruby est sorti

Ca y est, le deuxième article de la série "Programmation système avec Ruby" viens de sortir dans le numéro de septembre :-)

Au programme, la manipulation des threads, de fork, des verrous (sémaphores, mutex) et de la synchronisation. Comme le premier, cette article brille par son objectivité (Ruby a parfois des manques, et l'auteur ne le cache pas) et par son côté didactique : attention cependant, quelques notions sont vivement recommandées sur UNIX, sous peine de trouver l'article un peu dur à passer :-p

Je vous le conseille donc, comme d'habitude, surtout si vous avez toujours voulu remplacer C par Ruby dans vos programmes :-)

jeudi 7 septembre 2006

Ruby 1.8.5 est de sortie, ça y est

Avec honte, horreur et consternation, me me rends compte que j'ai oublié de parler de la sortie de Ruby 1.8.5 sur ce blog :-) (non, jean-mi, pas la râpe !)

Oubli que je répares de suite : comme vous l'aurez sans doute compris, la version finale de ruby 1.8.5 est maintenant sortie depuis quelques semaines, avec son lot en nouveautées : une synthèse des changements effectués

J'en profite pour parler aussi du nouveau design pour le site officiel Ruby, qui devrait être mis en ligne incessamment sous peu : preview