le vendredi 31 mars

À propos du CPE

J'ai entendu hier une bien étrange rumeur à propos du CPE : il semblerait que certaines entreprises en tête du CAC 40 fassent pression sur le gouvernement pour la mise en place du CPE. Jusque là, pas de nouveauté. Mais il semblerait que les pressions se concrétisent par un odieux chantage : refus de payer les impôts, et expatriation des comptes à l'étranger.

Vraiment des méthodes de voyou.

le samedi 25 mars

Démocratie ?

M. Chirac se plait à rappeler que nous somme dans un État de droit, une démocratie. Il insiste sur démocratie. Mais si ce concept lui est si cher, pourquoi ne modifie-t-il pas la constitution pour autoriser le referendum ? Je suis sur qu'une large majorité de français voterais pour cette modifications qui serait elle même instituée par referendum.

DRM et copie privée

On parle beaucoup de mesures techniques de protections et de gestion de droits numériques. Il est vrai que c'est un sujet assez sensible, ou l'argent rencontre les plus intimes convictions, et où des débats acharnés et beaucoup de mauvaise foie sont présents. Jusqu'à plus ou moins maintenant, je pensais qu'il était peut-être un peu exagéré de penser que si des sites de vente de musique en ligne vendaient des morceaux sans mesure de protection particulière, le partage de fichier parrallèle diminuerait. Je pensait plutot que c'était deux marchés différents qui s'adressaient à deux types de consommateurs différents[1].

Et puis aujourd'hui j'ai lu un article, qui n'a rien à voir avec le problème, parlant de Steve Ballmer (le big boss de microsoft qui a un titre honorifique dont je ne comprent pas le sens), et de sa capacité à répéter encore et toujours les mêmes fadaises. Et là, référence à un film. Un film que j'ai déjà vu deux fois et que je trouve génial, voir culte. Un peu à la manière du Rocky Horror Picture Show. Ce film, c'est Groundhog Day. Sur le coup, je n'ai pas réalisé. Ça a du faire tilte quelques secondes plut tard quand j'ai compris qu'il parlait du mythique Jour de la Marmotte. Pour résumer, la tradition nord américaine veut que lorsque la marmotte sort de son terrier à la fin de l'hiver, elle indique par son comportement la suite du temps pour le reste de la saison. Un journaliste couvre l'évenement dans un bled paumé des États-Unis. Le principe du film est basé sur le fait que cette journée, au deumeurant insipide, se répète un nombre incalculable de fois, et que seul notre héros en est conscient. J'adore le concept ! Trop fort.

Bref, ça nous éloigne du sujet, mais ça m'a donné envie de revoir le film. Je me suis donc tourné vers mon mldonkey favoris qui ne me refuse pas grand chose. Et je me suis dit, attend, ce truc à la con est peut-être en vente... Direction, fnac.com, amazon.fr et google. Et déception : on me propose Le jour le plus long au lieu du jour de la marmotte... Sur Google, ça s'améliore, et là, je découvre qu'au Québec existe bien un jour de la marmotte, mais qu'en europe... on parle d'un jour sans fin. Confirmation sur mldonkey qui me trouve un Le-Jour-De-La-Marmotte Un-Jour-Sans-Fin Fr 1993 Harold-Ramis Bill-Murray.avi. Retour sur fnac.com, et hop, il me trouve mon film au prix exceptionnel de 10 € ! Bon, finalement, j'ai cliquoté pour le recevoir chez moi "entre 4 et 8 jours".

La morale de l'histoire, c'est que j'ai agit contre le raisonnement que je pensait être juste : ce dvd que je vais recevoir, je le recevrais en même temps que si j'avais lancé le téléchargement. Et j'aurais un confort suplémentaire. Je doute que je ne puisse le lire sur mon linux vu que pour le moment, tous les films ont été lus. C'est ce qu'on appelle l'interopérabilité. Maintenant, que se serait-il passé si cette interopérabilité n'était pas légale ? Et bien, j'aurais téléchargé le film sur le net. Le calcul est simple : il est moins cher de télécharger illégalement une oeuvre (38 €, ou au pire 150) que de contourner une protection (750 €).

Voila, la démonstration est faite.

Notes

[1] J'utilise certains mots clés pour que mes amis commerciaux comprènent ce que je raconte.

le vendredi 24 mars

M|A|R|R|S - Pump up the volume

J'ai enfin trouvé le morceau que je cherchais !!! Après 19 ans ! Comme quoi, il ne faut pas désespérer.

Pochette de M/A/R/R/S - Pump up the volume

le mardi 21 mars

Zope & Plone en passant par CMF

Deja commençons par un point vocabulaire :

  • Zope : Serveur d'application web en python
  • CMF : Content Management Framwork, c'est à dire une base de travail pour les systèmes de gestion de contenu
  • Plone : et bien, c'est un système de gestion de contenu :-)

Bon, on peut y aller :

En ce moment, je suis en train de réaliser un composant pour Plone qui affiche la météo dans une colonne sous la forme d'un(e ?) portlet. En plus, le code qui récupère la météo est déjà écrit. J'avais donc l'impression que c'était trivial... Et bien j'avais tort !

Le plus dur dans l'histoire, ce n'est pas la réalisation graphique, ni le système de template de zope. Le plus dur, c'est d'integrer un produit[1] à Plone. D'une part, c'est pas franchement simple (c'est pas juste un appel à registerPloneProduct()) et surtout, surtout, c'est mal documenté. Pour citer les propos de qqn qui m'aide : "http://plone.org/documentation mais la documentation y est assez aride".

Bref, je me bat avec une API qui n'est pas non plus documentée, et je code un peu par mimétisme : "tiens, lui, il fait ça, et lui ça, je vais faire pareil", et hop, ça marchouille... Bon, ce ne sont pas des conditions optimales, mais comme dit ailleurs "le ticket d'entrée n'est pas gratuit". J'espère qu'il y aura un retour sur investissement.

Notes

[1] Chaque ajout dans Zope et Plone s'apelle un produit

GTA le retour

Si je ne poste pas ici, c'est la faute à RockStar.

Putain bordel, je suis accroc ! Et bien en plus ! Voila qui ne me facilite pas mon agenda...

le mercredi 8 mars

Grand Theft Auto San Andreas

Cela fait longtemps que je lorgnais sur ce titre. J'avais déjà joué à GTA 3 pendant de nombreuses heures (une véritable dépendance, d'ailleurs, un des jeux sur lequel j'ai le plus acroché), je m'étais dis que jouerais bien aux titres suivant (Vice-City et San Adreas). Mais linux est arrivé, et avec lui point de GTA.

Depuis (enfin, cela fait quelques années maintenant), j'ai réinstallé un windows qui me sert de plateforme de jeu (ok, ya firefox aussi mais strictement rien d'autre). J'ai donc fait l'investissement hier de 30 € pour San Andreas. Je m'étais dis que tout se passerais bien, comme quand on achete un jeu pour console. On installe et 5 minutes après, je me retrouverais dans les rues de Los Santos à écraser du poulet (ou me faire écraser par du poulet, c'est selon)[1]. Et bien non ! Déjà, il a fallu faire de la place sur le disque : réduire le fichier de swap de 1,5 Go à 500 Mo, ensuite, désactiver l'index des fichiers (non, je n'ai pas l'intention de faire une recherche de fichier sur une console de jeu), supprimer les 100 copies de secours des fichiers importants de windows (il en restait encore 20, pas de panique !), et supprimer quelques vidéos de roller coaster tycoon qui prenait inutilement de la place.

Ensuite, installer le jeu : au moins une demi-heure à ne rien faire... Faut dire qu'avec un ancien lecteur de DVD qui ne supporte pas le DMA, ce n'est pas gagné... Et apres, 2 heures de reboot intempestif au lancement du jeu. C'était à n'y rien comprendre. J'ai trafiqué les branchements, la ram, la carte video (la fois précédente, ça plantait parce que la carte s'était désengagée du slot AGP...). Au final, c'était les pilotes de la carte graphiques qui n'étaient pas à jour. Et oui, ce n'est pas parce qu'on installe les derniers pilotes sous linux que ceux sous windows se mettent à jour... Enfin, je remarque tout de même que sous linux, qunad ça marche pas, c'est juste X qui ne se lance pas, alors que sous windows, quand ça ne marche pas, c'est l'ordinateur qui redémarre sans crier gare... Je ne jette la pierre à personne, mais au niveau ergonomique, bah c'est pas encore ça sous windows...

Une fois dans le jeu, c'est que du bonheur : ce jeu est completement amoral. On est libre de quasiment tout faire, et le principe de faucher les gens pour se faire de l'argent m'amuse toujours autant. Il ne faut pas oublier que c'est une fiction, et c'est justement ce qu'on demande à une fiction : s'éloigner de la réalité. Et les dialogues sont d'une vulgarité sans nom (mais assez proche de certaines réalités, en fait).

Sinon, un truc que je viens de remarquer, c'est que les musiques, et problement tout l'audio du jeu, est encodé en Vorbis (Ogg pour le son) ! D'ailleurs, il est explicitement dit dans le readme que le format des "pistes utilisateurs" du poste de radio doit être en Vorbis. Néammoins, tous les codecs Windows sont accessibles et permettent également de lire des MP3. ça sent les gens qui n'ont pas envie de payer des royalties à Thomson :-)

Bon, allez, j'y retourne !

Notes

[1] À noter que les missions ne sont pas spécialement conçues dans cette optique, la police jouant plus un rôle de régulateur, d'arbitre, que celui de partie prenante. On est entre méchant, les gentils sont à part.

Informatique et couches

Dans le monde de l'informatique, et plus spécifiquement du génie logiciel, il est de coutume de raisonner en terme de couche, c'est à dire de truc qu'on en empilerait les uns sur les autres de façon à avoir une structure, certe complexe, mais facile à comprendre et à maintenir.

L'exemple le plus formalisé est l'exemple de la pile en réseau. Chaque notion en réseau est encapsulée dans une couche (le matériel, la communication point à point, la notion de réseau et d'adressage, la notion de transmission de données, et leur format). On a donc, si on suit la documentation de l'osi, 7 couches répondant à des besoins spécifiques.

Cette notion de couche permet l'idée qu'une couche peut être remplacée par une autre de manière plus ou moins transparente. C'est ce qui se passe dans le cas des réseaux, où un protocole peut en remplacer un autre sans que le système ne soit à repenser. Par exemple, sans qu'il n'y ai rien à faire, ATM est arrivé chez nous via les modems ADSL qui se connectent le plus souvent en PPPoa, point-to-point[1] over ATM.

Cela dit, dans d'autres domaines, comme la façon de programmer la machine, cette formalisation n'est pas aussi claire... On parle bien de langage de haut niveau et de bas niveau, mais ce qui est placé dans ces deux familles n'est pas identique suivant les personnes, et même les contextes. Exemple typique, le langage de programmation C est considéré comme un langage de haut niveau pour certain, et par un langage de bas niveau pour d'autres. Autre exemple, il est d'avis généralisé que Python est un langage de haut niveau. Mais dans le cadre du serveur d'application de Zope, et vis à vis de DTML, on peut très clairement classer python, le langage sous-jacent, comme un langage de bas niveau...

Comme on le voit, on classe les langages comme étant de haut niveau ou de bas niveau par rapport à d'autres langages, sans autre formalisation. Le problème est que beaucoup de monde parle de langages de haut niveau sans même préciser de quel niveau il s'agit. Certains vont même jusqu'à parler de langages de très haut niveau, ou de xième génération, confondant une chronologie avec un ordre dans la chaine de traduction. En effet, chaque langage a besoin d'une couche inférieur pour fonctionner, jusqu'à arriver au matériel, où ce qu'on appelle le langage machine correspond en fait à des interrupteurs judicieusement choisis pour animer l'unité arithmétique et logique d'un circuit électronique.

On pourrait objecter que n'importe quel langage pourrait se traduire directement en langage machine. Mais dans les faits, ça ne se fait pas. Pour prendre un parrallèle, c'est comme si tous les programmes communiquant en réseau devait générer le signal eux même et envoyer les informations de ce signal au DSP [2]. Dans les faits, il y a pleins de mécanismes qui font le travail pour eux. De la même façon, mis à part les assembleurs qui sont des programmes assez spécifiques, aucun programme ne génère du langage machine directement.

De cet état de fait, on peut donc monter une hiérarchie pour établir un classement de langage. Par exemple, un classement comme :

  • opcodes internes AMD en binaire < langage d'assemblage x86 < langage C < Python < HTML < ZPT[3]

Une instance[4] de cette hiérarchie se représenterait donc par un empilement de langages qui s'appuieraient les uns sur les autres pour exécuter ce qui a été programmé. De là, on pourrait généraliser cet empilement, en y attribuant des rôles spécifiques à chaque couche. Bien sur, ça reste à définir, et je ne pense pas avoir les connaissances ni l'expérience pour mener à bien cette reflexion correctement.

Une objection que je vois à ce modèle serait le cas des machines virtuelles, qui se basent sur des langages de plus haut niveau pour émuler des couches de plus bas niveau. Exemple avec Java (que je situe entre le C et le python, si on classe les langages) les opcodes de la jvm se situeraient aux alentours du langage d'assemblage, et la jvm en elle même se situerait au niveau du circuit électronique, alors que la jvm de Sun par exemple, est probablement écrite en C, qui est lui même situé au dessus du langage d'assemblage. Cela dit, même le modèle réseau OSI souffre de contre exemple du même type : on peut tres facilement trouver des implémentations fonctionnelles de TCP au dessus de HTTP[5], sachant que c'est en pratique HTTP qui se situe au dessus de TCP (fonctionnement normal).

Notes

[1] Protocole de connexion point à point permettant l'identification, l'authentification ainsi que la transmission de paramètre de connexion de plus haut niveau (IP, passerelle, dns, par exemple)

[2] Digital Signal Processor

[3] Zope page template

[4] Je trouve l'article assez incomplet pour le moment

[5] Il s'agit évidemment d'une bidouille, et non pas d'un usage courant, mais c'est possible, ça se fait, et ça fonctionne.

le jeudi 2 mars

Les départements et territoires d'outre mer

Malgré les intemperies ncpeiennes et dadvsiennes, je me penche parfois sur d'autres sujets. Et un sujet de fond qui me préoccupe depuis quelques temps est le désinterêt total dont fait preuve le "blob" français pour ses DOM-TOM. À quoique, non, on parle de la Réunion à cause du chikungunya[1].

Désinterêt total, en effet. Qui peut me dire ce qui se passe actuellement là bas ? Des choses très simples, par exemple, quel temps il fait, quelle est la situation économique, sociale... Voir même, tout simplement, où c'est ? Et puis de quoi on parle d'ailleurs ? Un jour, sur France Inter, on a eu magnanimement le droit d'avoir la météo locale... Une fois. Et puis, depuis, plus rien. Et à la télé, n'en parlons même pas. De toute façon, ces pouilleux ont RFO. C'est dire le mépris ambiant qui existe pour des territoires que l'on pourrait considérer comme colonnisés... Bref, de quoi parlons nous ?

En ce qui concerne les départements, nous avons :

  • la Guadeloupe (971) : un archipel de 6 îles dont la principale, la Guadeloupe, rassemble l'essentiel des personnes sur place. Environ 1700 km² pour 500 000 habitants. Situé dans la mer des Antilles, à l'est de Cuba et du Mexique. 5 % de la population francilienne ;
  • la Martinique (972) : une île de 1128 km². Environ 400 000 habitants. Située dans la mer des Antilles, à l'est de Cuba et du Mexique. 4 % de la population francilienne ;
  • la Guyanne (française)[2] (973) : un département de 87 000 km² et 158 000 habitants (Moins que Bordeaux) entre le Suriname (à l'est) et le Brésil (au sud). 1,5 % de la population francilienne ;
  • la Réunion (974) : une île de 2512 km². Envion 800 000 habitants (environ Marseille). Située à l'est de Madagascar et du sud du continent africain. 8 % de la population francilienne.

Jusqu'ici, on connait à peu-prêt.

Et maintenant, les collectivités territoriales :

  • Saint Pierre et Miquelon (975) : un archipel de deux îles (l'île Saint-Pierre et les deux presqu'îles Langlade et Miquelon). Environ 250 km² pour 6000 habitants (une petite ville de banlieue). Situé à l'est du Canada (au sud de Terre-Neuve). < 0,1 % de la population francilienne ;
  • les Terres australes et antarctiques françaises (984) : un archipel ainsi que la terre Adélie. 8 000 km², pas d'habitant permanent. Situé au sud de la Terre, dans l'océen Indien et la zone Antarctique. Un status administratif spécial ;
  • Mayotte (985) : deux îles (Grande et Petite terres) de 370 km², 160 000 habitants. Situé entre l'Afrique et le nord de Madagascar. 1,6 % de la population francilienne ;
  • les îles Wallis et Futuna (986) : deux archipels (Îles de Home à l'ouest, où se trouve Futuna et Îles Wallis à l'est). 274 km² pour 15 000 habitants. Situés au nord est de l'Australie, dans l'océan Pacifique. 0,2 % de la population francilienne ;
  • la Polynésie française (987) : un ensemble d'îles et d'archipels. 4000 km² pour 253 000 habitants. Situés à l'est de l'Australie, en plein milieu du sud de l'océan Pacifique. 3 % de la population francilienne.
  • la Nouvelle Calédonie (988) : un archipel comportant une île principale et quelques autres îles. 230 000 habitants pour 19 000 km². Situé au nord de la Nouvelle Zélande et à l'est de l'Australie. 2 % de la population francilienne.

Voila, je vous invite à aller regarder les articles équivalents chez Wikipédia si ce minimum n'est pas suffisent pour vous :-) Et moi, je commence de ce pas à militer pour la météo des DOM-TOM à la télé :-) Après tout, on a bien Moscou et Alger une ou plusieurs fois par semaine.

Notes

[1] Notez au passage le même discours du gouvernement que celui tenu face à la grande canicule de 2004. Mais cette fois ci, ce ne sont pas de riches retraités metropolitains blancs qui meurent, donc c'est moins grave.

[2] De toute façon, il n'y en a qu'une maintenant.

le mercredi 1 mars

Intempéries

Il neige, et j'ai la flemme d'aller reconfigurer le script de couleurs du blog... Bon allez, petite correction des dates...

Bon, il est vraiment pas clair ce script non plus...