Frédéric Perrin a écrit 207 commentaires

  • [^] # Re: commentaire inutile

    Posté par  (site web personnel) . En réponse au journal Ah le français !. Évalué à 2.

    Moi, j'écrirais ta dernière phrase ainsi :

    Si si, vérifiez, ça commence toujours par : « Il y a bien longtemps dans une galaxie lointaine, très lointaine... ».
  • [^] # Re: AEIOU

    Posté par  (site web personnel) . En réponse au journal Ah le français !. Évalué à 4.

    > Il y a aussi une phrase servant d’exemple, je l’ai oubliée, qui change complètement de sens selon qu’elle est écrite avec ou sans accent.

    Sur la page citée par OP, il y en a quelques unes :

    L'AVOCAT SE FAIT JUGE (il change de métier ou passe sur le banc des accusés ?)

    UN INTERNE TUE (quatre interprétations possibles)

    Ainsi que L'ENTREPRISE DE MACONNERIE (à une espace près, c'est vrai).
  • [^] # Re: Fonction sleep() et nationalité

    Posté par  (site web personnel) . En réponse au journal Orange: La suite. Évalué à 4.

    Euh, ça et l'ensemble du contenu du troisième lien, c'est une blague ?

    Je dirais oui, vue l'énormité de la chose, mais dans la mesure où le document parle aussi du serveur jBoss avec admin/admin, j'ai un doute...
  • # IPFM + net-acct

    Posté par  (site web personnel) . En réponse au message IP accounting. Évalué à 3.

    On utilise deux choses ici :

    - IPFM donne pour chaque hôte interne la quantité de trafic échangée avec l'extérieur, avec une granulosité d'une heure.

    - net-acct, qui donne pour chaque connexion un n-uplet avec un timestamp, le protocole de niveau 4 utilisé (TCP / UDP / ICMP), IP source, IP destination, port source, port destination, timestamp, nombre de paquets échangés, nombre d'octets échangés (enfin, « connexion UDP ou ICMP »... j'me comprends).

    On utilise IPFM pour identifier les gros téléchargeurs / uploaders, net-acct pour rentrer dans plus de détails lorsqu'il y a contestation ou qu'on veut identifier du trafic bizarre.
  • # statfs

    Posté par  (site web personnel) . En réponse au message C/commande : nombre de fichiers sur une partition/disque. Évalué à 10.

    statfs(2), puis la différence entre f_files et f_ffree.

    Ou alors, "df -i". Ça permet d'éviter de parcourir la totalité du système de fichiers :).
  • [^] # Re: Un rasoir ?

    Posté par  (site web personnel) . En réponse au journal Des rasoirs de sûreté. Évalué à 10.

    Je dirais plutôt que c'est ta copine qui n'est pas barbe compatible.
  • # emacs le fait

    Posté par  (site web personnel) . En réponse au message Organisation et prise de notes scientifiques. Évalué à 4.

    org-mode, le mode d'emacs ? C'est du texte pur. Les exports HTML / pdfLaTeX sont possibles. L'impulsion initiale a été de faire un outline-mode plus simple. Il est facile de faire des liens entre les fichiers ou vers des fichiers externes. Le côté moteur de recherche, ce sera M-x rgrep (avec les résultats cliquables pour sauter à la bonne note, mais ce sera peut-être rugueux pour toi, je ne sais pas).

    Parmi les manques : il n'y a pas de "rigidité" imposée. La synchronisation entre postes, ce ne sera pas intégré à org-mode, utilise quelque chose comme mercurial (quoique, emacs permettant de commiter directement depuis l'éditeur, on peut considérer que c'est intégré :-) ).

    Le site du projet : [[http://orgmode.org]], avec le manuel : [[http://orgmode.org/manual/index.html]] pour un aperçu des possibilités.
  • [^] # Re: Pourquoi les gens critiquent toujours python avec de mauvais argumen

    Posté par  (site web personnel) . En réponse au journal Journal inutile : Python c'est complêtement pourri, j'ai un exemple. Évalué à 2.

    En cherchant un peu sur tail recursion python, on trouve pourquoi ça ne sera pas de façon standard dans le langage:
    http://neopythonic.blogspot.com/2009/04/tail-recursion-elimi(...)


    C'est drôle, Guido insiste sur le fait que cela empêche d'avoir une jolie backtrace, alors que cela me semble secondaire. Par contre, il mentionne en passant la gestion des exceptions, ce qui à moi me semble un bien meilleur argument. On ne peut effectivement pas faire de "continuations" si l'on est dans un bloc try, et regarder si on est dans un tel bloc avant de décider si l'on peut optimiser l'appel de la fonction doit être tout de suite moins trivial...
  • [^] # Re: Pourquoi les gens critiquent toujours python avec de mauvais argumen

    Posté par  (site web personnel) . En réponse au journal Journal inutile : Python c'est complêtement pourri, j'ai un exemple. Évalué à 2.

    J'ajouterais un détail. La tail queue récursion n'est utilisable que pour les algos où l'appel recursif est la dernière chose effectuée dans ce programme. Ce n'est pas le cas de la plupart des algorithmes récursifs. Et pour ceux pour lequel c'est le cas, ils peuvent tous très facilement s'écrire avec une boucle while.
    On peut certainement. Je peux aussi faire du calcul numérique en Perl, mais je préférerais le faire en Python :). Réécrire du code à cause des déficiences du compilateur, bof, bof. Ce n'est pas toujours naturel. Dans le cas de la factorielle, je reconnais que la version impérative est aussi claire. Dans l'article WP sur la récursion terminale, il y a un meilleur exemple, le calcul du PGCD :
    def pgcd(a, b):
        if a == 0: return b
        if b == 0: return a
        if a >= b: return pgcd(a - b, b)
        else:      return pgcd(a, b - a)
    Je veux bien que ceci puisse être réécrit avec une boucle while, mais l'écriture sera moins naturelle, et la démonstration que tu as vue en cours de maths sur la validité de cet algorithme ne sera plus valable, il faudra refaire un invariant de boucle (c'est d'ailleurs le cas sur la page WP : en:Euclidean_algorithm#Implementations.
  • [^] # Re: Pourquoi les gens critiquent toujours python avec de mauvais argumen

    Posté par  (site web personnel) . En réponse au journal Journal inutile : Python c'est complêtement pourri, j'ai un exemple. Évalué à 4.

    Help on built-in function setrecursionlimit in module sys:

    setrecursionlimit(...)
    setrecursionlimit(n)

    Set the maximum depth of the Python interpreter stack to n. This
    limit prevents infinite recursion from causing an overflow of the C
    stack and crashing Python. The highest possible limit is platform-
    dependent.


    Cela ne fait que repousser le problème. Le vrai souci est que Python ne sait pas ce qu'est une récursion terminale, c'est pour cela qu'il met une limite à la profondeur de la récursion (et qu'il va consommer une mémoire proportionnelle à la profondeur de la récursion). Bon, chez moi ça segfault à partir de fac(2000), donc la mémoire utilisée viendra plus de Python que du code exécuté...

    Pour mettre du code, j'ai utilisé la balise <pre>, avec l'option sous la boîte de commentaire « texte avec HTML sans retour chariot ».
  • [^] # Re: Pourquoi les gens critiquent toujours python avec de mauvais argumen

    Posté par  (site web personnel) . En réponse au journal Journal inutile : Python c'est complêtement pourri, j'ai un exemple. Évalué à -1.

    Pour continuer dans les problèmes de Python, pas de récursion utilisable :
    % python
    >>> def fac(n):
    ...     def fac_aux(n, p):
    ...             if n == 1:
    ...                     return p
    ...             return fac_aux(n - 1, n*p)
    ...     return fac_aux(n, 1)
    ...
    >>> fac(5)
    120
    >>> fac(999)
    [ ... ]
      File "<stdin>", line 5, in fac_aux
      File "<stdin>", line 5, in fac_aux
    RuntimeError: maximum recursion depth exceeded
    % perl
    sub fac {
            sub fac_aux {
                    my ($n, $p) = @_;
                    return $p if $n == 1;
                    return fac_aux($n - 1, $n * $p);
            }
            my $n = shift;
            fac_aux($n, 1);
    }
    printf "\n%d - %d\n", fac(5), fac(1000000);
    ^D
    120 - -1
    (Bon, le résultat est numériquement faux, mais l'exemple porte sur la récursion; sinon j'aurais utilisé une bibliothèque bignum.) On ne parlera pas de l'impossibilité de dire qu'on veut déclarer à l'avance ses variables pour au moins éviter les typos (il paraît que c'est un avantage).
  • [^] # Re: Il n'y a que moi qui en ai marre...

    Posté par  (site web personnel) . En réponse au journal Demain, osez la serviette !. Évalué à 8.

    Faisons une journée contre les journées contre !
  • [^] # Re: Vers un format unifié?

    Posté par  (site web personnel) . En réponse au journal CUDF, ou la résolution de dépendances universelle. Évalué à 5.

    > Donc à part le recommends/suggests de dpkg...

    Il y a optdepends, qui permet de dire "si tu veux la fonctionnalité X, installe le paquet Y" (comme suggests, quoi)
  • [^] # Re: bah euh

    Posté par  (site web personnel) . En réponse au message chiffrer un email après réception en clair. Évalué à 2.

    C'est vrai, je n'avais pas pensé à cela. Mais les signatures faites par GPG sont signées, non ? Et au pire, tu peux garder en local une table de correspondance date du backup => SHA512 du backup, ou alors inclure dans chaque backup un fichier de méta-données avec en autres la date. Dans ce cas, c'est un peu moins simple que ce que je décrivais...
  • [^] # Re: bah euh

    Posté par  (site web personnel) . En réponse au message chiffrer un email après réception en clair. Évalué à 5.

    Mon détecteur à sarcasme ne sait pas trop comment réagir... Est-ce que tu suggères sérieusement que l'endroit où je stocke déjà ma carte bancaire, ma CNI et ma carte grise est un mauvais endroit pour stocker le mot de passe permettant de déchiffrer mes archives ?

    C'est pas moi qui le dis, c'est Schneier : <http://www.schneier.com/blog/archives/2005/06/write_down_you(...)
  • [^] # Re: bah euh

    Posté par  (site web personnel) . En réponse au message chiffrer un email après réception en clair. Évalué à 2.

    Si tu veux quelque chose de facilement rsync'able, encfs avec son option reverse peut être une solution.

    encfs --reverse /mon/dossier/clair /mon/dossier/chiffré
    rsync /mon/dossier/chiffré ssh://serveurdistant/srv/backups

    De cette façon, tout est chiffré, tu n'as pas besoin d'avoir confiance en l'admin de la machine distante, etc. (enfin, si, il doit être possible pour lui de supprimer des dossiers ; mais pas d'en modifier ou d'en ajouter).

    Sinon, l'autre façon est d'utiliser gpg, quelque chose du genre (non testé) :

    tar -c -f - -C /home/PegaseYa Mails | gpg --encrypt --sign | ssh serveurdistant "cat - > /srv/backups/Mails.tar.gpg"

    (Signer + chiffrer, de cette façon l'admin de serveurdistant ne peut pas modifier tes backups à ton insu.)
  • [^] # Re: gourage de site

    Posté par  (site web personnel) . En réponse au journal Appel aux testeurs Windows pour Darcs 2.4.4. Évalué à 8.

    C'est justement parce qu'il est en manque de testeurs d'un logiciel libre sur une certaine plateforme que geh poste ici. S'il y avait beaucoup d'utilisateurs de Darcs on Windows, il n'aurait pas eu besoin de cet appel...

    Quant à la pertinence de ce journal, moi je trouve que la recherche de testeurs pour un LL a sa place ici.
  • [^] # Re: Iceweasel

    Posté par  (site web personnel) . En réponse au journal Declaration impot sur le revenu en ligne interdite pour Linux. Évalué à 2.

    Mais de toute façon, corrigez-moi si je me trompe (je suis trop jeune pour déclarer des impôts), mais le gros de la déclaration est fait dans une applet Java. Hors, Java est portable, tourne de la même façon dans toutes les VM certifiées Sun, et tous les OS cités disposent d'une telle VM. Ce n'est pas le cas ?
  • [^] # Re: Gros ratage.

    Posté par  (site web personnel) . En réponse au journal De l'abération de la notion même d'antivirus. Évalué à 1.

    Maintenant (et je considère cela comme une faille de sécurité) il y a certain cas où le fichier à les droits d'exécutions sans que tu le demandes (quand on décompresses une archive *.zip *.tar.gz).

    echo umask 0155 >> ~/.${SHELL}rc
  • [^] # Re: Nouvelles fonctionnalités

    Posté par  (site web personnel) . En réponse à la dépêche Emacs, brevets, et Ubuntu Unity et Light. Évalué à 3.

    Visiblement, il y a des soucis entre GCC 4.5.0, -O2 et emacs :

    http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg000(...)
  • [^] # Re: Oh yeah

    Posté par  (site web personnel) . En réponse au journal Mandriva et Linagora. Évalué à 4.

    Bullshit!
  • [^] # Re: Adieu Mandriva

    Posté par  (site web personnel) . En réponse au journal Mandriva et Linagora. Évalué à 4.

    FreeBSD (ou son petit frère PC-BSD) ?
  • [^] # Re: Montée

    Posté par  (site web personnel) . En réponse au journal Comment MegaVideo parvient-il à financer sa bande passante ?. Évalué à 6.

    Tiens, j'avais toujours pensé que c'était parce que Free avait intérêt à conserver le plus de trafic "en local", parce que des abonnés qui vont sur *.free.fr ça coûte moins cher que des abonnés qui vont sur youtube.com. Je ne voyais pas cela comme un moyen d'équilibrer les flux de peering, plutôt réduire la taille des tuyaux vers l'extérieur...

    L'utilisation des pages persos comme contenu pour les eyeballs des autres opérateurs est réellement prépondérante dans le choix de cette offre de pages persos, ou c'est de la spéculation ?

    (Et il n'est réellement pas envisageable que la fondation Free ait fait cela par bonté d'âme ? Je peux ravoir de la guimauve ?)
  • [^] # Re: Tout ça ...

    Posté par  (site web personnel) . En réponse au journal Pulseaudio vs JACK. Évalué à 9.

    Et aujourd'hui, FreeBSD (et sûrement d'autres OS) utilise OSS. On peut lancer plusieurs applications qui émettent du son en même temps, c'est géré par le noyau comme tout ce qui touche au matériel est censé être, d'après ce que je lis (je n'ai jamais eu besoin de jouer des sons dans mes applis) on a une API raisonnable...
  • [^] # Re: [:aloy]

    Posté par  (site web personnel) . En réponse au journal Pulseaudio vs JACK. Évalué à 3.

    Emacs is my operating system, and Linux (or Hurd, or kFreeBSD) its device driver

    Donc non, emacs et Hurd ne se font pas concurrence :)

    Je n'aurais jamais dû mentionner emacs...