daggett a écrit 533 commentaires

  • [^] # Re: minimiser l'utilisation du CPU

    Posté par  . En réponse au message minimiser l'utilisation du CPU. Évalué à 3.

    je pense deja qu'il faudrait revenir à un sleep(1) dans la boucle à la place du usleep; usleep(10000) ça n'attend qu'un 1/100e de seconde ! Avec la frequence de scheduling du noyau, c'est à peu près comme ne rien attendre du tout. Et on n'a pas besoin de rafraichir cette info aussi souvent...
    Donc revenir à 1 fois par seconde.
    Ensuite, fermer et rouvrir le fichier à chaque tour, c'est un peu bourrin aussi, mieux vaudrait faire un fopen() une fois avant le while(1), et juste utiliser rewind pour relire depuis le début.
  • [^] # Re: Mode Parano

    Posté par  . En réponse au message Upgrade de ma config: Duron => Core 2 Duo .... sans réinstallation!. Évalué à 2.

    De toute façon, s'il stocke sa nouvelle carte mère sur de la moquette, elle est dejà grillée ;)
  • [^] # Re: Rupert Murdoch : the bad guy

    Posté par  . En réponse au journal MySpace. Évalué à 3.

    si ils m'avaient écouté on aurait un .net et pas un .com !
    Euh, .net c'est pour les opérateurs de réseau et autes FAI... Donc un .com ça me parait normal pour un groupe semi-pro, ou un .org pour un groupe semi-amateur :)
  • # Outils de debug réseau

    Posté par  . En réponse au message Probleme de communication UDP. Évalué à 4.

    A la lecture du code je ne vois rien de choquant...
    Par contre pour voir ce qui passe par le réseau, je te conseille de lancer un ethereal (qui s'appelle wireshark dans ses dernières versions) pour capturer le trafic, ce qui te permettra de voir quelle tête ont vraiment les paquets de 64k. (Attention, comme ethernet a une taille max de paquet d'environ 1500 octets, tu vas te retrouver avec de la fragmentation IP donc plusieurs morceaux pour un paquet UDP, à l'affichage)
    Tu peux aussi simuler des clients/serveurs avec l'outil "netcat" ou "nc" (il a plusieurs noms...) qui permet de recevoir ou d'émettre des paquets, en TCP comme en UDP.
    par exemple "nc -l -p 1234 -u -o dump.txt" pour etre en écoute sur le port 1234 en udp, et faire un dump hexa de ce qui est reçu dans un fichier

    "nc -u host 1234" pour emettre vers ce port (l'équivalent UDP d'un telnet)
    Je ne crois pas qu'on puisse maitrise la taille des paquets UDP émis.
  • # Hide/Show minor mode

    Posté par  . En réponse au message Emacs features ? pliage de parenthèse. Évalué à 3.

    "M-x hs-minor-mode" te permet de lancer le mode mineur qui permet de cacher des blocs; Après tu peux appeler les fonctions hs-hide-block et hs-show-block quand le curseur est dans une fonction, pour la cacher ou la révéler (à binder à ce qui te convient).

    Par contre ça agit au niveau "accolades" du C, pas d'une expression très longue entre parenthèses
  • [^] # Re: En pratique ?

    Posté par  . En réponse au journal Du support des normes HTML dans les navigateurs modernes. Évalué à 5.

    En lisant quelques commentaires du bugzilla, je me rend compte qu'effectivement pour certaines langues à mots très longs (allemand...) ce serait plus que du luxe cosmétique.
  • # En pratique ?

    Posté par  . En réponse au journal Du support des normes HTML dans les navigateurs modernes. Évalué à 5.

    Sans vouloir passer pour un gros rustre de la typographie, est-ce que c'est si utile que ça ? Tant qu'on ne peut pas vraiment faire de présentation multi-colonnes propre à l'heure actuelle (donc étroites), la justification à la truelle me parait suffisante.
    De plus, qui va vraiment s'amuser à coller des soft-hyphens dans tous les mots de son texte ? Il faut avoir dans son éditeur de page web, un dictionnaire complet d'hyphénation qui va les rajouter automatiquement dans le texte édité ?
  • # gpm ?

    Posté par  . En réponse au message Rendre xorg un peu plus "intelligent". Évalué à 3.

    Du point de vue de X, ton lien mouvant ne changera rien, car une fois que X a ouvert le (vrai) fichier correspondant au périphérique en suivant le lien, il doit normalement y rester "accroché": si tu rediriges le liens vers autre chose, X restera sur le 1er.

    Cependant il est peut-être possible de passer par un intermédiaire, genre gpm (utilisé d'habitude pour partager la souris entre X et la console texte) qui lit les devices souris "réels" et qui les réexporte dans un pseudo-device lu par X. Je ne sais pas si gpm peut prendre les changements de matériel dynamiquement, au pire il suffit de relancer gpm et X ne devrait pas s'en appercevoir.

    Je n'ai jamais moi-même bricolé avec gpm cependant
  • # C'est une feature, pas un bug

    Posté par  . En réponse au message Fermer proprement un socket. Évalué à 6.

    La RFC décrivant TCP précise qu'apres la fermeture d'une socket, elle doit rester "inutilisable" pendant un certain temps (typiquement le round-trip time maxi défini pour une communication TCP), pour éviter qu'à une réouverture avec les mêmes ports, on se récupère des bouts de paquets de la connexion précédente qui étaient en transit dans les méandres d'internet.

    Apres avoir terminé une socket, regarde avec la commande "netstat -ap --ip" la liste des sockets existantes dans le système: celles qui sont fermées sont par exemple dans un état "TIME_WAIT".

    Pour forcer le bind d'une socket à l'identique avant expiration du délai, on peut fournir l'option de socket SO_REUSEADDR.
    En C on ferait setsockopt(s,SOL_SOCKET,SO_REUSEADDR, ...) (man setsockopt, man 7 socket) ; en perl il doit y avoir l'équivalent.
  • [^] # linux single

    Posté par  . En réponse au message Impossible de lancer X ou un terminal. Évalué à 3.

    Si aucun failsafe n'est défini par defaut, il faut le forcer à la main:

    Lors du chargeur Lilo ou grub, il faut lui demander à lancer linux dans un runlevel minimaliste pour n'avoir qu'une console texte.

    Sous lilo en mode texte: modifier le kernel à booter en rajouter " single" à la fin
    Sous lilo en mode graphique: il faut taper Ctrl-X pour avoir le mode texte, et faire pareil
    Sous grub: editer l'entrée qu'on veut booter par "e", rajouter "single" à la fin, entrée, et "b" pour la booter.

    Ça devrait lancer linux avec juste un shell root qui te permette d'éditer tes fichiers de conf. Dans ce mode, quasiment rien d'autre n'est lancé (aucun service, tout n'est pas forcément monté, etc...)
  • [^] # Re: Utilité de Hachoir

    Posté par  . En réponse au journal Dernière avancées du Hachoir (il peut écrire !!!). Évalué à 3.

    Ou encore plus simple: aller sur http://keepvid.com/ , rajouter le bouton du haut dans vos bookmarks, et c'est tranquille pour la plupart des sites de videos du même style.
    Apres faut pouvoir lire les .flv, j'alterne entre mplayer et vlc selon le niveau de bizarrerie du fichier.
  • [^] # Re: et la doc ?

    Posté par  . En réponse au message PANNE DEBIAN. Évalué à 2.

    C'est bien la preuve qu'il faut toujours faire un cahier des charges précis. Surtout quand le client ne connait rien en xml.
    </vieille reference inside>
  • [^] # Re: ca dépend...

    Posté par  . En réponse au message "check forced" sur raid0. Évalué à 3.

    Tu ne le précises pas, mais le "check forced" c'est le fsck tous les x démarrages de la machine ? (je n'en connais pas d'autres)

    Je ne vois pas de problème à ça: le système de fichier peut avoir besoin d'être vérifié après un crash de machine, ou régulièrement pour s'assurer qu'il n'y a pas de corruption silencieuse. Cette dernière peut provenir d'un support physique pas très fiable, mais aussi tout simplement d'un petit problème au niveau du dessus: on n'est jamais à l'abri d'un obscur bug du kernel, ou même d'un corruption mémoire (chaleur, barrete de RAM...) qui sera reportée sur disque.

    Et si ça prend du temps... C'est que tu n'as pas de FS journalisé ?

    Le RAID, ça n'est pas la solution miracle à tous les problèmes: ça ne remplace pas les backups en cas de "rm -rf", et ça ne corrige pas les bugs et les erreurs de la couche du dessus (ça ne fait que les reporter plus efficacement sur les disques redondants :) )

    Et pour finir, ton titre de journal parle de "raid 0": tu dis 0 parceque c'est défini sur le device md0, ou c'est vraiment du "RAID-0" au sens de RAID Stripping ( http://fr.wikipedia.org/wiki/RAID_%28informatique%29#RAID_0_(...) ) ? Parceque dans ce dernier cas, désolé de te dire que tu n'a aucune protection de données via le RAID, et que les clusters sont directement des clusters physiques sans redondance... C'est même pire que ça: si tu perd 1 seul disque, tout ton raid de N disques est perdu. Tu voulais sans doute faire du RAID-1, plutot.
  • [^] # Re: Grrr

    Posté par  . En réponse au journal Gnome 2.16 est là !. Évalué à 2.

    Clairement, il y a deux sortes de gens, définitivement impossibles à reconcilier.
    Je fais partie de ceux qui détestent les polices lissées. Et d'après ton commentaire, tu semble trouver les polices lissées de KDE de ton screenshots plus belles et plus lisibles que celle de la fenêtre windows à droite: moi je trouve que c'est l'inverse. A mon goût, elles sont vaguement floues, plus grosses, et plus grasses. Je préfère quelques chose de bien net, et la possibilité d'avoir du texte écrit fin et petit (et sûrement pas un truc écrit énorme pour aveugles comme le screen-shot du commentaire précédent sous gnome (et moi je trouve qu'il bave) ).

    Bon, inutile de se taper dessus constamment à propos des goûts et des couleurs, on voit bien que ça ne mène à rien. Par contre, techniquement, j'apprécierais énormément que les développeurs des libs gnome et autres facilitent la configurabilité et particulièrement la possibilité de tout désactiver. Les fichiers de config XML lisibles par des humains, c'est du pipo.

    Je n'utilise aucun bureau (j'ai jamais trouvé d'avantage à la notion de bureau, mon environnement c'est "plein de xterms" et un FVWM2 configuré pour mes besoins), mais j'utilise des applis (gnome, gtk, firefox). Et pour réussir à désactiver l'antialiasing sans lancer tout le bureau et tous les outils "user-friendly" de configuration, bon courage...
    Dans le temps, sous GTK1, on pouvait exporter un simple "GDK_USE_XFT=0" dans son .xinitrc et c'était réglé. Maintenant... entre la config de firefox, de gtk, de gnome, de xfs... j'avoue que je ne m'y retrouve plus. On a beau décocher dans toutes les configs, ça revient toujours....

    J'ai fini par éditer un obscure fichier de configuration de fontes en xml (je ne sais même plus où) qui semble s'appliquer à tout le système, et je suis maintenant tranquille...

    Par contre, soyons clairs: J'ai éradiqué la famille "bitstream" de mon système et j'ai collé le package "microsoft core fonts" à la place. Aliasée ou pas, y a pas photo.
  • [^] # nouvelle chaine

    Posté par  . En réponse au message Ecouter sur plusieurs interfaces avec IPTABLES. Évalué à 2.

    Personnelement, je crée une nouvelle chaine, appelons-là "private_net":
    iptables -N private_net

    puis dans la chaine standard INPUT je mets juste une redirection vers cette chaines pour les interfaces concernées:
    iptables -A INPUT -i eth1 -j private_net
    iptables -A INPUT -i ham0 -j private_net

    et si besoin l'équivalent dans la chaine OUTPUT avec -o.

    Ensuite tu rajoutes tes regles communes à ton réseau privé dans la chaine private_net
  • [^] # Re: man date ?

    Posté par  . En réponse au message création avancée de répertoires. Évalué à 3.

    Plus exactement, les `` (apostrophes inverses) sont une méthode d'expansion/redirection du shell, qui sont remplacées par la sortie standard de la commande qu'ils contiennent, avant l'exécution du reste de la ligne de commande. C'est bien sûr valable pour n'importe quel usage; ça fait partie de la panoplie générale des redirections, avec | et >.
    Une syntaxe équivalente et un peu plus lisible est $(), qui a l'avantage d'être imbricable.

    Par exemple mkdir $(date | tr ' /()' '____') pour faire un répertoire "mardi_5_septembre_2006,_16:53:55__UTC+0200_"

    (oui, il y avait plus simple et plus utile)
  • # man date ?

    Posté par  . En réponse au message création avancée de répertoires. Évalué à 4.

    mkdir `date +"%Y-%m-%d"` ?
  • [^] # Re: Firefox: 58.2% , Epiphany: 2.7%

    Posté par  . En réponse au journal "Linux" sur le bureau en 2006. Évalué à 3.

    Et j'irai même plus loin : c'est quoi ces manies de dire que ce n'est pas bien qu'un soft prenne 100% de CPU ?

    Parceque c'est en général le signe que l'appli est codée comme un goret (ou du moins qu'il y a un obscure bug qui traine) ? 100% de CPU, ça veut dire soit que c'est une appli qui fait du calcul scientifique intensif, soit qu'il y a une boucle qui fait du polling actif pour rien.
  • [^] # Re: ah ces jeunes...

    Posté par  . En réponse au message Lancer à distance des téléchargements. Évalué à 2.

    Perso, je préfère de très loin rtorrent à btdownloadcurses
    Merci pour l'info, effectivement y a pas photo !
  • # ah ces jeunes...

    Posté par  . En réponse au message Lancer à distance des téléchargements. Évalué à 6.

    ... qui ne connaissent que les interfaces graphiques :)

    Alors il te faut: screen (man 1 screen), wget, et btdownloadcurses

    une fois connecté chez toi via ssh, tu lances un screen ou tu te réattaches à une session screen existance (par screen -dr) et apres, ben wget http://... ou btdownloadcurses (dans le package bittornado, selon les distribs...), puis "Ctrl-a d" pour détacher le screen et te déloguer en laissant les trucs tourner.

    Tu peux crééer d'autres terminaux dans le screen par "Ctrl-a c" et naviguer entre eux par "Ctrl-a espace".

    Sinon, pour le p2p en général, il y a mldonkey qui marche en mode serveur, et attaquable par une GUI native, par telnet, et par interface web.
  • [^] # Re: redimensionner

    Posté par  . En réponse au journal GTK Batch Resizer. Évalué à 2.

    Au cours de mon travail sur un jeu qui va sortir en version 2 bientôt
    Hmmm, ne serait-ce pas là une tentative à peine subtile de lancer le buzz ?...
  • [^] # -print0

    Posté par  . En réponse au message appliquer une action à chaque fichier d'un répertoire. Évalué à 2.

    Pour contourner tout type de caractères pénible (y compris guillemets et quotes): combiner "-print0" de find et "-0" de xargs, pour utiliser le caractère nul \0 comme séparateur.
    Apres tu peux faire un truc du genre:

    find . -maxdepth 1 -type f -name \*.jpg -print0 | xargs -0 -n 1 macommande


    (le -n1 de xargs servant à appeler la commande pour 1 fichier à la fois)
    De cette façon les noms de fichiers sont transmis via pipe à xargs et celui-ci construit directement les arguments de la commande, sans jamais passer par les interprétations éventuelles du shell.
  • [^] # et la fin du man...

    Posté par  . En réponse au message fonction getpgid. Évalué à 2.


    To get the prototypes under glibc, define both _XOPEN_SOURCE and
    _XOPEN_SOURCE_EXTENDED, or use "#define _XOPEN_SOURCE n" for some inte-
    ger n larger than or equal to 500.


    donc, mets ces #define avant tes #include. (la lecture de /usr/include/unistd.h montre que cette fonction n'est déclarée que quand ce #define est actif).
  • # Modèle de clavier

    Posté par  . En réponse au message balise pour html. Évalué à 2.

    J'ai eu ça aussi, tu as probablement mal déclaré le type de clavier pour X, change le "XkbModel" dans xorg.conf de "pc105" en "pc102" (ou bien l'inverse)
  • [^] # Re: pas mieux

    Posté par  . En réponse au message Ne sait pas installer Driver Video Nvidia Mandriva one. Évalué à 2.

    il fallait lire "la touche [TAB]" bien sur...