Arthur Accroc a écrit 2042 commentaires

  • # Autre piste

    Posté par  . En réponse au message de ISO-8859-1 en UTF-8 en pelr. Évalué à 3.

    use Encode;

    while (<IN>) {
        print OUT encode('utf8', decode('latin1', $_));
    }


    Voir man Encode ou perldoc Encode pour plus de précisions.
    Encode::Guess pourrait aussi t'intéresser.
    Tout cela est distribué avec Perl en standard.

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # CD : bon débarras !

    Posté par  . En réponse à la dépêche Revue de Presse - Décembre 2005. Évalué à 10.

    L'abandon du CD fait parti des modifications nécessaires.

    Ça n'est pas moi qui le regretterai.
    Je ne pense pas que GLMF était un magazine qu'on achetait pour le CD...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Destructeurs

    Posté par  . En réponse à la dépêche Ruby on rails 1.0 est sorti. Évalué à 4.

    Désolé, pas d'idée la dessus.

    J'en avais eu une : créer une classe de base dont le constructeur crée un finaliseur appelant une méthode considérée comme le destructeur, méthode à redéfinir sur les classes dérivées.
    Seulement d'une part, le moment et l'ordre de la destruction des objets ne pourrait être garanti. Au passage, pour moi, ça démontre clairement que la gestion de la mémoire par un garbage collector est une erreur : un choix d'implémentation qui t'empêche d'implémenter un concept du paradigme, c'est un très mauvais choix.
    D'autre part, les finaliseurs sont appelés après la destruction des objets !!!
    Là, je ne vois pas ce qui obligeait à une telle aberration...
    D'un point de vue plus général, comment quelqu'un qui a fait un langage aussi génial par ailleurs a-t-il pu autant saloper la question des destructeurs ? Ruby, ça me fait penser à une Ferrari avec une roue carrée !

    As tu tant besoin des destructeurs que ça ?

    Que répondre ?
    Tu pourras me démontrer que je peux m'en passer, tout comme les avocats des langages qui ne supportent pas l'héritage multiple ont démontré qu'on pouvait s'en passer.
    Seulement il y a une démonstration scientifique comme quoi on peut tout programmer avec juste une machine de Turing et il est empiriquement évident qu'on peut tout faire en assembleur. Ça ne me donnera pas envie pour autant de faire mes programmes avec une machine de Turing ou en assembleur...
    Pour citer Matz :
    Above all, you can't enjoy programming with much stress.
    Là, je suis parfaitement d'accord avec lui,
    Ruby's true motto is "Enjoy programming".
    mais moi, je ne peux pas "enjoy programming" avec la complication de devoir contourner l'absence de destructeurs avec des méthodes plus lourdes ou plus moches.

    Le système de bloc répond à une partie des problématiques (exemple l'implémentation de File.open(...) { .... } qui automatise la cloture du fichier)

    Oui, mais cela ne se fait pas au même niveau : cela doit être fait au niveau de l'utilisation de la classe et pas seulement au niveau de sa définition comme les destructeurs.
    Si tu programmes ta classe, que tu commences à l'utiliser un peu partout, et qu'à ce moment-là, tu te rends compte qu'il faudrait que tu fasses un traitement après l'utilisation des objets, eh bien avec les blocs, tu es cuit, il faut que tu modifies toutes les utilisations de ta classe !

    Les finaliseurs de ruby ont certes une syntaxe dérangeantes mais permettent de faire le travail dans ces cas simples et clairement identifiables.

    D'un autre côté, si c'est pour avoir au bout du compte un programme moche, je n'ai pas d'intérêt à passer à Ruby, je reste à Perl. Au moins avec Perl, c'est la syntaxe du langage qui est moche, pas la conception de tes programmes (ou alors c'est entièrement ta faute, le langage ne t'impose pas une conception sale).
    Au niveau des concepts de programmation, Perl m'a permis de continuer à faire tout ce que je faisais avant avec d'autres langages. J'attends encore de trouver un langage qui me permette de faire tout ce que je fais maintenant avec Perl...
    Cela dit, je m'inquiète un peu pour Perl 6, qui devrait utiliser un garbage collector plutôt qu'un compteur de références. Si, comme je le crains, ça implique la destruction des destructeurs, je me rabattrai sur Python, même s'il est par ailleurs trop rigide à mon goût.

    Quels sont les besoins que tu as vis à vis des destructeurs et qui ne sont pas recoupés ?

    Je ne sais même plus. Quand j'avais découvert Ruby, je m'étais jeté dessus (un truc (qui m'apparaissait) aussi puissant que Perl, mais en joli !) en commençant à programmer avec le premier truc pas trop gros (mais pas trop petit non plus, quelques centaines de lignes, quoi) dont j'ai pu avoir l'utilité.
    Arrivé à un moment, je me dis "Tiens, il faut que je fasse un traitement à la destruction des objets de telle classe", mais, m'apprêtant à ajouter un destructeur, j'ai un curieux trou de mémoire sur la syntaxe des destructeurs... et là, je dois faire des recherches un peu poussées... pour finalement découvrir la merde de chat sous le tapis.
    Conclusion, j'ai fini mon programme en ajoutant une méthode et en l'appelant explicitement partout où c'était nécessaire, j'ai ensuite passé du temps à essayer de programmer des destructeurs en Ruby, et puis quand j'ai vu que ce n'était pas possible, j'ai abandonné la programmation en Ruby.

    Parmi les langages informatiques, Ruby est ma plus grande déception.

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Tant que tu y es...

    Posté par  . En réponse à la dépêche Ruby on rails 1.0 est sorti. Évalué à 2.

    Pour exemple le langage ne gère pas les classes abstraites. Il m'a fallu quelques heures et une centaines de lignes pour rajouter ça, alors que j'ai encore assez peu d'expérience dans ruby.

    Si jamais en quelques heures de plus tu ajoutais de (vrais) destructeurs, je me remettrais probablement à Ruby...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # To Perl or not to Perl

    Posté par  . En réponse au message Motif multi-lignes avec 'sed'. Évalué à 2.

    Si ce n'est que je lance un process Perl pour chaque traitement.

    Alors pourquoi pas plutôt faire un script unique, plus conséquent, qui fasse tous les traitements ?

    Je connais très bien Perl, mais je me force justement à éviter de l'utiliser quand il existe d'autres solutions beaucoup plus légère, éviter d'utiliser un bulldozer pour écraser une mouche.

    Pour ma part, à l'inverse, c'est mon temps que j'essaie d'économiser plus que celui de la machine.
    Aussi, je pars directement sur Perl. Comme ça, quand je m'aperçois qu'il est souhaitable de faire un traitement plus compliqué que prévu et que l'outil qui m'aurait semblé suffisant au départ ne l'est plus, eh bien je ne perds pas de temps à convertir ce que j'avais déjà fait en Perl, parce que ça y est depuis le départ.

    C'est un bon réflexe je pense.

    Je ne suis pas convaincu que ce choix ait dans l'informatique actuelle autant de portée qu'il en aurait eu auparavant.
    Pour égaler avec Perl la charge infligée sur un poste de travail par un navigateur web soit-disant léger comme Firefox ou par OpenOffice, ou sur un serveur par un truc "hyper-efficace" comme OpenLDAP, il faut vraiment que le traitement soit très lourd, ou alors qu'on l'ait programmé comme un pied. La lourdeur due au temps de lancement ou à l'encombrement mémoire de Perl par rapport à bash, sed ou awk est alors négligeable...

    Je dis ça par expérience personnelle.
    Sur le PIII 450 (avec 512 Mo quand même) que j'ai encore comme poste de travail pour quelques semaines, les trucs les plus lourds que j'utilise sont Firefox, xpdf et OpenOffice; la machine serait encore assez puissante pour tout le reste. Je n'ouvre généralement pas documents Word que je reçois en attachement de mail : la plupart du temps, l'intérêt du contenu ne vaut pas le temps que met OpenOffice à se lancer.
    J'utilise OpenLDAP sur un serveur et je faisais sur l'annuaire un traitement nécessitant un nombre conséquent de requêtes assez lourdes. J'en ai eu marre que ça me charge le serveur pendant plusieurs minutes. Maintenant, je charge directement tout l'annuaire avec un dump au niveau du backend (donc en court-circuitant OpenLDAP) et je fais tous les traitements en interne de mon script Perl. C'est carrément plus rapide. Et encore j'ai utilisé par facilité les structures fournies d'origine par Perl (tableau associatif notamment), plutôt que des structures plus optimales dans ce cas (par exemple un arbre pour stocker l'annuaire). Sans importance : mes traitements sont encore nettement moins longs que le chargement de l'annuaire, pourtant pas plus long qu'une seule grosse requête sur OpenLDAP.

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Re: Qui a tué le professeur moutarde ?

    Posté par  . En réponse à la dépêche Journée détaxe 2005 - Communiqué de Presse et actions. Évalué à 4.

    Pour le racket organisé d'entreprises comme Microsoft ou Norton, il ne faut pas oublié que la vente de logiciel génère des bénéfices pour les entreprises et donc des impôts. La vente d'un produit est sujet à la TVA. A qui profite le crime?

    Charger du mauvais côté la balance du commerce extérieur, et donc plomber notre économie (Microsoft n'y réinjecte pas trop l'argent qu'il perçoit) uniquement dans le but de récupérer des taxes au passage, cela ne pourrait être un bon calcul qu'à très court terme, même en ne considérant que la question du budget de l'état...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Détail

    Posté par  . En réponse au message Motif multi-lignes avec 'sed'. Évalué à 2.

    Je n'ai pas tout-à-fait bien repris mon exemple : l'intérêt de l'option s de la substitution est de pouvoir faire correspondre une fin de ligne à \s. C'est plus utile quand on utilise effectivement \s. Soit :

    #!/usr/bin/perl -p0777

    s/toto\s+titi/tata/gs;
    s/...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # ATI...

    Posté par  . En réponse à la dépêche Pilotes binaires dans Linux: quel est le problème ?. Évalué à 2.

    En tout cas chez ati je peut t'affirmé qu'ils ne se lachent pas sur les drivers pour obtenir une meilleur performance!

    Ah ?
    Je ne suis pas allé assez loin avec les pilotes ATI pour en avoir une idée.
    Mon expérience avec ATI se limite à l'essai d'une Mandriva qui m'a installé le pilote ATI propriétaire sans me demander mon avis (alors que j'ai une Radeon 9200 justement parce que c'est l'une des dernières ATI supportées par le pilote libre).
    Résultat, dès le premier chargement de X, affichage pourri et gelé (j'admet, j'ai une carte pas ATI à base de chipset ATI, mais il n'est pas dit que le pilote ne supporte que les ATI pur sucre !).
    Ensuite, j'ai redémarré en runlevel 3 le temps nettoyer le système du pilote propriétaire et, magie, plus de problème...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Re: Le risque n'est pas le même

    Posté par  . En réponse à la dépêche Pilotes binaires dans Linux: quel est le problème ?. Évalué à 5.

    Je pense par contre que le code est souvent écris plus "à la vas vite" et c'est certainement la raison qui fait qu'on a plus confiance en le matériel.

    Certainement, en tout cas dans le cas des fabriquants de périphériques.
    On peut facilement trouver un matériel qu'on considère comme étant d'une certaine qualité. Pour un pilote propriétaire, il faut bien prendre celui fourni par le constructeur, et si l'on se pose avant la question de choisir un matériel fourni avec un pilote propriétaire de qualité, là, on ne trouve pas grand chose...
    Peut-être aussi est-ce qu'on se dit qu'un problème matériel se manifeste généralement assez vite et que si cela a fonctionné correctement pendant un certain temps, c'est que ça doit être bon.
    À part cela, on peut aussi, notamment sur un serveur, utiliser du RAID si l'on n'a pas confiance dans les disques, utiliser de la mémoire ECC... Du côté des pilotes, je n'en vois pas trop qui comprennent un système pour rattrapper leur éventuelle défaillance.

    Si la fiabilité est la préoccupation numéro un, il existe des unices propriétaires qui font très bien leur travail.

    Si l'on ne considère que la fiabilité technique, en effet. En particulier, sur les Unix propriétaires, les pilotes ne sont généralement pas écrit par le fabriquant des périphériques, mais par le vendeur du système. Du coup, il y a moins de pilotes, peut-être moins performants, mais plus fiables.
    Cependant, si l'on considère dans la fiabilité l'assurance de ne pas avoir de backdoor dans le système, on n'est pas très avancé avec un Unix entièrement propriétaire...

    D'ailleurs, la différence importante, entre le matériel et le logiciel, se situe justement dans ce domaine. Si l'on se pose les questions, pour être caricatural, "Est-ce que ma carte réseau ne laisserait pas des fois la NSA accéder à ma machine comme elle veut ?" et "Est-ce que le pilote propriétaire de ma carte réseau ne laisserait pas des fois la NSA accéder à ma machine comme elle veut ?", il est plus difficile pour le firmware qui tourne sur le chip intégré à la carte d'aller prendre le contrôle du noyau que pour le pilote qui est déjà exécuté sur le CPU en mode privilégié...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Le risque n'est pas le même

    Posté par  . En réponse à la dépêche Pilotes binaires dans Linux: quel est le problème ?. Évalué à 6.

    En quoi cette couche de logiciel est-elle intrinsèquement différente ?

    Elle ne fonctionne pas sur le périphérique, comme un firmware, mais sur le processeur central, en mode noyau.

    Ça lui ouvre nettement plus de possibilités pour planter le système ou contenir du code malicieux sans qu'on le sache...

    Même en espérant que nVidia n'est pas un autre Sony, comme tout fabriquant de carte 3D, ils programment leurs drivers pour la performance (pour impressionner plus que le concurrent), en dépit de toute autre considération. Confronté à ce problème Microsoft a mis en place il y a plusieurs années un programme de certification des drivers pour obliger les fabriquants de matériel à faire des drivers potables qui ne plantent pas (plus ;-) ) Windows; sous Linux, ils peuvent à nouveau "se lâcher" et je suis convaincu qu'ils le font.
    Exemple : j'ai installé une fois (!) un driver nVidia propriétaire (pas sur ma machine et encore moins sur un serveur, et c'était ça, le driver VESA, ou la mise-à-jour d'XFree, voire de la distrib), ça marchait super bien... jusqu'à ce que l'APM ou l'ACPI se déclenche. Là, freeze complet du système. Efficace.

    Avoir une architecture à micronoyau où les pilotes tourneraient en mode non privilégié limiterait déjà beaucoup le risque, en échange d'une certaine perte de performances.
    Andrew Tannenbaum considère que le jeu en vaut la chandelle (c'est le genre de trucs qu'il reproche à l'architecture du noyau de Linux), et je serais assez d'accord avec lui si un jour on ne peut éviter d'utiliser ces saletés de drivers binaires.
    Cela dit, les considérations sont différentes suivant qu'on utilise sa machine uniquement comme une console de jeux en plus cher, pour stocker ses informations bancaires, ou comme serveur pour le boulot. Mais comprend qu'il y en a qui ont besoin d'un Linux fiable.

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Uniligne simplifié

    Posté par  . En réponse au message [X-Window] top + xrootconsole. Évalué à 2.

    En fait, on peut simplifier la version uniligne :

    top -b | perl -ne 'BEGIN { $/="\n\n\n" } print map "$_\n", (split /\n/)[0..39]' | xrootconsole

    vu que sans les warnings (-w) Perl ne va pas se formaliser de détails comme imprimer une variable indéfinie puisqu'initialisée avec un élément de tableau inexistant.
    (Inutile de dire par contre, que si l'on fait des programmes conséquents sans les warnings, on peut chercher les bugs longtemps...)

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Script façon sed en Perl

    Posté par  . En réponse au message Motif multi-lignes avec 'sed'. Évalué à 3.

    Tu peux même te faire un script façon sed directement exécutable avec les options en question :

    #!/usr/bin/perl -p0777

    s/toto\ntiti/tata/gs;
    s/
    ...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Perl

    Posté par  . En réponse au message Motif multi-lignes avec 'sed'. Évalué à 4.

    je voulais éviter de mettre en branle un monstre comme Perl

    Pour la machine, c'est effectivement plus lourd (mais si tu n'as pas un 486 avec 8 Mo de mémoire ou un matériel embarqué, ça ne devrait pas être bloquant), mais pour toi, pas nécessairement :
    perl -p0777e 's/toto\ntiti/tata/g' fichier

    Voire éventuellement plus intéressant, sauf si tu es sûr que toto et titi sont tout le temps séparés par une fin de ligne :
    perl -p0777e 's/toto\s+titi/tata/gs' fichier

    Ainsi,
    tyty toto titi tete
    tete tutu toto
    tititoto titi tyty

    devient :
    tyty tata tete
    tete tutu tatatata tyty

    Tiré de man perlrun :
    -p indique à Perl de considérer votre programme comme entouré par [une] boucle, qui le fait itérer sur les noms de fichiers passés en arguments, un peu à la manière de sed.
    -0[digits] indique le séparateur d'enregistrement en entrée ($/) en notation octale. [...] La valeur 0777, indique à Perl d'avaler les fichiers en entier car il n'y a pas de caractère avec cette valeur octale.

    Tiré de man perlop :
    s/MOTIF/REMPLACEMENT/egimosx
    s Traitement de la chaîne comme étant une seule ligne.
    (ainsi \s peut correspondre à \n).

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • # Oui, mais que faire ?

    Posté par  . En réponse à la dépêche Pilotes binaires dans Linux: quel est le problème ?. Évalué à 10.

    Voilà un article utile !

    J'ai souvent fait des remarques de ce genre... et je me suis souvent fait moinser dessus. Il faut dire que je les ai faites en commentaire sur des annonces de nouveaux pilotes binaires ATI/nVidia et que ça gâchait peut-être la fête du nouveau pilote (buggé) de la mort pour la dernière carte 3D qui coûte le prix d'une console complète.

    Maintenant, quelles sont les possibilités pour se sortir de cette situation ?

    Si les développeurs du noyau refusaient totalement les pilotes binaires à partir de demain, ça pourrait limiter plus la diffusion de Linux que celles des matériels coupables...
    Peut-être pourraient-ils déjà afficher au démarrage un message du genre "Attention, en raison de la présence d'un pilote propriétaire fermé (closed source) pour tel matériel dans votre noyau, l'intégrité de votre système ne peut être garantie" ?
    Il faudrait peut-être utiliser le terme "non-certifié". Si ça pouvait déjà garantir que les constructeurs ne vendent pas comme "certifiées Linux" des machines contenant du matériel ne fonctionnant qu'avec des pilotes propriétaires, ce serait déjà un premier pas.

    Une page sur kernel.org ou directement dans la doc du noyau avec la liste des matériel supportés par le kernel officiel pourrait fournir une véritable référence pour le choix de matériel (ce qui existe actuellement manque un peu de visibilité). En demandant aux constructeurs qui fournissent leurs spécs de fournir une table de conversion entre le type technique de leur matériel (vu par les pilotes) et les dénominations commerciales de ses variantes compatibles, ça pourrait être faisable.

    En attendant, au niveau de LinuxFr, pourquoi ne pas déjà arrêter de passer les annonces de pilotes propriétaires, en tout cas en première page ?

    Et le "nerf de la guerre", c'est qu'au niveau de chaque utilisateur, il est important d'acheter préférentiellement du matériel dont les spécifications sont disponibles plutôt que du matériel supporté uniquement par des pilotes binaires.
    Nous votons avec notre argent : si nous achetons sans réticence du matériel supporté uniquement par des pilotes binaires, uniquement sur les plateformes les plus classiques et sans garantie que le support continuera une fois que le modèle ne sera plus produit, c'est un signe clair pour les constructeurs qu'ils n'ont pas à faire d'effort pour faire mieux. C'est comme cela qu'ATI a interprété le succès de nVidia y compris sur Linux...
    Et les petits ruisseaux formant les grandes rivières, il faut prendre conscience que vous êtes responsable du futur (ça ne vaut pas que pour Linux, d'ailleurs).

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Députés gênants

    Posté par  . En réponse à la dépêche Pétition EUCD.info « Non au projet de loi DADVSI ! ». Évalué à 9.

    Mais faut pas perdre confiance dans le systéme parlementaire, et éviter de dire tout de suite que les députés ne peuvent pas résister aux majors.

    Tu as sûrement raison. La preuve, c'est que c'est bien ce que semble craindre le gouvernement : pourquoi le faire voter en urgence de nuit juste avant Noël, si ce n'est pour avoir le moins possible de députés, hormis ceux aux ordres, et leur laisser le moins possible de temps pour réfléchir ?

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Re: Médiatisation

    Posté par  . En réponse à la dépêche Projet de loi DADVSI: EUCD.INFO publie un dossier d'information complet et un appel. Évalué à 2.

    Ben si c'est vrai , je vais sortir avec mon sabre, buter deux ou trois centaines de personnes dans le métro , et on m'écoutera ?

    En tout cas, on parlera beaucoup de toi !

    Par contre, je ne suis pas sûr de ton choix de symbole, à moins que le message que tu veuilles faire passer soit juste "les transports en commun, c'est vachement dangereux : il y a des fous meurtriers avec des sabres". ;-)

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Élus ou dirigeants

    Posté par  . En réponse à la dépêche Les Européens de l'année sont.... Évalué à 3.

    il ne faut pas les appeler nos dirigeants [...] ce sont les élus du peuple

    Je ne considère pas ces deux mots comme correspondant deux façon de voir les mêmes personnes, mais comme désignant des groupes de personnes en partie différents.

    Par exemple les parlementaires sont des élus et les parlements (français et européens) sont les structures les plus démocratiques, mais ce sont ceux qui ont le moins de pouvoir (entre le parlement européen dont le vote ne compte que s'il va dans le "bon" sens, et le parlement français dont le rôle est de plus en plus contourné par l'article 49.3 ou par des votes en urgences à des moments délirants où seuls les fidèles lieutenants du gouvernement seront présents...).

    Notre président est choisi un jour entre les deux candidats qui ont gagné la tombola du premier tour (chercher à "Condorcet" pour la description d'un système d'élection décent) et ne rend plus aucun compte à personne pendant 5 ans.

    Les ministres sont désignés par lui.

    Le conseil des ministres européen est donc constitué de gens désignés (et qui rejettent toujours les décisions contraire à l'intérêt général prises en conseil des ministres sur les autres membres), et de même pour la commission, si ce n'est que c'est encore moins transparent.

    En résumé, plus la représentativité et la responsabilité envers la population diminuent, plus le pouvoir augmente.

    Et là, c'est juste structurel, on n'a pas encore considéré les "amis" dont nos dirigeants politiques servent les intérêts ni les grands médias aux ordres des premiers ou des seconds pour conditionner la population selon leurs intérêts, afin qu'elle accepte son sort et qu'elle vote bien.

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • # L'Europe en question

    Posté par  . En réponse à la dépêche Les Européens de l'année sont.... Évalué à 3.

    Un point intéressant de ce prix est la rédaction des questions qui étaient posées.

    C'était quelque chose comme "Quel est selon vous l'européen qui a eu le plus d'influence cette année ?" (*).
    C'est-à-dire que European Voice considère bien moins l'UE comme une démocratie que comme un terrain de joute entre lobbyistes...

    Je crains qu'ils n'aient pas tord du tout, mais, pour ma part, j'en suis certainement bien moins satisfait qu'eux.

    (*) Dommage pour la précision : j'avais noté ça avant, mais il n'était plus possible de poster de commentaire sur l'ancien article (un peu énervant l'article remonté en première page, mais sans possibilité d'ajouter des commentaires parce qu'il est trop vieux...); maintenant qu'il y en a un nouveau, ce sont les questions ne sont plus disponibles...).

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Expression

    Posté par  . En réponse à la dépêche Les Européens de l'année sont.... Évalué à 6.

    Nous avons prouvé que l'internet et la "communauté du libre" sont des gens qui savent se regrouper pour faire du bruit.

    Et, indécrotable optimiste, je me dis que ca peut changer des choses sur le long terme.

    Certainement : nos dirigeants feront des efforts pour que nous ayons encore moins d'occasions d'exprimer notre opinion.

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • # Une version avec Perl...

    Posté par  . En réponse au message [Terminal] Compter le nombre de fichiers par extension dans un répertoire. Évalué à 2.

    avec un résultat similaire à la tienne :

    find . -name '*.*' | perl -nle 's/^.*\.//; ++$n{$_}; END { foreach (sort { $n{$a} <=> $n{$b} || $a cmp $b } keys(%n)) { print "$n{$_},$_" } }' > result.txt

    ou à celle de Jérôme (c'est-à-dire en affichant dans l'ordre décroissant des fréquences et avec une tabulation comme séparateur), mais en gardant l'ordre alphabétique pour les extensions ayant une même fréquence :

    find . -name '*.*' | perl -nle 's/^.*\.//; ++$n{$_}; END { foreach (sort { $n{$b} <=> $n{$a} || $a cmp $b } keys(%n)) { print "$n{$_}\t$_" } }' > result.txt

    ou encore une variante transformant en minuscules les extensions qui n'y sont pas :

    find . -name '*.*' | perl -nle 's/^.*\.//; ++$n{lc($_)}; END { foreach (sort { $n{$b} <=> $n{$a} || $a cmp $b } keys(%n)) { print "$n{$_}\t$_" } }' > result.txt

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Re: Pourquoi pas avec Perl ?

    Posté par  . En réponse au message suppression de plusieurs lignes dans un texte. Évalué à 2.

    Juste une précision : l'intérêt est de supporter une balise en milieu de ligne, voire plusieurs sur une ligne.
    Si tes balises sont toujours toutes seules sur une ligne, la version de bigben99 suffit.

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • # Pourquoi pas avec Perl ?

    Posté par  . En réponse au message suppression de plusieurs lignes dans un texte. Évalué à 0.

    et finissant par :

    ''

    Je suppose que tu voulais dire '</tartanpion>', mais que c'est parti en postant, non ?

    Je te suggérerais une solution avec Perl :
    perl -0777 -pe 's!<tartanpion(\s.*?)?>.*?</tartanpion>!!sg' fichier
    voire, si tu veux supprimer les éventuelles lignes vides qui pourraient rester après avoir retiré tes balises :
    perl -0777 -pe 's!<tartanpion(\s.*?)?>.*?</tartanpion>!!sg; s!\n\s*\n!\n!g' fichier

    Même si ton problème ressemble à du boulot typique AWK, Perl a quelques petits trucs qui simplifient l'opération :
    - -0777 fixe la fin de ligne au caractère de code octal 777, inexistant, donc permet de tout traiter comme une seule ligne; ainsi une seule expression régulière peut attrapper ta balise d'ouverture et celle de fermeture, même si elles sont sur plusieurs lignes (avec l'option s de la subsittution);
    - *?, comme *, correspond à 0 à n fois le caractère précedent, sauf qu'il prend en priorité la chaîne la plus petite et non pas la plus grande (sinon, l'expression globale zapperait de ta première balise ouvrante à la dernière fermante);
    - avec la substitution s/// comme avec les autres opérations utilisant les expressions régulières, on peut utiliser d'autres caractères que / comme séparation, ça peut rendre l'écriture plus agréable si la chaîne qu'on recherche ou celle de remplacement contient des /.
    - l'option -i peut te permettre de modifier le fichier directement en place :
    perl -0777 -pi -e 's!<tartanpion(\s.*?)?>.*?</tartanpion>!!sg' fichier
    éventuellement en sauvegardant l'ancienne version :
    perl -0777 -pi.bak -e 's!<tartanpion(\s.*?)?>.*?</tartanpion>!!sg' fichier

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Re: FreeBSD sur le poste de travail

    Posté par  . En réponse à la dépêche Sortie de FreeBSD 6.0. Évalué à 1.

    c'est marrant moi pour redémarrer lighttpd par exemple, sur mon FreeBSD je ne fait pas un kill pour le relancer, mais /usr/local/etc/rc.d/lighttpd restart donc je ne vois pas le problème... pour ssh : /etc/rc.d/ssh restart

    Ah ?
    Je n'avais pas vu ça, mais la dernière fois que j'ai installé un serveur sous FreeBSD, c'était il y a peut-être bien 6 ans, alors est-ce que cela y était ???

    Perso j'adore le system d'init de FreeBSD, simple efficace, propre

    Pour le point que tu m'expliques, c'est semblable à l'init SysV.
    Pour le reste, à l'époque, il y avait un gros script d'init qui lançait tout et un ou deux script qui contenaient les paramètres du système sous forme de variables, mais cela a peut-être évolué aussi...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Re: Médiatisation

    Posté par  . En réponse à la dépêche Projet de loi DADVSI: EUCD.INFO publie un dossier d'information complet et un appel. Évalué à 6.

    Alors j'aimerais bien savoir si tu considère que les médias sont plus impliqué que josé bové .

    Dans quoi ?
    Dans ce qu'a fait José Bové lui-même, non, évidemment.
    Cela dit, rélféchissons un peu. Pourquoi José Bové a-t-il cassé un Mac Donald en construction ?
    Juste parce qu'il aime casser du Mac Donald ?
    Non, tout simplement parce qu'il savait que cela lui assererait une large couverture médiatique.
    Il pourrait pondre un super-texte, très pertinent, sur les méfaits de la mal-bouffe ou de la globalisation néo-libérale et au mieux arriver à le faire publier au fin fond d'un journal obscur.

    Mais dans le monde actuel, pour avoir de l'audience, le mieux, c'est de faire le plus de dégâts possible, sur quelque chose d'aussi symbolique que possible (sinon, tu peux aller tuer des crève la faim au fin fond d'un pays africain que personne ne sait situer sur une carte, ce n'est pas sûr qu'on parle de toi avant que tu n'en aies tué une proportion très significative, il y a des massacres dont on a à peine entendu parler, et seulement après coup).

    À partir de là, pourquoi des indépendentistes bretons ont-ils fait exploser un MacDo ?
    Pour faire parler d'eux, donc en suivant les principes médiatiques :
    - d'une part en faisant des dégâts (à la bombe, parce que ça fait bien peur et que c'est leur truc);
    - d'autre part, et parce qu'ils ont manqué d'imagination pour trouver un symbole auquel s'attaquer, en choisissant quelque chose qui était déjà dans l'actualité.

    Sinon, d'autres terroristes ont trouvé une idée originale et beaucoup plus efficace pour faire parler d'eux, tu dois être au courant, c'était en septembre 2001...
    Une parfaite réussite médiatique : on n'est pas près d'oublier !
    Sur le plan politique, il faut voir l'objectif visé... Cela dit, si l'on considère que ces gens-là sont contre la liberté et qu'à la suite de cet évènement, nos gouvernements ont fait passer des lois restreignant nos libertés, on peut voir ça comme une réussite aussi. Il faut voir aussi que la réaction des USA contre des pays de leur région leur assure un meilleur recrutement parmi la population.

    ps : entre déposer des choux sur une voie publique , et démonter une propriété privée il y a une large difference .

    Tu penses que ça ne coûte rien d'enlever plusieurs tonnes de choux ?
    Et quand c'est du lisier ? (Ben oui, les éleveurs de porcs aussi ont quelquefois des difficultés...)
    Et quand il y a des dégâts de faits dans la préfecture (c'est arrivé aussi) ?
    Tout ça, c'est juste une question de degré...

    Sur la question de la propriété privée ou publique, voyons voir...
    Envisageons, à un même niveau de dégâts, d'un côté la destruction d'un bien public payé avec nos impôts et qui sera réparé avec nos impôts aussi, et de l'autre de la propriété d'une grosse société étrangère hégémonique. Je n'ai pas la même analyse que toi sur celui qui m'ennuie le plus...
    Cela dit, la base du problème est que c'est le genre de trucs qu'il faut faire pour se faire entendre. Par exemple, si les agriculteurs font une manif bien dure, ils obtiennent un peu du gouvernement. Sinon, ils peuvent faire faillite et crever la gueule ouverte, ils n'auront rien.

    Dans la société où nous vivons, pour se faire entendre, il faut être violent, et pour faire respecter son intérêt, il faut avoir un rapport de force favorable.
    Quand on arrêtera de prendre cette pantalonade pour une démocratie, on pourra plus facilement faire des efforts pour tendre vers la démocratie...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • [^] # Re: FreeBSD sur le poste de travail

    Posté par  . En réponse à la dépêche Sortie de FreeBSD 6.0. Évalué à 1.

    bon le seul point positif que je vois c'est que leur init est pas pouri

    C'est marrant, pour moi, le plus gros point noir, c'est justement leur système d'init : quand tu as modifié la configuration d'un service, c'est quand même bien agréable de pouvoir le redémarrer juste avec /etc/init.d/toto restart, voire juste de lui faire prendre en compte sa nouvelle config avec /etc/init.d/toto reload plutôt que de devoir killer le démon et le relancer avec la commande spécifique avec tous les bons paramètres...

    Après, je trouve même au contraire que l'init SysV que l'on trouve sur la plupart des distributions Linux, avec juste un numéro d'ordre de démarrage (et d'arrêt), est un peu limitée et qu'il vaudrait mieux un système de dépendances, éditable suivant la configuration (par exemple si tu utilises LDAP pour l'authentification, mieux vaut qu'il soit démarré avant le prompt de login, le serveur SSH, le serveur POP/IMAP, etc., alors que si tu t'en sers pour stocker un annuaire téléphonique, tu n'a aucune urgence à le démarrer...).
    Cela dit, la SUSE a justement un système avec gestions de dépendances (bricolé par dessus l'init SysV normale; c'est-à-dire qu'il permet de recalculer les numéros d'ordre) et j'ai entendu dire que Gentoo ou le Hurd avaient des systèmes plus évolués...

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone