lcld a écrit 74 commentaires

  • [^] # 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(...)
  • [^] # Re: et pourquoi pas XFS ?

    Posté par  . En réponse au journal Système de fichier et serveur en prod. Évalué à 1.

    Je n'utiliserais pas XFS sur Sarge (Linux 2.6.8), étant donné que la version 2.6.10[1] corrige de nombreux bugs apparemment importants, par exemple : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=292290(...)

    [1] http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.10(...)
  • [^] # Re: Bitrate minimum ?

    Posté par  . En réponse au journal Lecteurs MP3 : test du Samsung YP-F1Z. Évalué à 1.

    Quelques précisions :
    - Tous les débits indiqués sont pour le stéréo. Le mono est supporté et le débit minimum est 48 kbps.
    - Ce que j'ai dit pour le multiplexage est inexact. Si j'avais utilisé oggdemux au lieu de... de... MS Graphedit #loin#
  • [^] # Bitrate minimum ?

    Posté par  . En réponse au journal Lecteurs MP3 : test du Samsung YP-F1Z. Évalué à 1.

    Pour le YP-ST5X (firmware 1.560) que je viens d'acheter :

    Réponse courte : 64 kbps

    Le Samsung n'était pas mon premier choix. J'avais surtout peur pour le support du ogg. iRiver était aussi critiqué à ce niveau. Pour les autres marques que j'ai pu trouver dans le commerce, aucune critique sur le net, positive ou négative, mais si ça se trouve ce n'est pas mieux.

    * XiphWiki : http://wiki.xiph.org/index.php/PortablePlayers(...)
    * The Yeep support site (+ forum) : http://www.cczclan.com/yp-55.asp(...)

    En fait, ce n'est pas vraiment une question de bitrate minimum. J'aurais bien aimé profiter de l'outil rehuff[1], complètement buggé, mais il est souvent possible de réparer le fichier avec ogg-cut[2]. Malheureusement, il arrive que le lecteur plante ou que le son soit complètement déformé.
    - test 1 : encodage à 128 kbps -> ok
    - test 2 : encodage à 128 kbps -> rehuff -> plantage du lecteur à une chute du débit
    - test 3 : encodage à 64 kbps -> ok
    - encodage < 64 kbps : refus de lire
    Pourtant, en analysant le débit ('vex -d -pk -pg -s -w' donne suffisamment d'infos), le test 3 atteint des débits plus faibles que le test 2.

    Il est très facile de faire planter le lecteur avec certaines options d'oggenc comme --max-bitrate.

    Autre cas : le multiplexage
    ogg lisible -> multiplexage -> ogm -> démultiplexage -> ogg illisible (plantage)
    La piste extraite a pourtant l'air nickel (dixit vex, ogginfo).

    Il y aurait aussi des limitations quant à l'utilisation de tags[3] mais je ne peux rien dire car je ne tagge jamais.

    [1] http://lists.xiph.org/pipermail/vorbis-dev/2002-August/006266.html(...)
    patch 1 : http://lists.xiph.org/pipermail/vorbis-dev/2002-August/006287.html(...)
    patch 2 : http://lists.xiph.org/pipermail/vorbis-dev/2002-August/006295.html(...)
    [2] http://sourceforge.net/projects/ogg-cut/(...)
    -> pour essayer de réparer : vex --serial-number -1 -nf -sin in.ogg 0 - out.ogg
    [3] http://wiki.xiph.org/index.php/Talk:PortablePlayers#Samsung.27s_Yep(...)