Compiler Ruby et RubyGems sur Ubuntu 6.06

10/11/2006

Bien qu’il soit possible d’installer Ruby sur Ubuntu 6.06 avec le gestionnaire de paquets, j’ai souhaité voir comment le faire en partant des sources. Si compiler Ruby en soit n’est pas un problème, il y a un petit piège au moment de compiler RubyGems. Mais comme je suis bon et généreux (qui a rigolé ?), je publie la procédure complète.

Lire la suite…

Sam. Informatique ,

Ruby in the sky with diamonds

11/10/2006

Le jeu de piste des liens entres blogs et news m’a amené à prendre connaissance de cet indicateur selon lequel Ruby serait grosso-modo le treizième langage du moment. Je vous laisse découvrir dans l’introduction ce que cette notion signifie.

Logo Ruby

Il est intéressant de constater la progression de Ruby dans ce classement, qui semble avoir multiplié par 3 à 4 son score en un an. A cette époque je n’avais moi-même jamais entendu parler de ce langage.

Nul doute que Rails y soit pour quelque chose, mais pour m’intéresser à Ruby indépendamment de RoR, je peux vous affirmer que ce langage mérite d’être connu et utilisé dans d’autres contextes que du développement web.

Il reste encore une grosse marge de progression, et il faudra du temps pour atteindre le niveau de Python dans ce classement, et plus encore pour concurrencer PHP sur son terrain. Mais le dynamisme de la communauté Ruby en général et les améliorations qu’apporterons les futures versions laissent penser que cela n’a rien d’impossible.

Ruby est un langage objet, dynamique, réputé très lisible (à raison). Ruby est également libre. Si des développeurs expérimentés peuvent réaliser des outils riches et complexes, il est également un langage très adapté à l’apprentissage de la programmation en générale, objet en particulier.

Pour ceux qui souhaitent en savoir plus :

Sam. Informatique

=== et commutativité

11/10/2006

Récemment j’ai perdu pas mal de temps sur une broutille en Ruby. J’étais en train d’écrire un petit programme utilisant la très pratique bibliothèque DBF, et je souhaitais gérer différents cas selon le type des champs. Chaque valeur d’un champs étant une instance d’une classe adaptée, j’ai rapidement pensé à utiliser case/when. Comme je débute, je démarre irb, je teste bêtement l’opérateur === et … ça ne fonctionne pas. Mince alors ! J’ai cherché dans les docs, google, …

Finalement tout est rentré dans l’ordre, je me suis posé la bonne question, mais n’ai pas fait le bon test : l’opérateur === n’est pas commutatif ! D’ailleurs ce n’est pas un opérateur, mais une méthode, pour être précis. Une fois que l’on a compris cela parait si simple, un truc idiot de débutant… (non pas en Ruby, mais en informatique). Mais voilà, ça arrive, surtout pour ceux qui ne sont pas réveillés au moment de se poser les bonnes questions ;)

Concrètement, lorsque ce code est utilisé (note aux blondes : ce n’est pas du basic, les numéros de lignes sont là pour faire joli) :

1	case mon_instance
2 		when String	: puts "chaine"
3		when Date	: puts "date"
4		else puts "autre chose"
5	end

Il faut bien comprendre que ce qui est exécuté est similaire à String===mon_instance , et non l’inverse. Exemple avec irb :

>> a=String.new
=> ""
>> a === String
=> false
>> String === a
=> true

C’est aussi simple que ça. Mais c’est mieux quand on y pense :)

Sam. Informatique

Listes électorales

03/10/2006

Logo-Service-PublicEn 2007, auront lieu les élections présidentielles françaises. Le suffrage est un élement fondamental de notre démocratie. On peut critiquer à volontée les institutions, les partis, hommes et femmes politiques, mais il faut aussi savoir prendre ses responsabilités.

En 2002 nous avons vu que des surprises (très désagréables) peuvent survenir. Le FN au second tour, rares devaient être ceux qui l’avaient envisagé sérieusement. Et pourtant c’est arrivé. Au final il n’y a pas eu de réel choix au second tour pour de très nombreux électeurs.

Alors n’oubliez pas, pour voter en 2007, il faut s’inscrire sur les listes électorables avant la fin de l’année 2006. C’est simple, et totalement indolore (si si). Pour plus d’informations, c’est ici que ça se passe : http://vosdroits.service-public.fr/particuliers/N362.xhtml

Voter c’est agir. Ne pas voter c’est subir.

Sam. Société

Ejabberd sur Ubuntu

25/08/2006

JabberIl ne s’agit pas ici d’une explication destinée à une mise en production, mais plutôt d’un mini HOWTO pour démarrer. C’est une sorte de pense-bête que je retrouverais plus tard car je ne vais pas y consacrer énormément de temps dans l’immédiat. Pense-bête que je partage. Mais faire ce que j’indique ici est à vos risques et périls.

Lire la suite…

Sam. Informatique ,

Fourrure

24/08/2006

Pas la peine de baratiner des heures, le site suivant le faire mieux que moi : Fourrure Torture . Attention, certaines images peuvent choquer. On y trouvera des infos diverses sur le sujet du commerce des fourrures animales (le synthétique ne souffre pas).

Il est à noter qu’une pétition peut y être signée contre le commerce de la fourrure. Encore une … certes. Mais ça prends 2 minutes, et les petites actions valent mieux que l’inaction.

Sam. Général

CMSMadeSimple

18/08/2006

Logo CMSMadeSimpleDepuis quelque temps je surveille les évolutions d’un petit CMS appelé CMSMadeSimple, disponible à l’adresse suivante : http://cmsmadesimple.org/ . Pendant longtemps je n’ai pas voulu y investir beaucoup de temps, trouvant que le produit manquait de maturité, mais le trouvant prometteur, j’y jetais de temps à autre un coup d’oeil.

La version 1.0 est sur le point de sortir, j’ai essayé la beta-4, je commence à étudier de plus près le fonctionnement de la chose. Et je dois dire qu’il s’agit là d’un outil très intéressant. Il tient sa principale promesse : il est simple ! Mais le terme n’est en rien péjoratif, c’est ici une réelle qualité. Il permet de gérer très facilement un site pour une petite entreprise, une association, ou pourquoi pas un site pesonnel.

Alors que certains utilisent des outils de blog pour faire des sites légers ne nécessitant pas un Joomla ou un Drupal, voilà une alternative certainement mieux adaptée dans bien des cas, et plus évolutive.

CMSMadeSimple est extensible, s’il parvient à se faire un place et à intéresser des développeurs sérieux il sera possible d’y adjoindre bien des fonctionnalitées.

Sam. Informatique

Dotclear 2, seconde beta

14/08/2006

J’ai beau avoir switché vers WordPress, je dois avouer que je ne peux m’empêcher de continuer à examiner Dotclear. Non pas que je sois un blogueur acharné, mais je me sers de ces outils dans un autre contexte. J’ai donc forcément essayé les béta-versions de Dotclear 2.

On est bien obligé de constater que le produit a bien évolué. Et j’apprécie énormément la sobriété et la lisibilité de l’interface, qui est à mon sens largement plus pratique et agréable que sur WordPress. Par contre il manque quelques bricoles, à commencer par une gestion de pages statiques. Le but n’étant pas d’en faire un CMS généraliste, mais c’est assez utile pour se présenter, son association, son entreprise, une page de référence pour un logiciel libre que l’on maintient, etc… de même qu’un formulaire de contact basique (que WordPress n’a pas non plus). Bref, le genre de petit truc que beaucoup de monde utilise, mais qu’il faut toujours chercher ailleurs ou faire soit-même.

Je critique un peu, mais c’est bien normal. Après tout, quand on essaye, c’est bien pour se faire une idée. Mais le produit me plaît, et il parait qu’il va encore évoluer… Le geek ou le blogueur pourra tester la chose sur le site de preview de Dotclear 2.

Sam. Informatique ,

Pétition pour ne plus payer des logiciels inutiles

22/07/2006

Avez-vous déjà essayé d’acheter un ordinateur sans système d’exploitation ? Ou alors avec juste le système et aucun autre logiciel inutile ? Oui c’est possible… mais pas toujours. Les grands constructeurs imposent Windows et souvent des logiciels annexes, ces derniers étant bien payés par quelqu’un… vous ! Il ne reste alors qu’un assembleur, solution pas toujours idéale selon ses besoins, ses connaissances, ou la solidité financière du boutiquier informatique. La situation pour acheter un PC portable est encore pire, c’est quasi-impossible !

Alors la prochaine fois que vous acheter un PC, si vous ne voulez pas payer pour ces tas de petits logiciels qui ne servent jamais, une suite bureautique qui n’est démarrée qu’une fois par curiosité puis mise aux oubliette, signez la pétition Non aux racketiciels . Peut-être qu’un jour alors vous aurez le choix. Le choix d’acheter la machine toute nue. Ou uniquement avec Windows. Ou encore avec toutes les options proposées. Mais vous aurez alors payé pour ce que vous souhaitez utiliser réellement, pas pour ce que l’on vous force à acheter.

Une autre pratique qui m’énerve… ce sont les ventes de PC sans CD d’installation (ou plutôt de réinstallation). En cas de problème il faut réinstaller à partir d’une partition spéciale de son disque dur… et si c’est le disque qui grille ? Hum ? Voilà une mesquine économique bien pénible. Et là je n’ai pas de pétition.

Avant de partir… n’oubliez pas signer : Non aux racketiciels

Sam. Informatique

Quel est ce process de #@*%$ qui écoute sur ce port ?

19/07/2006

On bricole, on démarre des processus, ou on installe un soft, et puis… problème, le port machin est occupé. L’application fait la gueule, et on a plus qu’à découper son PC à la tronçonneuse dans un élan de fureur, en buvant de l’orangina rouge.

Une autre option est la commande lsof. C’est tout bête, ça ne mérite pas un post en soi, mais ça dépanne tellement bien ! La commande lsof permet de connaitre tout fichier ouvert, mais au sens large, donc un socket aussi. Avec l’option -i, on a identifie immédiatement le coupable. Exemple :

lsof -i:3000

Les utilisateurs de windows pourront utiliser la commande netstat.

Sam. Informatique