-=[ silmaril ]=- a écrit 1463 commentaires

  • [^] # Re: 64 bits or not 64 bits

    Posté par  (site web personnel) . En réponse au message Installation bizarre sur Intel 64. Évalué à 2.

    je m'attendais à plus de "puissance" après avoir laché mon vieux amd 1,7Gh / 1 Go de RAM.

    Mouais fait quelques tests plus probants (encodage de fichiers,
    calculs mathematiques, ...). Java n'a jamais été optimisé sous linux
    autant qu'il la été sous windows, et eclipse bah ... c eclipse quoi.

    Ceci dit, je vais tenter de recompiler un kernel adapté pour que ca booste un peu plus.

    Ah ces djeunz ...
    Enfin il faut savoir quand meme que les changement effectués par INTEL dans sa gamme de processeurs pour supporter les instructions x86-64 sont bien moins en profondeur que chez AMD et les performances x86-64 s'en ressentent,

    Enfin l'idée reçue comme quoi les processeurs x86-64 sont plus rapide en 64 bits qu'en 32 est .. une idée reçue. Certains calculs utilisant les registres 64 peuvent etre plus efficaces mais le processeur tourne tjrs a la meme vitesse.

    Et ce qui me gène dans le 64 bit, c'est que certaines appli ne sont pas encore dispo, sur un pure serveur ca ne m'aurait pas géné mais là il me faut des trucs genre skype Open Office, etc...

    Hum skype au boulot ....

    pour le moment j'ai mis un chroot qui fonctionne nickel, et d'ailleurs j'ai l'impression que les applis lancées dans le chroot vont carrément plus vite que celles dans la partie 64 bits :-)

    Le chroot est tres bien, cela te permet de profiter des deux mondes
    alors qu'il est impossible de faire tourner des applis x86-64 en mode x86.

    Sinon à la question : Peut-on installer un kernel "i386" (ou une distrib) non EM64T sur un processeur qui est 64 bits, la réponse est oui ?!

    Les processeurs x86-64 sont compatibles x86 (32 bits) ce qui te permet de fonctionner en chroot.
    Ce n'est pas vrai des processeurs Tru64 (Itanium 1&2 par exemple).
  • [^] # Re: incomprehensible

    Posté par  (site web personnel) . En réponse à la dépêche Faille conceptuelle majeure dans la virtualisation matérielle. Évalué à 10.

    Alors en fait "Blue Pill" est un prototype de rootkit en ce sens que ne faisant rien de mal et etant un projet de travail ce n'est pas au sens premier un rootkit mais fourni une base pour une implementation d'un rootkit performant multi-os et absolument invisible.

    Quand a son fonctionnement il est basé sur les technologies de virtualisation matérielles. Schematiquement une fois executé sur un
    OS 'standard' ne gerant pas les extensions pacifica/VT il va s'installer en tant qu'hyperviseur, sorte de superviseur de système d'exploitation
    chargé de gerer l'acces aux ressources materielles.


    cette activité pouvant toujours être surveillée par un logiciel spécialisé contre les malwares.
    je ne suis pas sur de bien saisir de quelle activitée on parle.

    Je ne comprend pas ton problème, le debut de la phrase explique que les precedents rootkit s'installant en hyperviseur necessitaient une execution precedent le lancement du systeme d'exploitation et partant de la une écriture sur le disque dur notamment dans les secteurs de démarrage. C'est de cela dont il est question (l'ecriture disque).


    Quand aux risques et bien ils sont maximum, le fonctionnement du mode hyperviseur permettant meme d'ecrire sur le kernel du systeme d'exploitation devenu invité.
  • [^] # Re: pas plus pas moins

    Posté par  (site web personnel) . En réponse au message Cablage telephonique par Free. Évalué à 1.

    Non c'est plus compliqué que cela. Les 70euros correspondent a l'intervention d'un technicien chargé de re-activer ta ligne.
    Cela passe par le cablage dans le repartiteur situé a proxymitée
    de chez toi et par les tests automatiques et l'activation de la ligne
    de chez toi par le dit technicien.

    Quand a l'histoire de free qui facture cela 15 euros je pense que
    c'est tout simplement le tarif que FT leur facture.
  • [^] # Re: Pilotes en open source, dur ! dur !

    Posté par  (site web personnel) . En réponse au message Les cartes 3D. Évalué à 1.

    Le probleme n'est pas de fournir des specs pour opengl ou pour directx. Le probleme est que (pour eux) fournir les specs des dernieres cartes donnerait trop d'information au concurrent quand aux techniques utilisees. En effet il faut savoir que les processeurs graphiques utilisés sont incapable de comprendre directement l'opengl ou directx, ils possedent des fonctions que le driver utilise pour interpreter de l'opengl ou du directx (ce qui fait que le driver est si
    important dans ce domaine).

    En plus il existe tres peu de personne capable en disposant des
    specs completes de ces gpu de produire des drivers 3d et encore
    moins capable d'en produire des efficaces.

    Quand aux problemes des pilotes ATI et bien c'est la pile opengl justement. Leur spécialité c'est directx. Nvidia etait orienté (ou a racheté des boites specialisées en ) opengl pro bien avant ATI
    et de fait est bien meilleur en bench opengl.
  • # Ce que j'ai compris:

    Posté par  (site web personnel) . En réponse au journal freedb est mort?. Évalué à 10.

    1/ Il y a trois principales personnes dans le projet freedb:
    Kaiser (proprietaire du domaine)
    Ari
    Jorg

    2/ Ari et Jorg supportaient le dvp d'un logiciel créé par un australien capable de regler la majeure partie des problèmes rencontrés avec leur système actuel et rajoutant un moteur de recherche textuel.

    Cela fait 2 ans que l'equipe supporte/aide le logiciel mais que rien ne vois le jour sur les serveur freedb et que l'outil n'as tjrs pas ete rendu open-source par le dev principal ce qui entraine quelques prises de bec dans l'equipe.

    Le probleme est que il y a quelques jours Kaiser a pris des decision unilaterales a l'encontre de l'australien alors que Jorg et Ari essaient de regler les problemes.

    Resultat Jorg n'a pas aimer que le responsable du projet qui lui bouffait tout son temps lui ai planté un couteau dans le dos comme
    ca et a decidé de partir, meme si cela lui fait mal au coeur car apparament c'est lui qui s'occupait de tout ou presque et qu'il craint que cela entraine l'arret du projet.
    (Il y a une reference a GraceNote qui apres acquisition de cddb a tenté de fermer freedb et ses autres concurrents).

    3/ le depart de Jorg a entrainé celui d'ari pour les memes raison + le
    fait qu'il ne se voyait pas continuer sans Jorg

    4/ resultat Kaiser est obligé d'arreter le projet car incapable de le gerer seul.

    Pour lui il etait plus important que freedb reste open-source plutot que d'acquerir de nouvelles fonctionnalitées 'Web 2.0' reste qu'il semble manquer un peu de diplomatie.

    Voili voilou ce que j'ai compris.
  • # Re:

    Posté par  (site web personnel) . En réponse au message Choix d'un matériel serveur. Évalué à 1.

    bon j'ai fait quelques recherches:

    Xserve
    * Double PowerPC G5 à 2,3 GHz
    * 1 Go de SDRAM DDR400 ECC - 2x512 Mo
    * MDA de 240 Go (3 Serial ATA de 80 Go)

    total HT: 3912.33

    Dell 2950
    * 1 proc Xeon dual-core (evolutif a 2)
    * 1 Go RAM FB-DIMM
    * 3 dd SATA 80Go (evolutif a 6)

    total HT: 3389.33

    pres de 500 euros de difference. Certe dell ne propose pas de 500Go sata
    mais rien ne t'empeche de prendre 6 disques 80go chez dell et de les remplacer apres par des 500Go en reutilisant les 80 ailleurs.

    De plus le Dell propose une alimentation redondante en option un deuxieme cpu dual core, plus de memoire ...
  • # Mauvaise utilisation.

    Posté par  (site web personnel) . En réponse au message Network monitoring. Évalué à 1.

    Je n'aime pas forcement enormement les outils full web-based mais
    au niveau supervision la conf de cacti est quand meme plus simple a
    editer via le web que celle de nagios via fichiers.

    Peut-etre n'a tu pas pris conscience de toutes les capacités de cacti
    notamment au niveau des templates.
    Nous gérons actuellement 30 machines identiques supervisées sous
    nagios et cacti (interfaces reseau, etat cpu, comptage de certains
    processus, suivi de partitions, suivi de perfs des disques, memoire, ...)
    Et je peut t'affirmer que la partie la plus simple a configurer a chaque
    ajout de machine est encore cacti.
  • [^] # Re: Nagios ?

    Posté par  (site web personnel) . En réponse au message Network monitoring. Évalué à 1.

    nagios et cacti ne fonctionnent pas sur les memes sous-parties de
    ce que l'on appelle supervision/monitoring.

    Nagios est la pour analyser l'etat de services et avertir de problemes
    tandis que cacti lui se 'contente' de generer des graphiques (comme mrtg).
  • # Re

    Posté par  (site web personnel) . En réponse au message Probleme de mise à jour. Évalué à 3.

    Alors moi tu vois c'est pareil la je suis sur un programme
    mais impossible de le compiler car il me trouve une erreur dans
    la resolution de liens.

    D'avance Merci.

    Non ? personne ?
    Ah ... bizarre !!
  • # Re

    Posté par  (site web personnel) . En réponse au journal Postfix + Base SQL. Évalué à 3.

    Effectivement la solution 'fais un bench' est la plus logique,
    sache quand meme que si tu a bien definie ta DB que tu
    utilise du MyIsam que ta largeur de champ est fixe que tes
    indexes sont bien definis tu aura du mal a battre mysql.

    Ensuite n'oublie pas de configuré le mysql au petits oignions
    mais le gros du gain se fait sur le formatage statique des tables
    (ie pas de TEXT, BLOB, VARCHAR et autre variables de taille dynamiques).

    Pour analyser les perfs du query cache:
    show variables like '%query%';
    show status like 'Qc%';

    Qcache_queries_in_cache => nombre de requetes dans le cache (+ c mieux)
    Qcache_inserts => nombre de mises en cache de requetes (- c mieux)
    Qcache_hits => nombre de requetes en cache demandées (+ c mieux)
    Qcache_lowmem_prunes => nombre de requetes en cache supprimées pour
    cause de low memory (- c mieux)
    Qcache_not_cached => nombre de requetes non cachables (- c mieux)

    Qcache_free_memory
    Qcache_free_blocks
    Qcache_total_blocks => etat de la mémoire reservées au cache.

    Analyse du cache des tables (ouverture/fermeture des fichiers contenant les
    tables).
    show variables like 'table_cache';
    show status like 'Open%_tables';
    il faut que Open_tables soit proche de table_cache et si possible que
    Opened_tables soit proche de Open_table (impossible dans le cadre
    d'un gros serveur DB avec un grand nombre de table).

    Analyse du nombre de connection concurrentes
    show variables like '%conn%';
    show status like 'Max%';


    PostgreSQL est interessant dans le cas de SQL avance,
    de procedures stockées et autres contraintes relationnelles.
    Malheureusement il ne dispose pas comme mysql d'un moteur
    lite (myisam).
  • # Dyslexie

    Posté par  (site web personnel) . En réponse au message Probleme de compilation. Évalué à 2.

    C'est terrible la dyslexie quand meme.ce qui est dommage
    c'est de ne pas savoir qu'on en souffre ....

    Bon sinon c'est strcpy pas strpcy
  • [^] # Re: doucement

    Posté par  (site web personnel) . En réponse au message Base de programmation tres limité. Évalué à 0.

    Rien ne t'empeche une fois le soft terminer d'embarquer la vm perl/python avec via un bel installeur ou un perl2exe & co.
  • # linux

    Posté par  (site web personnel) . En réponse au message routage hardware. Évalué à 4.

    >je veux faire un module noyau qui permet de router les paquets qui
    >arrivent par eth0 vers eth1

    Cela fait deja parti de la pile IP du noyau il suffit de l'activer par:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    ou d'utiliser les sysctl cf les derniers commentaires de http://linuxfr.org/forums/15/5804.html

    > je dois donc utiliser les fonctions du driver de la carte pour la transmission et la reception des packets.

    C'est un peu plus compliqué que cela. Ce que tu veut c'est refaire
    une pile IP.

    >je demande si quelqu'un connait comment faire(ou un exemple)
    Bein c'est simple tu lit les sources du noyau.

    Par contre la ou je seche c'est sur ta methode de travail: developper un module noyau linux pour a terme travailler sur un micro-controlleur specifique tu vas amha perdre ton temps.
  • # Yo!

    Posté par  (site web personnel) . En réponse au message Conversion PDF en TIFF dans Ghostscript. Évalué à 1.

    >Imagemagick n'arrive pas à créer le fichier TIFF à partir d'un
    >document aussi gros que mon PDF de départ (ça marche avec des
    >fichiers plus petit et une résolution moindre).

    As tu regardé ce qui le fait coincer ? probleme de swap peut-etre ?
    si c'est cela tu peut essayer de rajouter du swap fichier:

    dd if=/dev/zero of=/tmp/swapfile bs=1M count=512
    mkswap /tmp/swapfile
    swapon /tmp/swapfile



    >Autre question qui n'a pas un rapport direct avec ces 2 logiciels :
    >Comment puis-je traiter l'ensemble des fichiers d'un répertoire avec
    >Imagemagick et Ghostscript en donnant le nom de fichier de mes
    >PDF à mes TIFF ?

    en bash:
    for source in /path/to/dir/*.pdf; do $dest=${source/.pdf/.tiff}; cmd $source $dest; done

    >J'espère que vous avez eu la patience de me lire jusqu'ici

    Yep no pb.
  • # http://search.cpan.org/~lds/CGI.pm-3.20/CGI.pm

    Posté par  (site web personnel) . En réponse au message cgi et perl. Évalué à 1.


    Tout est expliqué ici avec exemples et commentaires:

    http://search.cpan.org/~lds/CGI.pm-3.20/CGI.pm
  • [^] # Re: ortho :/

    Posté par  (site web personnel) . En réponse au journal LiveCD "over the network" :). Évalué à 3.

    Ah ca c'est sur que ca va etre etonnant !
    Je m'explique: ca va commencer par faire un du de ~/./ donc de
    tout ton home.
  • # Une version qui marche

    Posté par  (site web personnel) . En réponse au message Xlib et aggrandissement de fenetre.... Évalué à 1.

    Apres quelques tests voici une version qui fonctionne:


    #include <stdlib.h>
    #include <assert.h>
    #include <Xlib.h>
    #include <Imlib2.h>

    ...

    int
    main (int argc, char **argv)
    {

    XEvent ev;

    disp = XOpenDisplay (NULL);
    assert (disp != NULL);

    vis = DefaultVisual (disp, DefaultScreen (disp));
    depth = DefaultDepth (disp, DefaultScreen (disp));
    cm = DefaultColormap (disp, DefaultScreen (disp));

    win = XCreateSimpleWindow (disp, DefaultRootWindow (disp),
    0, 0, windowWidth, windowHeight, 0, 0, 0);

    XSelectInput (disp, win,
    KeyPressMask | ButtonPressMask | StructureNotifyMask |
    ExposureMask);

    XMapWindow (disp, win);

    imlib_context_set_display (disp);
    imlib_context_set_visual (vis);
    imlib_context_set_colormap (cm);
    imlib_context_set_drawable (win);

    image = imlib_load_image ("test.jpg");
    redrawWindow ();

    for (;;) {

    XNextEvent (disp, &ev);
    switch (ev.type)
    {
    case KeyPress:
    case ButtonPress:
    XCloseDisplay (disp);
    exit (EXIT_SUCCESS);

    case Expose:
    if (ev.xexpose.count == 0)
    updateWindow (ev.xexpose.x, ev.xexpose.y, ev.xexpose.width, ev.xexpose.height);
    break;

    case ConfigureNotify:
    windowWidth = ev.xconfigure.width;
    windowHeight = ev.xconfigure.height;
    redrawWindow ();
    break;
    }
    }
    return 0;
    }




    #include <stdlib.h>
    #include <assert.h>
    #include <Xlib.h>

    #include <Imlib2.h>

    int
    main (int argc, char **argv)
    {

    XEvent ev;

    disp = XOpenDisplay (NULL);
    assert (disp != NULL);

    vis = DefaultVisual (disp, DefaultScreen (disp));
    depth = DefaultDepth (disp, DefaultScreen (disp));
    cm = DefaultColormap (disp, DefaultScreen (disp));

    win = XCreateSimpleWindow (disp, DefaultRootWindow (disp),
    0, 0, windowWidth, windowHeight, 0, 0, 0);

    XSelectInput (disp, win,
    KeyPressMask | ButtonPressMask | StructureNotifyMask |
    ExposureMask);

    XMapWindow (disp, win);

    imlib_context_set_display (disp);
    imlib_context_set_visual (vis);
    imlib_context_set_colormap (cm);
    imlib_context_set_drawable (win);

    image = imlib_load_image ("test.jpg");
    redrawWindow ();

    for (;;) {

    XNextEvent (disp, &ev);
    switch (ev.type)
    {
    case KeyPress:
    case ButtonPress:
    XCloseDisplay (disp);
    exit (EXIT_SUCCESS);

    case Expose:
    if (ev.xexpose.count == 0)
    updateWindow (ev.xexpose.x, ev.xexpose.y, ev.xexpose.width, ev.xexpose.height);
    break;

    case ConfigureNotify:
    windowWidth = ev.xconfigure.width;
    windowHeight = ev.xconfigure.height;
    redrawWindow ();
    break;
    }
    }
    return 0;
    }


    Pour expliquer ton probleme je pense que quand tu redirige les evenements resize il doit y a avoir deux trois trucs a faire pour avertir
    la fenetre (win) de se changement de taille.
  • [^] # Re: Tenez bon, j'arrive...

    Posté par  (site web personnel) . En réponse au message bash help. Évalué à 0.

    D'autant que si mes souvenir sont bon il existe deja plusieurs exemples de scripts bash pour 'creer une poubelle'.
  • [^] # Re: reponse a la cron

    Posté par  (site web personnel) . En réponse au message Probleme tache cron. Évalué à 1.

    TMP=`mktemp`
    crontab -l | sed -e 's/ligne a supprimer//' > $TMP
    crontab $TMP
    rm $TMP

    Quand au watchdog ce n'est pas un outil en soit mais plutot une classe
    de demons tournant en tache de fond et dont l'action se resume a tester periodiquement si le service associé est toujours effectif (exemple un serveur web repond t'il a une requete sur le port 80).
    Dans le cas contraire il prend des mesures adaptées.
  • [^] # Re: amuses toi bien

    Posté par  (site web personnel) . En réponse au message portage d'une application sous linux. Évalué à 2.

    ou utiliser la libwine qui est plus ou moins faite pour ca.
  • [^] # Re: coder le LISTEN

    Posté par  (site web personnel) . En réponse au message "desactiver" TCP dans linux. Évalué à 1.

    Euh alors amha si tu veut faire de l'experimentation de ce type n'utilise surtout pas l'interface virtuelle de loopback. installe plutot une carte ethernet dédiée à ces expérimentations
  • # LES MANUELS C'EST PAS POUR LES CHIENS

    Posté par  (site web personnel) . En réponse au message perl & php. Évalué à 1.

    Il ne fait que ce que tu lui demande hein faut pas deconner non plus:

    * 'my $content=$ua->request($req)->as_string;'
    Effectue la requete $req ($ua->request($req)) et transforme l'objet resultant
    (un HTTP::Response en chaine (->as_string);

    * 'print $content;'
    Affiche cette chaine.

    Déjà amha tu devrait stocker l'object HTTP::Response,
    'my $r = $ua->request($req);'
    analyser les codes de retours ($r->code(), $r->is_info, $r->is_success, $r->is_redirect, $r->is_error).

    Ensuite si tu as besoin d'afficher le resultat utilise: $r->decoded_content()

    http://search.cpan.org/~gaas/libwww-perl-5.803/lib/HTTP/Resp(...)


    Autre chose pour executer du php tu n'est pas obliger de passer par un
    serveur web, il existe une version ligne de commande de l'interpreteur php (sous debian et derivés: aptitude install php4-cli)
  • # langage pour écrire du XML

    Posté par  (site web personnel) . En réponse au message langage pour écrire du XML. Évalué à 2.

    Euh autre solution utiliser un vrai editeur XML.
    Genre emacs + nxml (completion des balises lors de la fermeture ..)
    ou autre carrement graphique.
  • [^] # Re: socket serveur / client

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

    En fait les descripteurs de fichiers (cela inclu les sockets) sont locaux au processus en cours.
    Tout les processus ont par default 3 fd d'ouvert (0, 1 et 2) correspondant a stdin,stdout,et stderr. Si tu n'ouvre pas de fichier avant d'ouvrir ta
    socket (ou que tu les fermes avant) le fd de la socket sera le numero 3,
    si tu en ouvre une autre / un fichier il aura le numero 4 etc...

    Ces 'fd' sont des indexes sur une table au niveau kernel, donc l'ordre d'ouverture conditionne la valeur du fd.

    Bon sinon pour ton outils tu doit avoir oublié qque chose. As tu passé ton client au debugueur ?
    Que fait tu pour fermer ta socket ?
  • # socket serveur / client

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

    > la valeur du socket d'ecoute du serveur sock_in

    Pas très clair comme message ...

    Est ce que tu veut dire que la valeur de sock_cli est la meme que la valeur
    de sock_in ? C'est bien cela ?

    Dans ce cas je te rassure cela ne veut dire qu'une seule chose: l'ordre de
    creation de tes sockets dans le client et dans le serveur est le meme.
    Je parierai meme que cette valeur est 3, non ?

    Quand a ton probleme.

    1 qui fait le segfault ? (le client ou le serveur ?)
    2 si c'est le serveur que ce passe t'il si tu utilise telnet en client ?

    Sinon effectivement sans le code on ne pourra gere t'aider. (utilise pastebin ou dl.free.fr)