tgl a écrit 1743 commentaires

  • # Merci

    Posté par  . En réponse au message AOL. Évalué à 10.

    Salut tous le monde,
    j'ai ici un document sur le WAOL.exe [...]
    S'il y'a des gens interessé je pourrait leur envoyer tous le document par mail.

    Merci pour cet aperçu de ce que serait un monde d'où les logiciels de p2p (et de correction grammaticale) auraient été bannis :)
  • [^] # Re: Programmation par contraintes

    Posté par  . En réponse au message Générer un tableau à partir de contraintes. Évalué à 2.

    c'est pour m'aider dans des prises de décisions complexes incluant un grand nombre de facteurs dans mon boulot.
    C'est vague, mais ça sonne bien comme ce qui est effectivement un domaine de prédilection de la programmation par contraintes. Un aspect dont je n'ai pas parlé, mais qui est lié, c'est que bien souvent le but réel d'un programme par contraintes n'est pas trouver toutes les solutions possibles, mais plutôt une solution optimale selon un certain critère. Par exemple, on aurait pu chercher une solution minimisant la somme de toutes les variables :
    probleme(M,S) :-
    	% on impose des contraintes
    	contraintes(M),
    	% et on cherche une solution minimisant la somme des variables
    	variables(M,V),
    	sigma(V,S),
    	min_max(labeling(V),S).
    
    Qui nous donne :
    ?- probleme(M, S).
    M = []([](1, 3, 2, 4, 9), [](4, 1, 2, 3, 5), [](5, 1, 2, 3, 4))
    S = 49
    Yes (0.71s cpu)
    
    C'est le genre de truc qui est utilisable dans plein de domaines, que ce soit de l'ingénierie, de la finance, de la logistique, etc., souvent avec en tête de minimiser un coût, une durée, etc. Et les problèmes de la vraie vie mettent facilement en jeu des milliers de variables et dix ou cent fois plus de contraintes encore, sans que ce soit forcement une difficulté si le problème s'y prête bien.
    Si c'est réellement du niveau 1er lab de TD, je devrais effectivement pouvoir faire ça moi-même.
    J'en ai peut-être rajouté un tout petit peu : disons que ça peut être un premier TP contraintes pour des gens qui aurait déjà des notions de Prolog. Je dis ça parce que là il n'y a pas d'écueuil, juste des contraintes simples sur des variables ("machin ne vaut pas truc") ou listes de variables ("tous les éléments de cette listes sont différents"). Le plus compliqué dans mon programme vite fait, c'est finalement la manipulation du tableau (récupérer une colonne, etc.), mais ça c'est du Prolog tout court, ça n'est pas spécifique à la programmation par contraintes.
  • [^] # Re: Programmation par contraintes

    Posté par  . En réponse au message Générer un tableau à partir de contraintes. Évalué à 3.

    En relisant ton message, je vois que tu cherches "un logiciel", et pas vraiment un langage. Bon, donc je suis limite off-topic, mais en fait non, pas vraiment : on n'a finalement pas besoin d'un logiciel bien paufiné quand on a un bon interpréteur Prolog sous la main... Voilà ton problème en Prolog Eclispe (le seul que j'ai sous la main). Le gros du code servirait pour n'importe quel autre problème du même type, donc c'est fait une fois pour toutes, et seul le prédicat "contraintes(M)" est spécifique à ton cas :
    % chargement du solveur
    :- lib(fd).
    
    % tableau 2D -> ligne (liste)
    ligne(M,I,L) :-
    	dim(M,[_,Y]),
    	length(L,Y),
    	(for(J,1,Y), foreach(A,L), param(M,I) do
    		A is M[I,J]).
    
    % tableau 2D -> colonne (liste)
    colonne(M,J,C) :-
    	dim(M,[X,_]),
    	length(C,X),
    	(for(I,1,X), foreach(A,C), param(M,J) do
    		A is M[I,J]).
    
    % contrainte sur la somme des éléments d'une liste
    sigma(L,S) :-
    	(foreach(X,L), fromto(0,A,B,S) do
    		B #= A + X).
    
    % liste de toutes les variables d'un tableau 2D
    variables(M,V) :-
    	dim(M,[X,_]),
    	(for(I,1,X), fromto([],V1,V2,V), param(M) do
    		ligne(M,I,L), append(V1,L,V2)).
    
    % impose un domaine sur toutes les variables
    domaine(M,D) :-
    	variables(M,V), V::D.
    
    % les contraintes particuulières
    contraintes(M) :- 
    	% le tableau est de dimension 3x5
    	dim(M,[3,5]),
    	% avec des valeurs entières dans [1,9]
    	domaine(M,[1..9]),
    	% AB vaut 3
    	AB is M[1,2], AB #= 3,
    	% BE vaut 5
    	BE is M[2,5], BE #= 5,
    	% CD ne vaut pas 2
    	CD is M[3,4], CD #\= 2,
    	% la somme de la ligne A est 19...
    	ligne(M,1,LigA),
    	sigma(LigA,19),
    	% ...et elle ne comporte pas de 5
    	(foreach(X,LigA) do X #\= 5),
    	% la somme de la colonne A est 10
    	colonne(M,1,ColA),
    	sigma(ColA,10),
    	% les valeurs d'une même ligne sont distinctes
    	(for(I,1,3), param(M) do
    		ligne(M,I,L),
    		alldifferent(L)).
    
    probleme(M) :-
    	% on impose des contraintes
    	contraintes(M),
    	% et on énumère les valeurs possibles des variables
    	variables(M,V),
    	labeling(V).
    
    Pour obtenir les solution, je demande "probleme(M)" à Prolog, et il me répond :
    ?- probleme(M).
    M = []([](1, 3, 2, 4, 9), [](1, 2, 3, 4, 5), [](8, 1, 2, 3, 4))
    Yes (0.00s cpu, solution 1, maybe more)
    M = []([](1, 3, 2, 4, 9), [](1, 2, 3, 4, 5), [](8, 1, 2, 3, 5))
    Yes (0.01s cpu, solution 2, maybe more)
    (et j'arrête là, mais il y a évidemment beaucoup d'autres solutions)
  • # Programmation par contraintes

    Posté par  . En réponse au message Générer un tableau à partir de contraintes. Évalué à 5.

    Ce que tu décris ressemble à un premier TP de programmation par contraintes. D'autant que j'imagine que les nombres que tu cherches sont des chiffres bien que tu ne l'as pas précisé, donc c'est faisable avec des solveurs de type FD, qui sont très courants. C'est une classe de solveurs qui marchent sur les domaines finis (Finite Domain, d'où leur nom), c'est à dire sur des ensembles de valeurs énumérables, du style "les entiers de 0 à 1000" (par opposition à "les entiers" tout court).

    Tu trouveras des solveurs pour différents langage de programmation :
    - en programmation logique, tu en as d'intégrés dans pas mal de Prologs, genre dans GNU Prolog [1], Ciao Prolog [2] (libre aussi, et perso je l'aime bien), ou encore Eclipse Prolog [3] (excellent, mais pas complètement libre, ça dépend des morceaux). Je sais plus si y'en a dans SWI Prolog, je le connais à peine.
    - en programmation impérative, ça existe sous forme de bibliothèque pour différents langages : C++ mais j'en n'ai plus de nom en tête, Python [4,5], et probablement bien d'autres.

    En gros, comme le nom l'indique, c'est un mode de programmation qui consiste (essentiellement) à déclarer des contraintes liants entre elles les valeurs de variables. À la syntaxe prêt, ton énnoncé là haut est un programme (désolé les puristes pour les affreuses simplifications que je vais faire). Il est exécuté par une moulinette qui à l'aide des contraintes réduit les domaines de valeurs possibles des variables, pour converger vers une/des solution(s).

    C'est un peu comme quand tu joues au Sudoku : de voir qu'il y a déjà un 9 dans une case te permet d'exclure cette valeur pour les autres de la même ligne ou colonne, et pour le reste du carré, ce qui te permet de déduire la valeur d'une autre case qui n'avait plus beaucoup de possibilité, et elle en influence une autre encore, etc. ; les règles du Sudoku sont en fait un ensemble de contraintes, et l'on raisonne avec de la même façon que fonctionnent ces solveurs, en cherchant à en tirer toutes les conséquences possibles pour arriver à l'unique solution. Évidemment, au Sudoku comme en programmation par contrainte, l'exploitation immédiate et un peu triviale des contraintes directes entre les variables ne suffit pas forcement à aboutir. C'est là qu'intervient l'énumération bourrine des valeurs, qui est possible puisque leur domaine est fini : on prend par exemple une case qui peut valoir soit 2 soit 5, on fait l'hypothèse qu'elle vaut 2, et on voit jusqu'où ça peut nous mener ensuite (à une solution, ou à un échec).

    Si tu googles "programmation contraintes", tu trouveras pas mal de cours (c'est au niveau maitrise ou assimilé qu'on enseigne ça souvent), plutôt orientés Prolog en général ("programmation logique avec contraintes" donc), et qui devraient t'aider à t'y mettre sans trop de peine.

    Amuses toi bien, tu verras que c'est vraiment un mode de programmation extrêmement plaisant, concis, et efficace, enfin pour les problèmes qui s'y prêtent.

    [1] http://pauillac.inria.fr/~diaz/gnu-prolog/
    [2] http://clip.dia.fi.upm.es/Software/Ciao/
    [3] http://www.icparc.ic.ac.uk/eclipse/
    [4] http://www.logilab.org/projects/constraint
    [5] http://codespeak.net/~niemeyer/constraint/
  • [^] # Re: Merci, et besoin d'aide pour le plugin Gimp

    Posté par  . En réponse au journal GREYCstoration 2.0. Évalué à 2.

    Pour l'adaptation du plugin à la nouvelle version, je peux peut-être m'en occuper. Je vais être offline pour qlqs jours là, donc j'emmène tout ce qu'il faut avec moi, et puis je verrai bien si j'ai le temps de le faire (et si j'y arrive, évidemment). Je te redirai ce qu'il en est en fin de semaine prochaine du coup.
  • [^] # Re: La palme

    Posté par  . En réponse au journal numérotation (version) d'application. Évalué à 4.

    > La palme de la numérotation de version revient à mon avis à l'équipe
    > de SmartEiffel (autrefois SmallEiffel) http://smarteiffel.loria.fr qui
    > donnait des numéros de version négatif

    Et c'est comme ça qu'on avait des paquets Debian qui s'appellaient "1.X.Y", où le "1" n'indiquait rien, le "X" était une numérotation arbitraire propre à Debian (et la seule utile en fait pour comparer les versions de paquets), et le "Y" était la valeur absolue de la numérotation officielle, ajoutée pour information. Vraiment pratique, et pour les packageurs, et pour les utilisateurs...

    > Depuis ils sont revenus à une numérotation plus classique (la 2.2
    > devrait bientôt sortir) et franchement je trouve ça un peu triste...

    C'était à mon avis une joke de geek dont il est bon de s'être finalement aperçu qu'elle devenait lourde. Franchement, je pense pas que ça soit la morosité ambiante ou bien l'arrivée de rabats-joie dans l'équipe qui ait provoqué ce retour à une numérotation classique, mais plutôt bel et bien le bon sens.

    Faut pas oublier que le numéros de version, c'est un élément de communication entre les dévelopeurs et le reste du monde. Et pour bien communiquer, bah faut que tout le monde utilise à peu prêt le même langage... S'inventer sa propre numérotation qui prend à contrepied tous les usages, c'est à peu prêt aussi malin que d'écrire sa seule documentation en Klingon.
  • [^] # Re: Comment ?

    Posté par  . En réponse au journal Fait n°1 : Linux n'est pas sujet à la fragmentation.... Évalué à 2.

    Ah mince, dans le extents=$(...), dans l'expression sed, faut virer le "s" à extents, parceque y'a a pas si le résultat est "1":

    extents=$(/sbin/filefrag "${1}" | sed -n 's/.*: \([0-9]\+\) extent.*/\1/p')
  • [^] # Re: Comment ?

    Posté par  . En réponse au journal Fait n°1 : Linux n'est pas sujet à la fragmentation.... Évalué à 4.

    Juste pour préciser parceque je me suis posé la question, ce que rapporte filefrag c'est le nombre de fois où il faut aller chercher un block à un nouvel emplacement (donc pas juste après le précédent). Sur un fichier non fragmenté, comme il l'indique dans ce qu'il affiche, ça ferait "1".

    Ce nombre (disons N) est donc à comparer avec le nombre des blocks occupés par le fichier (disons M). Le ratio de fragmentation du fichier est donc à la louche un truc du genre (N-1)/(M-1).

    D'où le petit script suivant pour faire plus joli :

    % cat fragmentation.sh
    #!/bin/bash
    filesize=$(ls -s --block-size=4KB "${1}" | cut -d\ -f1)
    if [[ ${filesize} -gt 1 ]] ; then
    extents=$(/sbin/filefrag "${1}" | sed -n 's/.*: \([0-9]\+\) extents.*/\1/p')
    fragmentation=$(bc <<<"scale=1;100*(${extents}-1)/${filesize}" )
    else
    # pas de division par zero...
    extents=${filesize}
    fragmentation=0
    fi
    echo "${1}: ${filesize} blocks, ${extents} extents, ${fragmentation}% fragmentation"

    % sudo ./fragmentation.sh linux-2.6.14.tar.bz2
    linux-2.6.14.tar.bz2: 9805 blocks, 492 extents, 5.0% fragmentation


    Enfin, en espérant que j'ai pas tout compris de travers et que mon raisonnement n'est pas foireux :)
  • # Relation d'ordre

    Posté par  . En réponse au journal numérotation (version) d'application. Évalué à 6.

    C'est clair qu'il n'y a pas de standard sur les numérotations de versions et que chacun y met un peu ce qu'il veut.

    Mais y'a quand même une convention, qui est importante pour les distrib' et les packageurs, sur la façon dont 2 numéros de version se comparent. Ceci parceque les système de gestions de paquets doivent pouvoir comparer des versions de façon automatique, pour savoir qu'est-ce qui est mise-à-jour de quoi.

    En gros, c'est des nombres qu'on classe, et non des chiffres, et ils doivent être séparés par des points, avec le plus significatif à gauche et le moins significatif à droite.

    C'est à dire que la version 2.11 n'est pas une révision ultra mineure de la 2.1, mais bien la révision mineure qui suit la 2.10, et précède la 2.12. Pour faire une ultra mineure de la 2.1, bah tu l'appelles 2.1.1 (ou éventuellement "2.1a" : les lettres en suffixe, c'est comme un niveau de numérotation ultra mineur supplémentaire).

    De même, la mineure qui vient après 2.9 est 2.10 : et pour ceux qui trouvent ça pas joli, ou peut aussi employer 2.09 à la place de 2.9, comme ça l'ordre est visuellement plus clair (enfin perso je vois pas l'intérêt, mais y'a des gens qui sont perdus apparament quand le nombre de chiffres change dans un nombre... allez comprendre).

    Une autre mauvaise idée, c'est d'utiliser des dates avec leurs nombres dans l'ordre de la langue, genre "mois.année" : le passage de la 12.2005 à la 01.2006 a peu de chances d'être compris des système de paquets. Et c'est bien sûr pire si tu rajoutes le jour là dedans. Bref, dans ce cas, on doit employer : "année.mois(.jour)" (le plus significatif d'abord, une fois encore).

    Un autre truc à éviter qu'on voit de temps en temps, c'est l'utilisation d'un nombre ultra mineur pour indiquer des préversions. Genre on prépare un release 1.2, mais on appelle les snapshots CVS préalables 1.2.20051205. Bon bah là encore, ça trompe tout le monde, et il faut dans ce cas plutôt employer un suffix distinct qui montre bien qu'on se situe en dessous de la version visée, du style "1.2_alpha20051205" ou "1.2_pre20051205", etc.

    Voilà, si tu fais gaffe à ça, tu feras plaisir aux éventuels futurs mainteneurs de ton logiciel dans les distribs, et tu leur épargneras la peine de ruser pour transformer tes versions en des trucs utilisables.
  • [^] # Re: Pas seulement sur Paris.

    Posté par  . En réponse à la dépêche Conférence "Un Point C'est Tout" à Paris. Évalué à 2.

    > 1) il y a quand même 2 cas différents : genre les graphiques de
    > warcraft II dont le copyright appartient à Blizard, et les mots d'un
    > dictionnaires, qui ne peuvent appartenir à personne.

    Ça n'est pas la question. Tes deux cas sont protégés, même si c'est pour des raisons différentes.

    Dans le cas des bases géographique, c'est du 2nd qu'on se rapproche le plus, mais ça ne change rien au fait que la base de Route66 n'est pas librement rediffusable (ni tel quel, ni dans aucune forme dérivée de manière automatique). Elle est protégé en tant que base de données, de collection de liens entre des éléments qui pourtant individuellement peuvent ne pas être appropriables, un peu comme une mélodie lie des notes de la gamme, ou un dictionnaire des mots de la langue. (Enfin, sauf que les analogies ayant leurs limites et faiblesses, le législateur a vraiment caractérisé le cas des bases de données dans le droit, donc c'est moins flou que ça. Ça apporte quelques nuances, mais l'idée est là ceci dit.)

    Et quant à l'intéropérabilité, puisque c'était quand même ça le point 1), bah elle n'a rien à voir là dedans : elle n'affaiblit pas plus la protection des bases de données que celle de n'importe quelle autre type d'oeuvre protegé par le droit d'auteur et les droits voisins. Bref, off topic dans cette discussion à mon avis.
  • [^] # Re: Pas seulement sur Paris.

    Posté par  . En réponse à la dépêche Conférence "Un Point C'est Tout" à Paris. Évalué à 2.

    > 1) C'est bizarre le concept de droit d'interopérabilité pour un
    > "usage personnel" ? Je n'ai jamais rien entendu de tel.

    Je me suis peut-être pas assez clairement exprimé :
    - Si tu fais un soft qui te permet, par exemple, de lire sous Linux les fameuses données proprios pour lesquelles tu as raqué, tu n'as pas de soucis à te faire. Si tu distribues ce soft pour que d'autres gens dans la même situation puissent faire de même, on ne t'embêtera probablement pas non plus.
    - Par contre, ça ne te donne évidement pas le droit de distribuer les données en questions. L'usage "personnel" dont je parlais, c'est celui des données, pas de ta couche d'interopérabilité.

    Bref on a (pour l'instant encore) le droit de distribuer la "libdvdcss", mais pas pour autant celui de mettre des ISO de DVD sur son FTP publique, c'est deux choses qui n'ont rien à voir.

    Or là ce qui nous intéresse au final (le schmilblick dont je disais qu'il n'avancerait pas avec ça), c'est justement les données. Bref, que quelqu'un casse Route66, très bien pour lui et éventuellement les autres détenteurs d'une licence, mais ça change rien pour le reste du monde.

    > 2) Donc, la charge de la preuve serait imposé à la défense ?

    Évidemment que les deux parties doivent avoir leurs arguments, répondre aux questions, etc., le but étant au final de convaincre le juge. Faut pas croire que la présomption d'innocence est une espèce de baguette magique qui permet d'impunément jouer au con, envers et contre tout bon sens élémentaire.

    L'accusé conserve certes l'avantage en cas de doute, mais encore faut-il qu'il y ait doute... ce qui ne sera certainement pas le cas si tu n'as rien de mieux comme réponse à donner que celle proposée dans mon précédent commentaire.
  • [^] # Re: le classement du nombre de journaux

    Posté par  . En réponse à la dépêche Dépêche numéro 20 000. Évalué à 6.

    > combien de commentaires ont été posté depuis le début?

    Sauf erreur de ma part, je dirais que tu as posté le 656187ème commentaire. Cf. l'url du lien « (lien) ».
    Bon, ok, y'a pas l'air d'y avoir de commentaire n°1000 par exemple, mais après sur qlqs valeurs au pif ça à l'air de marcher comme ça. Le 500000ème avait d'ailleurs visé juste :
    http://linuxfr.org/comments/500000,1.html
  • [^] # Re: Pas seulement sur Paris.

    Posté par  . En réponse à la dépêche Conférence "Un Point C'est Tout" à Paris. Évalué à 3.

    > Donc, forcer en secret plusieurs soft d'origine différentes et
    > recouper les données, cela ne doit pas être légal.

    Non, c'est clair. C'est la base de la protection des bases de données (qui est un cas particulier bien défini dans le "droit d'auteur et droits voisins") : peu importe que le contenu lui même (ici des coordonnées, des noms de lieux, etc.) ne soit pas appropriable, son organisation elle est protegée en tant que telle. En gros, on a le droit d'extraire manuellement ce qu'on veut (genre prendre des notes en utilisant un logiciel), mais on n'a pas le droit d'en faire un traitement automatique (sauf bien sûr pour l'interopérabilité, mais ça reste à usage personnel, donc ça fait pas vraiment avancer le schmilblick).

    > Par contre, les données issues de tout ça ne peuvent elle être
    > déclaré illégal.

    Outch, je ne m'avancerai pas trop là dessus... Tu sais, si l'éditeur d'un de ces soft t'attaque pour plagiat, le juge te demandera certainement comment t'as obtenu tes données, et si tu réponds « Je vous le dirai pas, mais vous pouvez rien prouver, nananèreuh ! » (ou toute autre réponse qui ne serait pas satisfaisante et crédible), je pense que tu te mets bien profond dans le caca... Il ne faut pas croire que le système judiciaire soit complètement dénué de bon sens.
  • [^] # Re: un tableau ?

    Posté par  . En réponse au message Variables dans un shell script (sh). Évalué à 4.

    Certes, mais ça par contre je suis à peu près sûr que c'est du Bash, et pas du bourne shell de base comme demandé, donc ça ne marchera pas partout.
  • # eval ?

    Posté par  . En réponse au message Variables dans un shell script (sh). Évalué à 4.

    Ça serait pas "eval" que tu cherches ?

    % cat /tmp/eval.sh
    #!/bin/sh
    plop_1="plip"
    plop_2="plup"
    for i in 1 2 ; do eval echo \"\$plop_$i\" ; done

    % /tmp/eval.sh
    plip
    plup


    En gros, ça ajoute une passe d'évaluation à ta commande, donc avec i=1, \$plop_$i devient $plop_1 et \"\$plop_$i\" devient "$plop_1".

    Reste à voir si c'est du Bourne de base ou du Bash, je ne me souviens plus...
  • # GarageGames

    Posté par  . En réponse au journal Des petits jeux sympas (non-libres) sous Linux. Évalué à 4.

    Un autre éditeur qui quelques jeux proprios mais abordables, bien marrants, et multi-plateformes (Windows, Linux x86 et MacOSX), c'est GarageGames :
    http://garagegames.com
    Je recommande particulièrement ThinkTanks, qui est le jeu en réseau le plus fun du monde (enfin, de mon monde...). Et puis j'aime bien Orbz aussi (que les récents acheteurs de certains Mac on dû trouver en standard sur leur machine).
    Une caractéristique commune à ces jeux est le moteur 3D/OpenGL Torque, développé et vendu par cette même boite. Si vous n'avez pas de carte 3D (ou pas de drivers accelérés), passez votre chemin. Par contre, une r200 avec drivers libres fait en général à peu prêt l'affaire (enfin c'est un minimum quoi, vérifiez bien avec les versions de démo).

    Voilà, une fois n'est pas coutume, c'était ma minute « y'a pas que de la merde dans le proprio ».

    Sinon, merci pour absolutist.com, y'a des trucs qui on l'air sympa, j'en testerai à l'occasion.
  • [^] # Re: CustomizeGoogle ?

    Posté par  . En réponse au journal Google a de l'humour ! :-). Évalué à 3.

    > http://www.customizegoogle.com/

    Cool, merci, voilà qui remplace avantageusement les 36 scripts GreaseMonkey que j'avais peu à peu accumulés pour Google et compagnie...
  • [^] # Re: commande "date"

    Posté par  . En réponse au message avoir la date à partir de nb bjour. Évalué à 3.

    Ou plus simplement :

    #!/bin/bash
    date -d "${1}-01-01 + $((${2}-1)) day" +%d/%m/%Y
  • # commande "date"

    Posté par  . En réponse au message avoir la date à partir de nb bjour. Évalué à 2.

    Un truc dans ce genre devrait le faire :

    % cat ./date.sh
    #!/bin/bash
    annee=${1}
    secondes=$(( (${2} - 1) * 24 * 60 * 60 ))
    date -u -d "${annee}-01-01 00:00:00 UTC + ${secondes} second" +%d/%m/%Y

    % ./date.sh 2004 60
    29/02/2004

    % ./date.sh 2005 60
    01/03/2005
  • [^] # Re: L'effet Lemming

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

    Globalement, je trouve ta critique plutôt intéressante, même en tant que "votant" ("sondé volontaire" plutôt ?) qui ne regrette pas son geste.

    Mais je voudrais quand même souligner un point de bon sens sur le « penser par soit même » :
    C'est bien beau de revendiquer l'autonomie et l'indépendance de ses décisions, mais encore faut-il avoir des décisions à prendre. Or si la FFII n'avait pas lancé son appel, personne ici n'aurait eu connaissance de ce sondage... Ton abstention, au lieu d'être ta propre décision, n'aurait été que fortuite.
    On a plus « pensé par nous même » en choisissant d'ignorer ou de suivre l'appel de la FFII que l'on ne l'aurait fait en ignorant l'existance du sondage. Donc merci la FFII, qu'on soit d'accord avec elle ou non.


    (mouaif... en me relisant, je me dis que mon point de bon sens n'est peut-être finalement qu'un point rhétorique, à voir... oh bon bref, tant pis, [Envoyer]...)
  • [^] # Re: Quelques erreurs factuelles

    Posté par  . En réponse à la dépêche Firefox et DADVSI dans Le Monde. Évalué à 6.

    > Ca décrédibilise le mouvement quand même. Si on dit "gratuit" ça
    > fait utopique

    Mouaif... en même temps les gens savent bien que gratuité n'est pas synonyme de douce rêverie désintéressée. J'veux dire, ils se doutent bien par exemple que les quotidiens qui leurs sont gratuitement distribués dans le métro le matin ne sont pas édités par quelque mécène humaniste.

    > voire menaçant (concurrence déloyale).

    Ça effectivement c'est une image qui me paraît déjà plus embêtante... Certains pourraient voir dans le libre gratuit une menace pour les éditeurs de leurs logiciels favoris (qu'ils piratent cependant), comme d'autres accusent les quotidiens gratuits de tuer la vraie et noble presse journalistique (qu'ils ne lisent pas pour autant).

    Désolé pour les clichés entre parenthèses :)
  • # recherche dans "make menuconfig"

    Posté par  . En réponse au message Du module à l'option du noyau. Évalué à 3.

    Je ne crois pas qu'il y ait de règle absolue de mapping "nom module -> nom option". Mais si tu fais un "make menuconfig" et qu'ensuite tu presses la touche "/", tu auras accès à la recherche dans les options, qui marche vraiment pas mal et permet en général de retrouver rapidement ses petits.
  • [^] # Re: Composite ?

    Posté par  . En réponse à la dépêche Publication de KDE 3.5. Évalué à 2.

    Je ne sais pas quelle seront ses performances pour le driver nv, mais faut pas forcement attendre de EXA une panacée pour tous les problèmes d'Xorg. Perso j'ai testé les RC de Xorg 7.0 en EXA avec le driver ATI Radeon (driver censé en avoir déjà un bon support, et sur une R200), et la principale différence avec XAA est que ça râme grave (et pas seulement chez moi, cf. la ML de Xorg). À voir si ça a encore le temps de changer d'ici à la version finale...
  • # Niouzes DLFP : URLs clickables

    Posté par  . En réponse au message [Web] Les filtres de Liferea. Évalué à 3.

    Récemment les URLs ont été ajoutées au RSS des dépêches. Par contre elle sont en pur texte, pas clickables. Donc dans mon sed sur ce flux, j'ai ajouté une autre commande pour corriger ça :
    's#^\(\(http\|ftp\|https\)://[^ ]\+\)\(\&lt;br /\&gt;\)$#\&lt;a href=\&quot;\1\&quot;\&gt;\1\&lt;a/\&gt;\3#'
  • [^] # Re: Filtre en awk pour Lolix

    Posté par  . En réponse au message [Web] Les filtres de Liferea. Évalué à 3.

    N'étant pas un puriste en Awk, je trouve ton filtre très satisfaisant. On verra bien si ça helpe, mais en tout cas merci beaucoup.