gc a écrit 2109 commentaires

  • # meuh

    Posté par  (site web personnel) . En réponse au journal Katsumi géante le 25 mai 2006 ! Help !. Évalué à 3.

    en voilà encore un qui aura l'air d'un con le 26 mai[1].

    [1] quant à moi je m'en fous, si c'est vrai ça va forcément submerger les serveurs de linusqueferre et toute trace originale de ces propos seront détruits[2]
  • [^] # Re: socket serveur / client

    Posté par  (site web personnel) . En réponse au message socket serveur / client. Évalué à 2.

    Pour fermer ma socket, j'utilise la meme fonction pour le client et le serveur (j'ai fait une librairie multi systeme pour les socket avec les fonction de base, dont close(...) ). Pour le serveur la fonction en question ne me sort aucun segfault et se comporte tres bien, du coté client elle plante lamentablement.... ;)

    normalement "planter" correspond à un appel mémoire incorrect (le kernel détruit ton processus car il a tenté d'accéder à un espace mémoire auquel il n'a pas accès). c'est rare que ce soit le cas avec les syscalls et impossible avec close(2). es-tu sûr que c'est sur l'appel de close ? si tu lances ton client à travers strace tu devrais voir quel est le dernier syscall avant le plantage, ça pourrat aider. si c'est un appel mémoire incorrect, lancer ton client à travers valgrind pourrait aussi grandement aider en indiquant des infos utiles de localisation du problème.
  • [^] # Re: unix, udp, tcp

    Posté par  (site web personnel) . En réponse au message socket serveur / client. Évalué à 3.

    pour le accept : impossible, le serveur doit etre capable de gerer des connexions simultanées...

    tu te trompes. après le succès de accept(2), tu utilises la valeur de retour comme moyen de communication avec le client qui vient de se connecter, et tu peux faire un autre accept(2) pour accepter une deuxième connexion en parallèle. pour traiter correctement en parallèle cette deuxième connexion et la communication sur la première, il te suffit de mettre tous les descripteurs nécessaires dans un fd_set à passer à select(2).

    voici un code minimaliste illustrant ça :

    -=-=---=-=---=-=---=-=---=-=---=-=---=-=--
    struct sockaddr_in client_addr;
    struct timeval tv;
    while (1) {
        int fd;
        int retval;
        fd_set conns_set;
        
        FD_ZERO(&conns_set);
        /* ... ajout des descripteurs des connexions ouvertes à conns_set ... */
        // ajout du descripteur correspondant à notre serveur
        FD_SET(tcp_server_socket, &conns_set);
        
        tv.tv_sec = 30;
        tv.tv_usec = 0;
        
        // attente d'une entrée/sortie sur un des descripteurs de conns_set
        if ((retval = select(FD_SETSIZE, &conns_set, NULL, NULL, &tv)) == -1) {
            perror("select");
            exit(-1);
        }
        
        // si select est sorti sur un timeout, rien à traiter, on boucle directement
        if (!retval)
            continue;
        
        /* ... traitement de l'input sur les descripteurs des connexions ouvertes s'ils sont toujours dans conns_set ... */
        
        // traitement d'une nouvelle connexion
        if (FD_ISSET(tcp_server_socket, &conns_set)) {
            if ((fd = accept(tcp_server_socket, (struct sockaddr *) &client_addr, (socklen_t *) &len)) == -1) {
                perror("accept");
                exit(-1);
            }
            
            /* ... ajouter "fd" dans la liste des descripteurs de connexions ouvertes ... */
        }
    }
    -=-=---=-=---=-=---=-=---=-=---=-=---=-=--
  • [^] # Re: Il est temps de faire qqch contre ça

    Posté par  (site web personnel) . En réponse au journal Les francais sont des pirates. Évalué à 2.

    Au contraire de ce que tu penses, un/une secrétaire qui maitrise bien les outils bureautique fait une grande différence, donc c'est demandé pour de vrai. C'est un handicap qu'ont malheureusement beaucoup de secrétaires âgé/âgées car les générations plus jeunes ont une maîtrise plus facile/rapide/innée.
  • [^] # Re: ...

    Posté par  (site web personnel) . En réponse à la dépêche Erlang/OTP R11B supporte les architectures multiprocesseur. Évalué à 7.

    OCaml le joujou de recherche plus rapide ? Ca vient surtout du compilo et le langage n'est pas complexe ;).

    ouatte ?? c'est vrai que l'inférence de types, les types paramétriques, le garbage collector hybride, l'héritage multiple, le pattern matching, tout ça c'est nettement plus simple qu'un bête compilateur C (qui je le rappelle ne fait rien de compliqué à part l'optimisation puisque c'est un traducteur quasi litéral vers le code assembleur).
  • [^] # Re: Des infos supplémentaires

    Posté par  (site web personnel) . En réponse au message Pas de son dans kino sous Mandriva 2006. Évalué à 2.

    greffon de sortie : Pilote OSS 1.2.10 [libOSS.so]

    C'est la sortie tout ce qu'il y a de plus standard ! A partir de là, pas facile de deviner pourquoi ça ne satisfait pas Kino, peut-etre ton idée entre 32000 et 44100 Hz serait une bonne piste mais je ne vois pas trop quoi faire à partir de là surtout sans accès à la machine.. désolé :/

    le kernel a été chargé depuis la liste proposée depuis l'installateur de packetages Mandriva

    Donc pas grand chose à critiquer non plus de ce point de vue...

    Je suis un peu à sec du coup.. peut-être si tu trouves un copain linuxien proche de chez toi ou bien une bonne âme pouvant t'aider sur les chats..
  • [^] # Re: Des infos supplémentaires

    Posté par  (site web personnel) . En réponse au message Pas de son dans kino sous Mandriva 2006. Évalué à 2.

    Comment vais-je voir le "périphérique audio" qui t'intéresse ?

    clic bouton droit, options, preferences, output plugin.

    J'ai une carte son ancienne. Pour la faire marcher dans Mandriva 2006, il a fallu charger un nouveau kernel (2.6.12.18 au lieu de 2.6.12.12 je crois). Le problème pourrait-il venir d'un problème de troisième ordre avec la carte ? (je dis de troisième ordre, car kino marchait avec cette même carte son sous Mandrake 10.1)

    Tu n'utilises plus un kernel mandriva alors ? (que dit "uname -a" ?)
  • [^] # Re: Des infos supplémentaires

    Posté par  (site web personnel) . En réponse au message Pas de son dans kino sous Mandriva 2006. Évalué à 2.

    J'ai essayé de désactiver arts (dans "configurer votre bureau") mais ça ne marche pas mieux

    c'était pourtant ma meilleure piste :/

    après désactivation de arts, va dans une console et tappe "ps auxw|grep arts", qu'est-ce que ca te donne ?

    Je ne sais pas ce que signifie un "autre logiciel de son" et xmms.

    un autre logiciel qui utilise le son, désolé du manque de précision. xmms en est un. tu peux l'installer avec "urpmi xmms" en root. ensuite lance le, demande lui de jouer un mp3, ogg ou wav pour voir ce que ça donne.

    * "output plugin" : tu veux dire le paramètre "périphérique audio" des préférences de kino ? C'est /dev/dsp.

    c'était plutot celui utilisé par xmms si il arrive à jouer du son qui m'intéresse.

    C'est donc le système de son qui drive les logiciels temps-réel comme kino ? Très intéressant.

    je pense que ca dépend du logiciel. kino est le seul que je connaisse qui fait ça. mplayer par exemple (pour jouer des vidéos) n'a pas ce problème. je pense que c'est une question de programmation du logiciel ; peut-etre lié aux contraintes spécifiques au format DV.

    pour l'ieee1394 perso je dumpe les vidéos en console avec "dvgrab" et au besoin je passe root avant de le faire donc je ne peux pas vraiment t'aider. tu parles de réseau par ieee1394, ça peut être une piste : vérifie que tu n'as pas le module "eth1394" de chargé - pour faire, passe root et tappe "lsmod" et regarde s'il liste eth1394 - si oui, tappe "rmmod eth1394" pour l'enlever.
  • [^] # Re: Des infos supplémentaires

    Posté par  (site web personnel) . En réponse au message Pas de son dans kino sous Mandriva 2006. Évalué à 2.

    * Pas de son

    est-ce qu'un autre logiciel de son fonctionne ? xmms ? comment est-il configuré dans "output plugin" ?

    * Vitesse accélérée,

    conséquence directe de l'absence de son - tu peux ignorer ce problème tant que tu n'as pas résolu le problème du son

    modprobe n'est pas une commande connue par le système

    doit être effectué en tant que root.

    Cela pourrait-il venir que précédemment, je n'avais pas installé exactement les bonnes bibliothèques au fur et à mesure où j'allais les chercher sur tpm/pbone.net quand l'installateur me le demandait ?

    peut-etre mais pas évident d'en etre sur comme ca. mais comme dit plus haut la regle d'or est d'eviter autant que faire se peu les packages non fournis "officiellement".
  • [^] # Re: meuh

    Posté par  (site web personnel) . En réponse au message GTK+: Connaitre la taille effective d'une fenêtre. Évalué à 2.

    comment tu expliques que ce code fonctionne[1], alors ?

    [1] au démarrage de l'application, la taille et position au dernier quit sont conservés
  • # meuh

    Posté par  (site web personnel) . En réponse au message GTK+: Connaitre la taille effective d'une fenêtre. Évalué à 2.

    1. je n'arrive pas à obtenir la taile *réelle* de la fenêtre principale de mon application. J'utilise actuellement get_allocation mais la valeur renvoyée ne me semble pas réaliste. J'ai l'impression que c'est la taille minimale requise par les widgets, et pas la taille actuelle de la fenêtre...

    Voilà ce que j'utilise pour sauvegarder et restorer la taille et la position de la fenêtre de mon application en ruby/gtk[1] :

    Restoration :

    if $config['pos-x'] && $config['pos-y']
    $main_window.move($config['pos-x'].to_i, $config['pos-y'].to_i)
    else
    $main_window.window_position = Gtk::Window::POS_CENTER
    end
    $main_window.set_default_size(($config['width'] || 600).to_i, ($config['height'] || 400).to_i)

    Sauvegarde :

    $main_window.signal_connect('configure-event') {
    x, y = $main_window.window.root_origin
    width, height = $main_window.window.size
    $config['pos-x'] = x
    $config['pos-y'] = y
    $config['width'] = width
    $config['height'] = height
    false
    }

    Je suggèrerais donc plutôt configure-event à size-allocate suggéré précédemment.

    [1] http://www.booh.org/
  • [^] # Re: Des infos supplémentaires

    Posté par  (site web personnel) . En réponse au message Pas de son dans kino sous Mandriva 2006. Évalué à 2.

    NB : kino n'est pas dans la distribution Mandriva 2006 Free, alors qu'il l'était dans la 10.1 commercialisée

    Il l'est mais peut-être pas dans les CDs si tu as installé de cette manière (tout ne tient pas sur le jeu de CD/DVD). Tu peux l'installer si tu as un accès à Internet en rajoutant un médium adéquat. Le site easyurpmi.zarb.org est la manière la plus simple de ce faire.
  • [^] # Re: meuh

    Posté par  (site web personnel) . En réponse au journal Java bientot libre ?. Évalué à 3.

    Certes et je ne le nie pas. Mais plus pertinent ?

    Peut-être faudrait-il plutôt :

    Ce commentaire est-il désopilant ou chiant à mourir ?
  • # meuh

    Posté par  (site web personnel) . En réponse au message Pas de son dans kino sous Mandriva 2006. Évalué à 2.

    lecture : regarde les paramètres, surtout le backend vidéo

    son : si t'es sous KDE et que t'as arts d'activé c'est possible qu'il soit assis sur le device. regarde dans kino s'il peut utiliser arts (ce dont je doute) ou désactive arts ("serveur de son") dans les parametres KDE.
  • # meuh

    Posté par  (site web personnel) . En réponse au message Configuration DNS (Gandi). Évalué à 1.

    il me semble que c'est pas ca qu'il te faut. il faut que tu rajoutes un serveur DNS sur ton serveur dédié et que tu changes l'enregistrement whois DNS de ton domaine sur l'interface gandi en mettant l'IP / les IPs de ton/tes serveurs dédiés. ca doit apparaitre comme "name server" dans les requetes whois. exemple :

    gc@ryu:~$ whois booh.org | tail
    Name Server:NS0.ZARB.ORG
    Name Server:NS1.ZARB.ORG
    [...]


    dans "Administration" choisir "modify parameters of a domain name", tu te logges, tu choisis ton domaine puis en bas dans "Modify nameservers of domain name toto.com" tu mets ton/tes serveurs DNS.

    pour la config de ton serveur DNS par contre je n'y connais rien :) mais ca doit se trouver en cherchant et lisant.
  • [^] # Re: Rhhhaaa... bah non.

    Posté par  (site web personnel) . En réponse au journal PS3 et linux. Évalué à 2.

    c'est a dire ?

    lien ?
  • [^] # Re: meuh

    Posté par  (site web personnel) . En réponse au journal Java bientot libre ?. Évalué à 7.

    c'est assez grandiose que ton commentaire ait 7 de pertinence et le mien 2 :)

    /me vote pour une suppression pure et simple du système
  • # meuh

    Posté par  (site web personnel) . En réponse au journal Java bientot libre ?. Évalué à 3.

    c'est pas exactement ce qu'ils disent déjà depuis pas mal de temps ? "oui oui on va le librifier on peut pas prometter quand mais oui on le fera".

    il faut qu'ils se décident vite vite avec que .net leur bouffe tout.
  • # meuh

    Posté par  (site web personnel) . En réponse au journal Nouvel annuaire d'applications libres. Évalué à 10.

    un annuaire sans possibilité de rentrer une recherche, c'est vraiment pas l'idéal...
  • [^] # Re: NAT traversal

    Posté par  (site web personnel) . En réponse à la dépêche FreeCast traverse les NATs. Évalué à 3.

    Néanmoins pour moi c'est un hack affreux pour pallier aux deficiences de cet autre hack affreux qu'est le NAT.

    d'autant plus que je ne suis pas sûr qu'il soit efficace tout le temps. le hole punching de bub n bros ne passe pas mon NAT par exemple (modem routeur).
  • [^] # Re: meuh

    Posté par  (site web personnel) . En réponse au journal Shake : secouez vos fichiers, c'est pour leur bien !. Évalué à 2.

    merci des infos. pour freebsd, j'ai plus vite fait d'internaliser memmem() ;p (ce qui est déjà fait, du coup)
  • [^] # Re: meuh

    Posté par  (site web personnel) . En réponse au journal Shake : secouez vos fichiers, c'est pour leur bien !. Évalué à 2.

    parce que lors du transport réseau on dispose de la longueur des messages envoyés, pas besoin donc d'une part de transporter un octet terminateur supplémentaire, et d'autre part les fonctions sur les chaines sont plus couteuses que les fonctions sur taille fixe vu qu'elles doivent detecter la fin de la chaine qui est à une position indéterminée.
  • # meuh

    Posté par  (site web personnel) . En réponse au journal Shake : secouez vos fichiers, c'est pour leur bien !. Évalué à 2.

    Ça tourne seulement sous Linux, mais je serais content si quelqu'un essayait de le porter sur le NetBSD de son moulin a poivre. J'utilise strdupa pour pas choquer ceux qui aiment pas les goto clean, et aussi getopt_long, mais je suis prêt à supprimer tout ça si ça peut aider.

    Justement vu son besoin de _GNU_SOURCE est-ce que "strdupa" est utilisable sous *BSD ? (et note que selon la manpage d'alloca (utilisé par strdupa) il faut pas l'utiliser, c'est le Mal) (c'est dommage parces que c'est fantastique et là je te rejoins)

    Corollaire, est-ce que memmem est utilisable sous *BSD[1] ?

    [1] C'est pour un projet secret de serveur de jeu secret écrit en C.
  • [^] # Re: Risque réel?

    Posté par  (site web personnel) . En réponse au journal Graves problèmes de sécurité dans x.org. Évalué à -1.

    Donc ca impacte uniquement les utilisateurs de SELinux et compagnie. C'est a dire finalement pas grand monde meme du coté des serveurs.
  • [^] # Re: Théo : one point - X.Org : (void *)NULL

    Posté par  (site web personnel) . En réponse au journal Graves problèmes de sécurité dans x.org. Évalué à 0.

    le.. ?