lcld a écrit 78 commentaires

  • # utilité de chr ?

    Posté par  . En réponse au journal expressions arithmétiques sur des caractères en shell. Évalué à 1.

    Sachant que echo et printf sont internes à bash, je me demande si un exécutable 'chr' est plus performant que la fonction suivante :
    chr () { echo -e \\0`printf %o $1`; }
  • [^] # Re: petit calcul

    Posté par  . En réponse au journal 174 Mbits/s en download et 18Mbits/s en émission : le futur de FREE. Évalué à 1.

    Model Number: IC35L120AVV207-0
    9 Power_On_Hours 0x0012 098 098 000 Old_age Always - 20309
    Un 180 GXP ? Les 60 GXP étaient une véritable catastrophe et les 120 GXP n'étaient pas beaucoup plus fiables.
    On a vite fait d'être alarmiste quand on parle d'IBM Desktar.
    Je ne connais rien de la fiabilité des 180 GXP, mais 20000h, c'est pas mal.
    194 Temperature_Celsius 0x0002 110 110 000 Old_age Always - 50 (Lifetime Min/Max 17/65)
    Je lis bien ? Il a déjà atteint 65°C ??
    196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 1
    Ah... la surface du disque n'est peut-être pas nickel.

    Après m'être battu avec un disque bourré de secteurs de défecteux que je voulais réutiliser, j'en ai déduit que la vitesse de lecture/écriture peut diminuer si la surface est "fragile". Le disque dur en question (80 Go) n'a aucun secteur défectueux/relogé dans la première moitié, et pourtant le débit est parfois irrégulier et, en moyenne, réduit de moitié sur plusieurs centaines de Mo (et remonte ensuite à un débit normal). Si je traçait une courbe, je n'aurais rien qui ressemblerait à ce qu'on voit d'habitude. J'imagine qu'avant d'être inutilisable (ou marqué comme tel), un secteur demande plus de temps à être lu/écrit.

    Avec ton disque, en lecture, tu dois avoir du 26 Mo/s minimum, et près de 55 au début du disque.

    A part ça, je suis surpris que personne n'ai parlé de fragmentation.
  • [^] # Le PS ?

    Posté par  . En réponse au journal [Hors sujet] politique. Évalué à 2.

    "EDF redeviendra publique grâce à la Caisse des dépôts, promet François Hollande"
    http://fr.news.yahoo.com/21112005/5/edf-redeviendra-publique(...)

    C'est bizarre, j'ai du mal à y croire.
  • [^] # Re: un bon coup de balai quoi ! hum....

    Posté par  . En réponse au journal [Hors sujet] politique. Évalué à 2.

    Je répondais juste au fait que certains pensent qu'on a les meilleurs transports du monde en France.
    Les meilleurs, je sais pas, mais on peut être fier de la SNCF.
    Des trains qui déraillent, ça existe aussi en France pour rappel, même si heureusement il n'y a pas eu depuis longtemps d'accidents très importants.
    J'ai envie de dire : on s'en fout qu'un train déraille. Surtout que le TGV a presque toujours déraillé à cause d'un véhicule arrêté à un passage à niveaux (sur ce point, il serait bien de les mettre sous surveillance).
    Combien de victimes pour le TGV depuis sa mise en service ? D'après http://fr.wikipedia.org/wiki/TGV , 2 morts (toujours ces passages à niveaux...) et très peu de blessés. C'est ça qui compte.
    Les transports sont lamentables en France
    Alors bon, merci de préciser, parce que là, franchement, c'est du n'importe quoi.
    Ce qu'il faudrait, c'est encourager la construction de lignes de cars à la place des lignes déficitaires aux endroits où il y a une demande.
    Des lignes déficitaires aux endroits où il y a une demande ?? Et avec des cars à la place de trains, ces lignes rapporteraient ???
    Je ne saisis pas du tout la phrase. (Et écologiquement, je préfère même les trains aux cars.)

    La seule critique que je ferais à la SNCF est de ne pas proposer des voyages en TGV à plus faible vitesse, ce qui permettrait de réduire le prix et la pollution.

    Aux dernières élections, les français ont montré qu'ils se balançaient de la politique locale en élisant des gens qui n'avaient d'autres discours que "méchant le gouvernement, méchant !" (Ile de France par exemple, il a fait quoi depuis son élection ? Rien, comme il l'avait promis), et aussi en encourageant le système de parti (qu'est ce que vous en avez à faire que votre conseil général soit de l'UMP, de l'UDF, du PS, des radicaux de gauche du moment qu'il ait un programme et qu'il s'y tient ?).
    Et bla, et bla, et bla. Comme pour le TCE. Encore à expliquer à la place des électeurs eux-même, le choix de leur vote.
    Et même, n'est-il pas normal de voter pour le même parti aux niveaux local et national ? Ce qu'il faut, c'est ne pas le faire par automatisme.
  • [^] # Re: Mini Howto encoder en divX avec Mencoder, libavcodec et lame (mpg4,

    Posté par  . En réponse au message Logiciel pour faire des divx. Évalué à 1.

    Oops oui, ça dépend.
    Disons que ça peut être idiot de se retrouver avec un fichier de 750 Mo, ou 675, etc.

    Si on veut atteindre une qualité donnée, une indication en "quantizer" est plus adaptée. On prend souvent 2.8
  • [^] # Re: Mini Howto encoder en divX avec Mencoder, libavcodec et lame (mpg4,

    Posté par  . En réponse au message Logiciel pour faire des divx. Évalué à 1.

    Ce genre de recette me fera toujours peur. Outre le fait qu'il est complètement aberrant d'indiquer un débit au pif pour la seconde passe[1], ce script est uniquement valable dans le cas suivant :
    - la video doit fonctionner sur un lecteur de salon (encore que certains acceptent les .ogm), mais comme la source est un DVD, j'ai du mal à comprendre l'intérêt
    - la vidéo n'est pas entrelacée et le format de l'image est 4/3 (on a rarement les 2 à la fois !)
    - le son est en stéréo

    Autrement, il faut envisager les cas suivant :
    - choisir du ogg si possible (vorbis-tools/oggenc), et dans ce cas, le container matroska (mkvtoolnix/mkvmerge)
    - passer en mono si possible
    - 3 filtres importants à considérer : désentrelacement, découpage et redimensionnement

    Je ne me lancerais jamais dans un réencodage avant d'avoir analyser un minimum la vidéo.

    **** Hack pour un bug fréquent des lecteurs windows ********
    Dois-je lire "lecteur de salon" ?

    A part ça, j'ai une préférence pour XviD.


    [1] Je ne connais aucun outil pour le calculer sous Linux. Il y a la formule naïve suivante : bitrate = 8 * (target_size - audio_size) / (hours * 3600 + minutes * 60 + seconds)
    XviD (sous Windows) contient une formule plus avancée, tenant compte du container : cf vfw/src/config.c, à partir de la ligne 960
  • # sed ?

    Posté par  . En réponse au message Comment afficher ligne apres ligne ?. Évalué à 5.

    $ cat file_date.txt
    |Changement hiver/ete 2003 | 1048989600|
    |Changement ete/hiver 2003 | 1067137200|
    |Changement hiver/ete 2004 | 1080439200|
    |Changement ete/hiver 2004 | 1099191600|
    |Changement hiver/ete 2005 | 1111888800|
    |Changement ete/hiver 2005 | 1130641200|
    |Changement hiver/ete 2006 | 1143338400|
    |Changement ete/hiver 2006 | 1162090800|
    $ sed '/1099191600/,$s/$/ [OK]/' file_date.txt
    |Changement hiver/ete 2003 | 1048989600|
    |Changement ete/hiver 2003 | 1067137200|
    |Changement hiver/ete 2004 | 1080439200|
    |Changement ete/hiver 2004 | 1099191600| [OK]
    |Changement hiver/ete 2005 | 1111888800| [OK]
    |Changement ete/hiver 2005 | 1130641200| [OK]
    |Changement hiver/ete 2006 | 1143338400| [OK]
    |Changement ete/hiver 2006 | 1162090800| [OK]
    $ sed '/1099191600/,/1143338400/s/$/ [OK]/' file_date.txt
    |Changement hiver/ete 2003 | 1048989600|
    |Changement ete/hiver 2003 | 1067137200|
    |Changement hiver/ete 2004 | 1080439200|
    |Changement ete/hiver 2004 | 1099191600| [OK]
    |Changement hiver/ete 2005 | 1111888800| [OK]
    |Changement ete/hiver 2005 | 1130641200| [OK]
    |Changement hiver/ete 2006 | 1143338400| [OK]
    |Changement ete/hiver 2006 | 1162090800|
  • # Remplace le point par [^|\]]

    Posté par  . En réponse au message Foutues expression régulières. Évalué à 1.

  • [^] # Re: A propos de la mémoire

    Posté par  . En réponse au journal Firefox cache mal son jeu. Évalué à 3.

    Refais le même test après avoir mis le paramètre config.trim_on_minimize à faux. Voir le bug Slow startup after long periods of inactivity (minimized window or other) [1] pour plus d'infos.

    Ce bug est un bug majeur et il fait partie des nombreux bugs relatifs à la lourdeur de Firefox. La cause de ce bug est probablement que pour la moindre tâche, Firefox accède à tout son espace d'adressage, et ce dans un ordre aléatoire. Alors après une sieste un peu longue, Firefox est anormalement long à se réveiller. Pauvre disque dur...

    D'ailleurs, ce bug est caractéristique de la manière dont les bugs sont traités par Mozilla. L'intervention de Brendan Eich est pitoyable.

    [1] https://bugzilla.mozilla.org/show_bug.cgi?id=76831
  • [^] # Re: Nuvola

    Posté par  . En réponse au journal C'est presque un logiciel libre .... Évalué à 2.

    Quelques discussions au sujet de l'adjectif "viral" :
    http://linuxfr.org/comments/527953.html#527953
    http://linuxfr.org/comments/545330.html#545330
    http://linuxfr.org/comments/596589.html#596589

    C'est essentiellement la connotation négative du terme qui pose problème.
  • [^] # Re: Réponse groupée

    Posté par  . En réponse au journal Repenser les langages et le développement logiciel. Évalué à 2.

    Comment ca se passe si j'appelle d.m().
    "error"

    Il faut que le code appelant caste avec la bonne superclasse pour le polymorphisme ?
    Possible mais on écrira plutôt d.B::m() ou d.C::m().
  • [^] # Réponse groupée

    Posté par  . En réponse au journal Repenser les langages et le développement logiciel. Évalué à 5.

    Sylvain Sauvage :
    Oui. Le classique cas: classe A avec attribut a, classe B et C qui héritent de A et classe D qui hérite de B et C. L'attribut a est hérité deux fois par D. Comment gérer ça ? Qu'est-ce que cela peut bien signifier ?
    Parfois, le programmeur voudrait deux a, parfois il n'en veut qu'un. C'est donc aussi un problème dans la tête du programmeur.

    golum :
    Soit une classe A qui définit une méthode m.
    Soit B et C qui héritent de A et qui redéfinissent m.
    Soit D qui hérite de B et C mais qui ne redéfinit pas m.
    Quel redéfinition de m va utiliser un appel à la méthode de m par une instance de D ? Le langage résoudra le pb (descente en profondeur d'abord pour Pyhton par exemple) , mais le developpeur devra l'anticiper. Pour certains langages ,il peut indiquer explicitement la méthode m de la classe mère qu'il souhaite utiliser. Mais dans la réalite la classe B a pu n'être créer qu'après la classe D. Donc il faut repasser sur tout le code utilisateur pour désambiguer, ce qui va à l'encontre des concepts d'evolutivité de l'appproche objet.
    Le C++ prévoit très bien ce cas avec la présence ou non du mot-clé 'virtual'.
    Soit une classe de base A avec un membre a, plusieurs classes B0, B1... Bn qui hérite de A, et une classe C qui hérite de B0, B1... Bn. A la définition de 2 classes Bi et Bj, si le mot-clé 'virtual' apparaît pour A, alors A sera le même -> structure en diamant. Autrement, à la définition d'une classe Bi où 'virtual' n'apparaît pas, Bi aura sa propre copie de A.
    Dès lors que le mot-clé 'virtual' est absent pour un Bi, il y a conflit dans C et il faudra préciser le Bi.
    Ca manque d'image ? http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vc(...)

    Je suis d'accord. Qu'est-ce que tout cela peut bien signifier.
    Peut-on encore parler d'héritage ou juste de sucre syntaxique.
    En C++, il ne faut plus voir une utilisation de l'héritage comme étant systématiquement de l'héritage. Quelle différence entre class B : private A {}; et class B { A a; }; ?
    Une implémentation en C++ n'est plus un simple calque du diagramme UML. Mais en l'absence de syntaxe pour déléguer facilement, je suis bien content d'avoir l'héritage multiple.
  • # Si j'ai bien compris l'article Wikipédia...

    Posté par  . En réponse au message C'est quoi le multi-méthode ?. Évalué à 3.

    le multi-méthode serait un cas particulier de polymorphisme.

    Le polymorphisme peut être statique lorsqu'on peut déterminer à la compilation quel code il faut exécuter, en regardant les types des arguments.

    Ou dynamique, lorsqu'on ne sait pas à l'avance quel code sera exécuté, parce qu'un argument (mono-méthode) est de type dynamique ou que plusieurs (multi-méthode) le sont.
    A noter que pour une méthode, il faut considérer la classe comme un premier argument.
    En C++/Java, une méthode virtuelle est en général une mono-méthode, sinon une "multi-méthode".

    Wikipédia montre un 1er exemple d'imitation de multi-méthodes en C++ (applicable aussi en Java), en déterminant le(s) type(s) manuellement (ici, par essais de transtypages), puis en appelant le bon code.
    La 2è implémentation en C++ est plus élégante mais suppose d'avoir des arguments permutables (d'ailleurs, il faut s'assurer que 'void Asteroid::collide_with(Spaceship *)' et 'void Spaceship::collide_with(Asteroid *)' soient identiques, l'une appelant l'autre).

    Ton exemple de code Java est correct, mais on n'a même pas affaire à des mono-méthodes.
  • # Journal : Sarkocratie et Niconet

    Posté par  . En réponse au message après le blog, voici le spam politique.. Évalué à 2.

  • [^] # Re: Linux 2.6.12+

    Posté par  . En réponse au message probleme avec smbfs des fichier >2Go. Évalué à 1.

    Mais CIFS n'existait pas dans le noyau 2.4.16.
    A moins de s'y connaître suffisamment dans le développement du noyau Linux (ce n'est pas mon cas), je ne vois pas comment tu peux faire.

    Pour info, il y a un patch[1] pour 2.4.21 qui introduit CIFS 0.82. Le patch 2.6.12[2] fait passer CIFS de la version 1.28 à 1.34.

    [1] http://de.samba.org/samba/ftp/cifs-cvs/cifs24.patch(...)
    [2] ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-2.6.12.bz2(...)

    Tu peux toujours tenter de bidouiller. Appliquer [1] et remplacer le contenu de /fs/cifs par celui du noyau 2.6.12[3] mais franchement, j'y crois pas.

    [3] ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2(...)

    Si tu as plus de temps, localiser tous les changements en rapport avec CIFS mais en dehors de /fs/cifs.
    Il y a aussi un cas à prévoir : il se peut que que CIFS 1.34 requiert une version trop récente du noyau. Dans ce cas, tu peux oublier.
  • [^] # Re: re

    Posté par  . En réponse au message rc.local mlnet. Évalué à 1.

    Dans ton cas, il faut utiliser () et non [], exemple:
    Ca marche, mais c'est inutile de lancer un sous-processus. Il n'y a tout simplement rien à mettre, et pour plusieurs commandes, il y a {}.

    De toute façon, écrire
    if su jul -c /usr/local/bin/mlnet & then
    # ...

    n'a aucun sens. La seule chose qu'on peut vérifier à ce stade, c'est que /usr/local/bin/mlnet existe et est exécutable par jul. Est-ce que mlnet s'initialisera correctement ? Ca, on le saura bien après, et bash doit prendre sa décision avant.
    "Si une commande se termine par l'opérateur de contrôle &, l'interpréteur l'exécute en arrière-plan, dans un sous-shell. L'interpréteur n'attend pas que la commande se termine et retourne un code 0." (man bash)

    Peut-être que mlnet propose un paramètre pour rester en tâche de fond et retourner.
  • [^] # Re: j'aime pas les titres

    Posté par  . En réponse au message pb connection freebox. Évalué à 1.

    Tu peux en mettre plusieurs, au cas ou l'un d'eux tombe :)
    "Up to MAXNS (currently 3, see <resolv.h>) name servers may be listed, one per keyword." (man resolv.conf)
    Ou alors utiliser un outil comme dnsmasq, ce que j'ai fini par faire car je trouvais que les serveurs DNS de Free tombaient trop souvent.

    $ cat /etc/dnsmasq.conf
    ...
    no-resolv
    server=212.27.32.176
    server=212.27.32.177
    ...
    $ cat /etc/resolv.conf
    nameserver 127.0.0.1
  • # Linux 2.6.12+

    Posté par  . En réponse au message probleme avec smbfs des fichier >2Go. Évalué à 2.

    Effectivement, CIFS boguait pas mal : le noyau 2.6.12 a l'air de corriger tous les problèmes.
    Rien à signaler depuis que j'ai abandonné smbfs pour cifs, il y a 2 mois (sur Sarge...).
  • [^] # Il ne reste plus qu'à débattre des élections en Allemagne

    Posté par  . En réponse au journal Élections en Allemagne. Évalué à 1.

    A côté de ce "vérifier les autres journaux", on pourrait conseiller de faire le tour de la première page des journaux. Surtout que pour une news aussi récente, on a vite fait de savoir si elle a déjà été postée.

    Je me demande d'ailleurs comment on peut poster un journal sans aller lire un minimum les journaux des autres.

    Quand on voit des journaux (privées) intéressants "disparaître" si vite, je trouve ce "flood" très gênant. Le parcours des journaux devient aussi plus pénible.
  • [^] # Re: tabs et religion

    Posté par  . En réponse au journal GNU/Emacs est-il ésotérique ?. Évalué à 0.

    Si la taille de l'indentation n'est qu'une question de goût, quel avantage peut-il bien y avoir à fixer la taille de la tabulation à 8 si la taille de l'indentation n'est qu'une question de goût ??

    Alors au lieu d'avoir 'une tabulation = une indentation' pour que chacun ouvre un document selon la présentation qu'il préfère, on en arrive à l'aberration suivante : mélanger tabulations et espaces lorsque l'indentation n'est pas un multiple de 8.
  • [^] # Re: Signature.

    Posté par  . En réponse au journal Journaux plus interessants que la page d'accueuil de linuxfr.org?. Évalué à 2.

    Autre solution pour ceux qui utilisent Firefox :
    1. installer l'extension uriid : https://addons.mozilla.org/extensions/moreinfo.php?id=563(...)
    2. ajouter
    body#linuxfr-org .signature { display: none }
    dans chrome/userContent.css (ajouter éventuellement '!important')
  • [^] # Re: man flock ?

    Posté par  . En réponse au message Accès simultanés à un même fichier. Évalué à 3.

    Après quelques tests, y a pas à dire, c'est vraiment coopératif !
    Il faut 3 conditions pour que ce soit impératif :
    1. utiliser fcntl (ou lockf) ; ça ne marche pas avec flock
    2. monter le système avec l'option mand, ce qui n'est pas le cas par défaut
    3. appliquer un 'chmod g+s-x' sur le fichier
  • [^] # Re: man flock ?

    Posté par  . En réponse au message Accès simultanés à un même fichier. Évalué à 1.

    Merci à vous 3 pour m'avoir indiqué le mot magique.
    (Pourquoi n'ai-je pas pensé à regardé fcntl ?)

    Chuis bon pour regarder les sources, mais je doute qu'ils fassent cette erreur. Par exemple pour getmail :
    $ grep -A 2 'Open mbox file' /usr/lib/getmail/getmail_mbox.py
    # Open mbox file
    f = open(mbox, 'ab+')
    lock_file(f)


    J'aime beaucoup ce passage dans linux/Documentation/mandatory.txt : "The most commonly used example of this (and in the case of sendmail, the most troublesome) is access to a user's mailbox."

    Bon, je n'ai plus qu'à potasser tout ça.
  • [^] # Re: head+tail+cut

    Posté par  . En réponse au message sed sélection chaine et saut de ligne. Évalué à 4.

    Oula que de processus pour récupérer le 8 ! J'aurais écrit :
    sed 'N; s/.*to \([0-9]\+\).*/\1/; q' fichier.txt
  • # Moi qui hésitais à recopier celui de Télérama...

    Posté par  . En réponse au journal Wikipedia sur le Monde. Évalué à 3.

    (celui du 3 septembre, p. 20)
    Pour la forme, il vaut mieux aller sur leur site : http://multimedia.telerama.fr/edito.asp?art_airs=M0508301255156(...)