JaguarWan a écrit 331 commentaires

  • [^] # Re: probleme de liens :)

    Posté par  . En réponse au journal Pr0nographie sur l'intarweb. Évalué à 3.

    C'est fixé (vestiges du umask de mon home :] ).

    Le patch pour Xorg vient de http://www.alib.jp/files/patch-i945GM (pour FreeBSD) à la base, et celui pour Mesa d'Ubuntu il me semble.

    Ils correspondent à ceux proposé ici http://www.fzu.cz/~kolorenc/d620/, mais avec les noms de fichiers corrigés pour être appliqués sur un Xorg vanilla.
  • [^] # Re: Coïncidence...

    Posté par  . En réponse au journal Pr0nographie sur l'intarweb. Évalué à 3.

    Pour le WiFi, il n'y a ma connaissance aucun driver *entièrement* libre sous Linux pour le chip ipw3945 (par contre les BSDistes en ont un en OpenBSD-current); donc il est probable que le petit daemon binaire intel tourne en root sur ta bécane sans même que tu le saches.

    Ou alors tu as un ipw2200 et tu es un veinard :)

    Pour le suspend, c'est assez fourbe car il y a plusieurs patches. Celui intégré au noyau est semble-t-il moins avancé que le patch populaire Suspend2; par exemple il ne gère pas le SMP, ce qui est plutôt balot sur du dual core. (on peut tricher en utilisant le CPU hotplug cependant)

    Comme Ubuntu patche violemment ses noyaux je n'ai aucune idée de celui utilisé par ta distrib.

    Pour réveiller il faut passer resume2=/dev/ta_partition_swap en paramètre au noyal en admettant que tu utilises Suspend2, que tu suspendes sur le swap et non dans un fichier, et que tu aies une image correcte dans ton swap (pas de reboot ni de montage de partitions entre deux sous peine de corruptions).

    Ça fait beaucoup de 'si' n'est-ce pas ?
  • # bug

    Posté par  . En réponse au journal Profils et Konqueror. Évalué à 3.

    J'utilise des profils file et web très proches des tiens, mais cependant un petit bug subsiste: de temps en temps, la barre de bookmarks apparaît en mode file ou disparaît en mode web :(

    Si tu arrives à contourner ce petit quirck, je suis très intéressé :)
    (je ne suis pas sûr que ça soit le même bug que celui que tu as avec le preloading, notamment car quelque fois la barre de bookmark apparait en mode file alors que dans ton bug c'est seulement le profil file qui remplace le profil web).
  • [^] # Re: le parfait amour c'est jamais gratuit.

    Posté par  . En réponse au journal Pr0nographie sur l'intarweb. Évalué à 4.

    Certes, les jolies courtisanes sont coûteuses à entretenir de nos jours. Il m'a fallut débourser pas moins de ~1340¤ (livraison gratuite) pour accéder à ses faveurs (avec une batterie en rab'): en gros le prix d'un MacBook 2 ghz de base.
  • [^] # Avec plaisir :)

    Posté par  . En réponse au journal Pr0nographie sur l'intarweb. Évalué à 8.

    root@selenyx:/home/jaguarwan# lspci
    00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 03)
    00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 03)
    00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 03)
    00:1b.0 Class 0403: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
    00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
    00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
    00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01)
    00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)
    00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)
    00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)
    00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)
    00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
    00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01)
    00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controllers cc=IDE (rev 01)
    00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
    02:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
    02:01.0 FireWire (IEEE 1394): Ricoh Co Ltd: Unknown device 0832
    02:01.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
    02:01.2 System peripheral: Ricoh Co Ltd: Unknown device 0843 (rev 01)
    02:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
    02:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)
    0c:00.0 Network controller: Intel Corporation: Unknown device 4222 (rev 02)
  • [^] # Re: Quelques conseils

    Posté par  . En réponse au journal Achat d'ordinateur portable. Évalué à 3.

    "- Integrated Sound Blaster® Audigy® ADVANCED HD™ Audio- Trial Version"

    Ne te fait pas avoir: ce n'est pas une carte son sound blaster, malheureusement, mais une suite d'applications fournie par Creative. D'où le Trial Version, car en plus les Windowsiens doivent payer un supplément pour avoir le truc complet.

    Le chipset son intégré à l'ICH7 c'est un Intel HDA Sigmatel, que je trouve fort acceptable au demeurant. Dommage qu'il ne fasse pas de mixage hardware.
  • [^] # Re: Quelques conseils

    Posté par  . En réponse au journal Achat d'ordinateur portable. Évalué à 2.

    Je viens d'acheter ce même modèle, et j'en suis très content.

    En gros, pour ~1300¤ j'ai la configuration suivante:
    * Core Duo T2500 @2ghz
    * 2 gigs de RAM @ 533 mhz (promotion DELL)
    * écran 14" 1200x800 mat
    * chip vidéo i945gm (marche en recompilant xorg 6.9 et en utilisant 955resolution - out of the box avec un Xorg 7.1 paraît-il)
    * son Intel HDA (marche out of the box avec kernel 2.6.17 - prévoir asound.conf)
    * ethernet broadcom BCM4401 (marche nickel avec le 2.6.17)
    * wifi intel 3945 a/b/g (driver douteux d'intel, si tu te fous du daemon binaire ça marche donc)
    * lecteur de carte SD/MMC Ricoh R5C822 géré par le 2.6.17 mais je n'ai pas testé
    * graveur Philips reconnu par cdrecord et k3b
    * une batterie supplémentaire

    En gros, c'est équivalent à un macbook 2 ghz sans l'écran brillant douteux ni la puce TPM diabolique.

    Le bousin est donc plutôt Linux-friendly, chauffe très peu (on peut le mettre sur ses genoux sans se brûler, même en compilant), silencieux, bref ça correspond tout à fait à ce que je cherchais dans mon journal d'il y a pas longtemps (merci au passage à ceux qui m'ont conseillé) :)

    Pour la livraison, j'ai commandé un mercredi soir et j'ai reçu la machine le lundi, donc c'est honnête.

    Si tu veux plus d'informations, regarde sur OSnews ici:
    http://osnews.com/comment.php?news_id=15117

    Et avant de faire ma décision j'avais lu ça:
    http://www.notebookreview.com/default.asp?newsID=2950&re(...)
    (à noter, mon transfo ne fait pas de bruit bizarre, par contre moi aussi le petit taquet de fermeture bouge un peu si on le triture, m'enfin rien de génant)

    Quand j'aurais fini de tout configurer je posterais un journal ici :) (il me reste encore les touches spéciales à binder et à configurer le software suspend :D).
  • # Les maîtres pornographes...

    Posté par  . En réponse au journal Encoder ses vidéos pour le web. Évalué à 6.

    ... se sont posé la question bien avant toi, petit scarabée :)

    Il suffit de faire une recherche quelconque sur aMule pour voir que les formats les plus employés sont le bon vieux MPEG2 qui passe vraiment partout (mais que tu as oublié dans ta liste ! compression trop faible à ton goût ?) et le avi/MPEG4/mp3 qui a le vent en poupe depuis que le grand public a découvert les "divisques".
  • # flock(2)

    Posté par  . En réponse au message Bloquer l'accès à un fichier utilisé. Évalué à 6.

    Tu peux essayer flock(2) (BSD) ou lockf(3) (POSIX), mais ce sont des verrous 'coopératifs'; c'est à dire que si une autre application quelconque a les droits sur le fichier verrouillé, elle peut passer outre.

    Si tu n'a pas d'impératif de portabilité, tu peux faire du mandatory locking (imposé à tous les processus) avec fcntl(2), mais bon il faut que le système de fichier le gère et soit monté avec l'option -o mand, etc... Donc je suis pas sûr que ça t'intéresse.

    Sinon, une solution bête et méchante serait de copier le fichier en mémoire (pas avec mmap(2), les changements faits par d'autre processus seraient visibles) et d'écraser l'original quand tu as fini de travailler dessus en mémoire.
  • # Indentation

    Posté par  . En réponse au journal identification sur freenode et ghost. Évalué à 4.


    Salete , pre impose de gros interligne qui ne servent a rien , et code me perd l'indentation , donc voila , je le laisse comme cela ! desolé


    Quand je veux copier du code ici, je remplace les Quatre Espaces® d'indentation par des espaces insécables, qui sont épargnés par Templeet.
  • [^] # Re: plus de serveur que de site client

    Posté par  . En réponse au journal OpenID : l'authentification décentralisée.. Évalué à 5.

    Nope, on est *la seule espèce* :)

    Le coup des lemmings suicidaires ça vient d'un documentaire Disney: ne sachant pas expliquer la diminution soudaine et massive des lemmings à certaines saisons, ils ont popularisé une théorie selon laquelle ils se jetaient des falaises ivres de suicide comme des moutons de panurge idiots.

    En fait, leur population décroît sauvagement à cause des renards et des chouettes du coin qui arrivent à maturité à la période propice et se baffrent de lemmings.

    Je sais plus trop où j'avais lu ça à l'origine, dans Science & Vie je crois, mais c'est aussi cité dans wikipedia:
    http://fr.wikipedia.org/wiki/Lemming
    http://en.wikipedia.org/wiki/Lemming

    On est probablement aussi la seule espèce à prendre les autres espèces pour des cons par défaut.
  • [^] # Re: stdin

    Posté par  . En réponse au message Authentification pour une commande exécutée dans un exec(). Évalué à 2.

    Bon, j'ai même trouvé du code qui marche:

    FILE *s1 = popen("command", "r");

    =

    Process process = Runtime.getRuntime().exec("command");
    BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));

    Y a pas à dire c'est verbeux le Java :)
  • # stdin

    Posté par  . En réponse au message Authentification pour une commande exécutée dans un exec(). Évalué à 2.

    En C une solution serait de trafiquer le processus fils pour remplacer son stdin par un pipe, en utilisant popen(3) par exemple. popen(3) étant POSIX.2, peut être est-elle disponible directement dans l'API Java.

    En Java pur, en regardant sur google vite fait j'ai trouvé ça:
    http://download.eclipse.org/tptp/4.2.0/javadoc/Platform/publ(...)

    Plus particulièrement, la fonction:
    public java.io.OutputStream getStandardInputStream()
    throws ExecutionComponentStateException
    Get the OutputStream for writing to the process's stdin pipe. It is available after process is launched.

    Voilà, j'espère que ça pourra t'aider.
  • [^] # Re: Mmmmoui ...

    Posté par  . En réponse au journal Contourner les firewalls de la censure chinoise. Évalué à 8.

    En plus, passer ce firewall c'est bien, la beauté du geste, toussa... mais ce firewall est là comme mise en application de la loi Chinoise.

    L'utilisateur Chinois qui arrêtera les paquets RST peut donc avoir des ennuis: il suffirait d'enregistrer les clients auxquels on a envoyé plusieurs RST sur une même connexion pour le repérer.

    De plus, il y a déjà moyen de passer le firewall sans bricoler la pile TCP/IP, en utilisant des réseaux comme Tor par exemple (avec les même inconvénients si on se fait attraper).

    Une vraie solution, ce serait que les internautes Chinois obtiennent la suppression de ce firewall, mais je pense que lorsqu'on vit en Chine la censure sur le net doit être le cadet de ses soucis.

    Donc "mouais" :/
  • [^] # "mouvement Goatse"

    Posté par  . En réponse au journal Olivia Ruiz, Olivia Rox !. Évalué à 0.

    CE mouvement, celui qui a traumatisé une génération de newbies ?!

    http://en.wikipedia.org/wiki/Goatse.cx *

    Désolé /o\

    * Et quelqu'un trouvait que la précision de la page consacrée aux vidéo projecteurs à faire soi-même faisait peur, l'autre jour...
  • [^] # Re: Absurde

    Posté par  . En réponse au journal ATI n'aime pas ABI. Évalué à 5.

    Euh, pas de driconf sur ma Slack, j'ai juste RTFM :)

    Pour le RenderAccel, c'est mieux avec l'option XaaNoOffscreenPixmaps désactivée[1] comme dans ma config, sinon ça ralentit plus qu'autre chose; à part ça, aucun problème.

    [1] Ce n'est pas de la magie noire :)

    L'accélération de RENDER n'est que partiellement matérielle dans le cas du driver radeon; or, quand une partie de RENDER est implémentée en software dans le serveur X, ce dernier est régulièrement amené à lire certains pixels en mémoire vidéo, les traiter et ré-afficher le résultat derrière (pour faire de l'alpha blending par exemple).

    Lire en mémoire vidéo, c'est super lent sur x86, d'où le ralentissement quand on active l'option à sec. Mais en désactivant XaaNoOffscreenPixmaps, on permet au serveur X de stocker certaines pixmaps en mémoire système, et donc les accès sont beaucoup plus rapides \o/
  • [^] # Re: Absurde

    Posté par  . En réponse au journal ATI n'aime pas ABI. Évalué à 6.

    Au niveau paramétrage, j'ai trouvé empiriquement que la configuration suivante donnait les meilleurs résultats chez moi:


    Section "Device"
        Identifier "RADEON"
        Driver "radeon" # DRI Radeon driver
        VideoRam 131072 # 128 MB VRAM
        Option "AGPMode" "8" # AGP 8x
        Option "AGPSize" "128" # AGP aperture size
        Option "RingSize" "8"
        Option "BufferSize" "2"
        Option "UseFBDev" "false"
        Option "AccelMethod" "XAA" # Use XFree86 Acceleration Architecture
        Option "XaaNoOffscreenPixmaps" "false" # Faster RENDER acceleration
        Option "RenderAccel" "true" # Enable the hardware render acceleration
        Option "BackingStore" "true" # Faster double buffering
        Option "EnablePageFlip" "true" # Enable page flipping for 3D apps
        Option "ColorTiling" "true"
        Option "DPMS"
        BusID "PCI:1:0:0"
    EndSection


    D'ailleurs j'aurais bien aimé trouver un ordinateur portable équipé d'un R200 dans le commerce, mais apparemment ça ne se fait plus :'(
  • # Absurde

    Posté par  . En réponse au journal ATI n'aime pas ABI. Évalué à 10.

    "PS : Possesseurs de R200, vendez les !! "The R200 OpenGL API entry-point issue still has not been resolved in the 8.26.18 release""

    Pourquoi les vendre alors qu'elles fonctionnent à merveille avec le driver libre intégré à X.org ?

    -- Un heureux possesseur de radeon 9250.
  • [^] # Re: iBook G4

    Posté par  . En réponse au journal Portable optimisé libre. Évalué à 4.

    Merci beaucoup pour ton retour pertinent :)

    Au sujet des MacBook, je serais effectivement intéressé, mais plusieurs choses me chiffonnent:
    * le support Linux semble jeune, je ne suis pas sûr que tout fonctionne bien
    * il y a une puce TPM dedans, peut-on l'utiliser comme 'porte clé' ou bien n'est-elle utilisable que par Apple pour autoriser le boot de Mac OS X ?
    * il paraît qu'ils chauffent énormément

    Si tu as de plus ample informations sur Linux avec un Mac Book, je serais très intéressé :)

    Mais c'est vrai que ce sont de bien belles machines :d
  • [^] # Re: Pour compiler?

    Posté par  . En réponse au journal Portable optimisé libre. Évalué à 2.

    En fait je compte continuer à utiliser Slackware (ou Slackintosh http://workaround.ch/index.html ;) ), mais ton lien est fort intéressant.

    Ça semble confirmer ce que j'avais trouvé, les Centrino Core Duo nécessitent un daemon binaire pour le wifi et le chip graphique n'est pas encore parfaitement supporté.

    D'un autre côté, avec le nouveau driver propre d'OpenBSD et Xorg modulaire, ...
  • [^] # Message de la Kommandantür Grammairienne

    Posté par  . En réponse au journal Petite merde sèche [encore à coté de la plaque]. Évalué à 10.

    Ça fait plusieurs fois que je croise l'expression "logorrhée diarrhéique"; mais c'est très proche d'un pléonasme en fait, je trouve. Du même style que "panacée universelle".

    Le suffixe -rrhée (importé du grec) de ces deux mots a en effet le sens de couler (pour un flot).

    diarhéee > diarroia > diarrein c'est couler à travers, et logorrhée > logos + rein c'est un flot de paroles.

    Logorrhée purineuse ou diarrhée verbale, par exemple, transmettraient tout aussi bien l'idée de flot de mots et d'étron liquide sans répétition sémantique.

    Mes deux ¢ :)
  • [^] # Re: Pour la Slackware

    Posté par  . En réponse au journal osinfo. Évalué à 2.

    jaguarwan@Jaguar:~$ cat /etc/slackware-version
    Slackware 10.2.0
    jaguarwan@Jaguar:~$
  • # La question qui brûle toutes les lèvres:

    Posté par  . En réponse au journal Bill Gates réorganise ses priorités. Évalué à 3.

    Steve Ballmer succédera-t-il à Bill Gates en tant que Chairman ?? ;)
  • [^] # Re: Details

    Posté par  . En réponse au message [C Posix] Histoire de fork de pipe et de select. Évalué à 2.

    Bon, j'ai un remord, même si c'est du code vite fait et premier jet, le _strtoupper est vraiment trop laid; remplace le plutôt par un truc comme ça:

    static inline void _strtoupper(char *s, size_t len)
    {
        if (! s || ! len) return;
        while (len --) s[len] = toupper(s[len]);
    }

    en utilisant la longueur renvoyée par read(2)...

    /!\ le paramètre len revient à strlen() + 1 là (read(2) compte le NUL final)
  • [^] # Re: Details

    Posté par  . En réponse au message [C Posix] Histoire de fork de pipe et de select. Évalué à 2.

    Un peu de code vaut mieux que de longs discours:

    /* gcc -W -Wall -std=c99 -posix -pedantic posix.c */

    #define _BSD_SOURCE
    #define _ISOC99_SOURCE

    #include <stdlib.h> /* libc */
    #include <unistd.h> /* pipe(), fork(), *_FILENO ... */
    #include <stdio.h> /* printf(), BUFSIZ, ... */
    #include <ctype.h> /* toupper() */
    #include <string.h> /* memset() */
    #include <sys/types.h> /* pid_t, ... */
    #include <sys/wait.h>

    #define STRINGIFY(x)  #x
    #define STR(x)  STRINGIFY(x)
    #define ERR(c, f) #c "()::" #f  "() @ " __FILE__ ":" STR(__LINE__)

    static inline void _strtoupper(char *s)
    {
       do *s = toupper(*s); while (*s ++);
    }


    int main(void)
    {
       pid_t pid = 0;
       char buf[BUFSIZ];  /* buffer de lecture */
       int in[2], out[2]; /* les pipes */
       fd_set fd;
       struct timeval tmout;
       int run = 20; /* nombre de tours */
       int len = 0; /* retour de read */

       /* ouvre les pipe d'input/output */
       if (pipe(in) == -1) {
          perror(ERR(main, pipe)); exit(EXIT_FAILURE);
       }

       if (pipe(out) == -1) {
          perror(ERR(main, pipe)); exit(EXIT_FAILURE);
       }

       /* pipe[0] = lecture, pipe[1] = ecriture */

       switch ( (pid = fork()) ) {
          case -1: /* failed */
             close(in[0]); close(in[1]);
             close(out[0]); close(out[1]);
             exit(EXIT_FAILURE);

          case 0: /* papa */
             /* on veut ecrire dans l'input, et lire dans l'output (point de vue fiston) */
             close(in[0]); close(out[1]);
             if (dup2(out[0], STDIN_FILENO) == -1) {
               perror(ERR(main, dup2)); exit(EXIT_FAILURE);
             }
             if (dup2(in[1], STDOUT_FILENO) == -1) {
               perror(ERR(main, dup2)); exit(EXIT_FAILURE);
             }

             /* ecrit un message d'initialisation au bout de cinq secondes */
             sleep(5);
             printf("salut fiston !");
             fflush(stdout);
          break;

          default: /* fiston */
             /* on veut lire dans l'input, et ecrire dans l'output */
             close(in[1]); close(out[0]);
             if (dup2(in[0], STDIN_FILENO) == -1) {
               perror(ERR(main, dup2)); exit(EXIT_FAILURE);
             }
             if (dup2(out[1], STDOUT_FILENO) == -1) {
               perror(ERR(main, dup2)); exit(EXIT_FAILURE);
             }
       }

       /* boucle de lecture/ecriture commune */
       while (run --) {
          /* une seconde de timeout */
          tmout.tv_sec = 1;
          tmout.tv_usec = 0;

          /* c'est pas portable de faire ca avec le vrai stdin, mais la c'est notre pipe */
          FD_SET(STDIN_FILENO, & fd);

          if (select(1, & fd, NULL, NULL, & tmout) == -1) {
             perror(ERR(main, select)); exit(EXIT_FAILURE);
          }

          if (FD_ISSET(STDIN_FILENO, & fd)) {
             memset(buf, '\0', sizeof(buf));

             if ( (len = read(STDIN_FILENO, buf, sizeof(buf))) == -1) {
               perror(ERR(main, read)); exit(EXIT_FAILURE);
             }

             if (len == 0) {
               fprintf(stderr, "%s: connection morte\n", (pid) ? "fiston" : "papa");
               break;
             }
     
             if (pid == 0) {
               /* papa */
               fprintf(stderr, "Le fiston a ecrit: %s\n", buf);
               printf("met-moi ca en caps fiston...");
               fflush(stdout);
             } else {
               /* fiston */
               _strtoupper(buf);
               printf("%s", buf);
               fflush(stdout);
             }
          } else {
             fprintf(stderr, "%s: j'ai rien a faire !\n", (pid) ? "fiston" : "papa");
          }
       }

       /* normalement le fils creve toujours avant, mais soyons propre */
       if (pid == 0) wait(NULL);

       /* vu qu'on a branche les pipe sur stdin/out, cleanup automatique */
       exit(EXIT_SUCCESS);
    }