Category Archives: Geek - Page 2

Un peu d'amusement avec FreeBSD

L’article est un peu technique, et me sert de référence pour des utilisations futures. Forcément, pour le non informaticien, ça va être du chinois…

Le problème

Bon, Linux, ça va plutôt bien, mais FreeBSD, j’ai encore un peu de boulot pour être à l’aise avec… Un petit exemple. J’ai à installer un FreeBSD avec une baie de disques. Le petit hic que je rencontre, est que les disque ont un nommage dynamique. Dans un sens, c’est bien, mais dans l’autre, c’est moins bien… En effet, sur ma machine, il y a un contrôleur SCSI en interne et un contrôleur Fiber Channel (FC-AL) en externe. J’ai 14 disques dans ma baie, et un dans le slot interne de la machine. Jusqu’ici tout va bien….

Je démarre ma machine, et j’ai le nommage suivant:

  • Disque interne: /dev/da0
  • Disque 1 baie: /dev/da1
  • Disque 2 baie: /dev/da2
  • Disque 14 baie: /dev/da14

J’ai de la place dans un slot interne de la machine, alors j’ajoute un disque dans la machine (pas dans la baie). Le nommage devient (après reboot):

  • Disque interne: /dev/da0
  • Disque interne ajouté: /dev/da1
  • Disque 1 baie: /dev/da2
  • Disque 2 baie: /dev/da3
  • Disque 14 baie: /dev/da15

Aïe aïe aïe, tout est décalé. Alors si j’ai mis mes points de montages en dur dans le fichier fstab, je risque d’avoir quelques soucis

La solution

Elle reste encore assez simple. On va utiliser les labels sur les disques. Le disque 1 de la baie, je souhaite le monter dans /export/disk1. Je vais donc mettre un label sur le système de fichier du disque, label qui s’appellera « disk1″:

tunefs -L disk1 /dev/da1s1

Je devrais alors avoir maintenant une entrée /dev/ufs/disk1. Si ce n’est pas le cas, on va activer ça lors du boot de la machine. Pour celà, on va ajouter la ligne suivante dans le fichier /boot/loader.conf

geom_label_load="YES"

et on redémarre.

Cette fois, on devrait avoir une entrée /dev/ufs/disk1. Dans mon fichier fstab, il suffit que je fasse référence à /dev/ufs/disk1 au lieu de /dev/da1. Et quelquesoit l’endroit où se trouve mon disque, il sera bien monté dans /export/disk1…

Passage à Ubuntu Edgy, essais de Beryl/Emerald

Ben voilà une news qui ne va pas intéresser du tout les gens qui n’utilisent pas GNU/Linux !!

En effet, je viens de mettre à jour mon ordinateur portable vers la dernière version de Ubuntu, la dénommée Edgy. J’ai effectué la mise à jour le jour de la sortie en utilisant les miroirs de free, car les miroirs officiels étaient un peu surchargés !

La mise à jour s’est très bien passé, et j’ai pu continuer à travailler sur les projets sur lesquels j’étais sans soucis. Cette semaine, la présence d’un jour férié en plein milieu m’a motivé pour faire quelques petits changements et quelques essais de configuration. ?tant intéressé par le bureau 3D, j’ai donc installé beryl et emerald. Et là avalanche de problèmes, et j’ai pu avoir droit à un gros bug de la distribution…

Mon ordinateur (un IBM T41) étant équipé d’une carte vidéo de type ATI (une FireGL9000), j’ai d’abord essayé d’utiliser les drivers spécifiques ATI (les fglrx) avec Xgl. Je redémarre, et je suis sous mon bureau gnome habituel. Tout content, je lance Beryl (beryl-xgl) et le bureau démarre sous beryl. J’arrive à faire tourner le cube, tout semble parfait. Sauf que dès que j’essaie de déplacer une fenêtre, le bureau crashe lamentablement, et je me retrouve devant l’écran de connexion. Après quelques recherches sur divers forums, blogs et sites, il semble que ma carte puisse fonctionner avec AIGLX, ce qui permet d’une part d’utiliser le pilote libre pour ma carte vidéo, et d’autre part de ne pas avoir de serveur spécifique à lancer, comme avec Xgl.

Là, second problème. J’ai beau faire tout ce qu’il faut, je n’arrive pas à avoir glx en dri… Le serveur X active bien les extensions, mais le glxinfo me retourne toujours un  » direct rendering: No ». Après de bonnes recherches, j’ai fini par désinstaller tout ce qui concerne le driver propriétaire fglrx. Puis par réinstaller les bibliothèques libGL: »sudo apt-get install –reinstall libglu1-mesa libglew1 libgl1-mesa-dri libgl1-mesa-glx ». Et là, je redémarre le serveur X et miracle, j’ai bien le direct rendering.

Je peux donc démarrer beryl en mode AIGLX. Aïe, problème, j’ai seulement les deux tiers de mon écran sur lequel je peux voir le bureau. Je pense donc que la mémoire de ma carte vidéo n’est pas suffisante pour marcher en 24 bits avec beryl sur du 1400×1050… Je change donc le paramètre pour passer en mode 16 bits. Et là tout marche parfaitement.

Enfin, jusqu’à ce que j’ai l’idée saugrenue de lancer firefox. Et dès que j’arrive sur une page contenant du flash, paf, firefox meurt. Je réessaie sans beryl, et là, pareil, firefox crashe dès que j’arrive sur une page contenant du flash. Si je me remet en 24 bits, tout va bien. La solution est moins évidente cette fois. Il faut en effet éditer le fichier « /etc/firefox/firefoxrc » et ajouter la ligne « export XLIB_SKIP_ARGB_VISUALS=1″. Et là, ça fonctionne enfin. Et ça, c’est un bug dans Edgy, pas dans Beryl !

Malgré tout ça, j’ai maintenant un beau bureau sous Beryl et Emerald. Alors si plein de fonctions de Beryl sont plutôt visuelles sans vrai apports, il y en a quand même un certain nombre particulièrement intéressantes, comme la visualisation de toutes les applications ouvertes ensembles sur le bureau, et j’en passe.

Travail et jeux

J’ai pu voir cet été la vidéo d’une conférence de Luis Bon Ahn, intitulée Human Computation. Il est parti du principe que les gens s’amusent beaucoup avec des jeux parfois assez simples, comme le solitaire par exemple. Alors, pourquoi ne pas utiliser le fait que les gens jouent à ces jeux pour effectuer des tâches que l’humain peut faire mais que l’ordinateur ne sait pas faire ?

Dans son exemple, il cherche à caractériser des images. Si on fait une recherche de « chien » dans google image par exemple, on va trouver des images qui sont à proximité du mot chien dans des pages web, mais il est fort possible que l’image ne soit pas un chien. L’ordinateur ne sait pas distinguer un chien dans une image. Il se base uniquement sur le fait que c’est une image et qu’elle est à proximité du mot (ou s’intitule) chien. Il propose alors de faire un jeu permettant aux gens de s’amuser et de donner un mot caractérisant une image. Ce jeu a été programmé, et se joue en ligne, à deux. Les deux personnes voient une image, et doivent taper des mots correspondants à l’image. Dès que les deux personnes trouvent un mot en commun, elles marquent un point. Si les deux personnes écrivent le mot chien on peut raisonnablement penser que l’image contient un chien. Et si un grand nombre de personnes trouvent aussi ce mot, celà valide d’autant plus la pertinence du mot chien.

Ce qui est étonnant est que ce jeu présent en ligne est un gros succès. On constate que, même pour un jeu aussi simple, certains joueurs y passent littéralement leur journée. Et le résultat est intéressant puisqu’il permet d’effectuer une tâche impossible à réaliser sans l’apport humain.

Je n’ai pas retrouvé le lien de la conférence que j’ai suivie (elle m’a été donnée téléchargée), mais j’ai vu que l’auteur l’avait également donnée chez les gens de chez Google (attention, c’est en anglais):

D’ailleurs, on peut voir que depuis quelques jours, Google propose lui aussi un jeu pour identifier des images : http://images.google.com/imagelabeler/

Il n'a de libre que le nom.

Peut-être avez vous entendu parlé de l’article de Mr Jean Dominique Giuliani intitulé Il n’a de libre que le nom et qui a notamment été publié par Libération. Je vous invite à le lire, si ce n’est pas déjà fait. En effet, il contient des éléments assez caractéristiques et que je rencontre régulièrement chez des gens qui ne connaissent pas ou mal le logiciel libre.

Mr Giuliani fait en effet l’amalgame dangereux entre gratuité et liberté. En effet, il part du principe qu’un logiciel libre est gratuit, et parce qu’il peut être redistribué gratuitement, il a été réalisé également gratuitement. Le problème est que son approche ne correspond pas à l’industrie du logiciel libre que l’on rencontre sur le terrain. Si on prend des exemples comme le noyau Linux, souvent montré en exemple, on se rend vite compte que les principaux développeurs du logiciel sont tous salariés pour travailler sur ce projet (par des sociétés comme RedHat, IBM, Novell, ARM ou d’autres). Un logiciel comme MySQL est également développé par une entreprise commerciale, qui salarie ses développeurs pour travailler sur le projet. Et on peut continuer comme ça pour d’autres grands projets, comme le système de fichiers ReiserFS, ou la suite OpenOffice.org.

La liberté du logiciel libre ne repose pas sur la gratuité, sinon on parlerait de logiciels gratuits et non pas de logiciels libres. Et les anglo-saxons ne préciseraient pas « free as in free beer » (free comme dans bière gratuite) ou « free as in free speech » (free comme dans liberté de parole) si justement l’amalgame n’était pas problématique. Il faut dire qu’ils utilisent le même mot pour gratuité et liberté, ce qui ne simplifie pas leur compréhension… La gratuité du logiciel libre présenté par Mr Giuliani n’est qu’une confusion née de la méconnaissance qu’il a du sujet.

De plus, non content de confondre logiciel libre et logiciel gratuit, on retrouve également une confusion avec les freeware. Dans le logiciel libre, l’auteur du logiciel en reste propriétaire, et la protection intellectuelle associée à son logiciel est la même que s’il avait édité un logiciel propriétaire. Il a juste choisi, dans un cas de ne pas donner accès au code source de son logiciel, et dans l’autre cas, a autorisé un accès au code source du logiciel à des fins d’amélioration, d’éducation de personnalisation etc. Mais il reste l’auteur du logiciel, et en fait ce qu’il veut.

Pour ce qui est de l’affrontement des sociétés de services face aux éditeurs de logiciels propriétaires, on constate en effet aujourd’hui une mise en opposition du service face au logiciel. Ceci pose un problème de taille. En effet, celà laisse supposer que les logiciels propriétaires ne nécessitent pas de services pour fonctionner, et que de faire appel à un éditeur de logiciels propriétaires pour acquérir la licence nécessaire à ce logiciel permet de planifier et de maîtriser le temps et l’amortissement de ces logiciels. On peut rêver, mais ce n’est pas réaliste. Les personnes offrant du service sur des logiciels propriétaires comme Oracle, SAP ou même Microsoft dont le but est que le logiciel se suffise à lui même, ne manquent pourtant pas de travail. De ce coté là, le logiciel libre n’est pas fondamentalement différent. Il a besoin de service pour être configuré, adapté, intégré à l’existant. Comme les autres. Ni plus, ni moins.

Pour résumer le tout, on peut dire que le logiciel libre n’a rien de gratuit, et n’a pas été présenté comme tel par toutes les personnes connaissant un minimum le logiciel libre. Que l’accès au code source, ne viole pas la propriété qu’en a l’auteur du logiciel. Et enfin, que le logiciel libre n’est pas le seul à avoir besoin de service pour être adapté à l’environnement et à l’utilisation qui doit en être faite, c’est le cas de tous les autres logiciels. Quant à parler du prix, si l’exemple du ministère des finances est donné dans l’article, il doit bien faire sourire les acteurs informatiques français. Un projet de 39 milions d’euros, sur trois années (cas du projet copernic du ministère des finances) n’en fait pas, et de très très loin, les logiciels les plus chers de l’histoire… Il suffit de comparer ça aux 78 milions d’euros dépensés simplement en licences logicielles (sans le service) dépensées pour la seule année 2002 par le ministère des finances (source).

Google, backstage

Il y a quelques mois, le 20 octobre pour être précis, Jeff Dean, ingénieur chez Google, a donné une conférence à l’université de Washington sur l’infrastructure utilisée par google, ainsi qu’un certain nombre de problématiques et d’approche pour les résoudre. La conférence est disponible en vidéo, donc forcément en Anglais. On peut la trouver sur le site de la Washington University. La conférence a quand même une durée d’une heure, donc prévoyez assez de temps.

Les informations présentées sont assez variées. Mais ce qui est le plus impressionnant dans cette présentation, est les quelques statistiques que l’on peut tirer du traitement du Web par Google. Par exemple, en comptant qu’il y a environ 4 000 000 000 (4 milliards de page, d’une taille moyenne de 10 ko, ça nous fait quand même une quantité d’informations de l’ordre 40 000 Go à traiter (soit environ 40 Péta octets…).
De même, on savait que Google utilisait une multitude de petites machines pour traiter ces informations. Il a donc fallu développer un système de fichiers permettant de travailler avec ces machines pour stocker autant de données. C’est le GFS, Google Filesystem. On en entend épisodiquement parler, et on a là un rapide descriptif de leur approche d’un système de fichiers distribué tolérant aux pannes. Car forcément, à utiliser des milliers de machines dans un cluster, il faut compter des pannes quotidiennes, qui ne doivent pas empêcher le bon fonctionnement du moteur.

Et puis, dans le genre de statistiques surprenante, une simple recherche sur la page de Google nous donne le résultat en faisant travailler pas loin d’un millier de serveurs pour la requête !

? l’origine, j’ai trouvé le lien de la conférence sur le site de WebRankInfo