. Takhi a écrit 201 commentaires

  • # FAT32..

    Posté par  . En réponse au message Partition Windows / Linux. Évalué à 3.

    Salut.

    Le fat32 est le plus simple car supporté nativement en lecture/Ecriture par les deux OS.
    NTFS est supporté en lecture seulement par Linux.

    Il existe aussi un projet pour supporter les FS de type ext2 sous Windows mais je ne sais pas quel est sa stabilité en utilisation quotidienne.

    http://ext2fsd.sourceforge.net/projects/projects.htm(...)
  • [^] # Re: en repassant

    Posté par  . En réponse au message free() or not free() ?. Évalué à 2.

    je prends note de la boulette sur la macro j'avais pas pensé à ce cas.

    par contre je tiens un peu au #define pour différentier les modes debug/release.

    quelques exemples:
    => fonctions de trace que l'on peut virer en mode production/release
    => assertions

    le code non debug ne comprendra pas les appels au fonctions de traces ce qui peut gagner pas mal de temps.




  • [^] # Re: en passant

    Posté par  . En réponse au message free() or not free() ?. Évalué à 3.

    bah un assert avant le free c'est plus propre qu'un vilain core:)


    assert(monpointeur!=NULL);
    free(monpointeur);
    monpointeur=NULL;

    avec la macro qui va bien tu peux avoir l'assertion en mode DEBUG et pas en mode Release

    #ifdef DEBUG
    #define MYFREE(ptr) assert(ptr!=NULL); free(ptr); ptr=NULL
    #else
    #define MYFREE(ptr) free(ptr); ptr=NULL
    #endif

    et tu invoques MYFREE au lieu de free
  • [^] # Re: Re:

    Posté par  . En réponse au message Aide pour installation !. Évalué à 2.

    perso j'ajouterai quand meme une partition pour le /var parce que ca se remplit assez vite ce genre d'emplacements.. et sur les 2Go du / j'ai peut que ca ne fasse un peu juste , non?

    ( dans /var ya toute la messagerie, les bases de données, les logs systeme , des fois meme les packages téléchargés ..)
  • # il existe des cartes au format Mini Itx..

    Posté par  . En réponse au message Quel architecture avec ARM sous Linux ?. Évalué à 2.

    le modele de base à 175£ devrait convenir ?
    http://www.simtec.co.uk/products/EB2410ITX/avail.html(...)

    par contre faut surement commander, pas trouvé ( enfin j'y ai pas passé des heures non plus) de distributeur en france...

    hope this helps
  • [^] # Re: la bonne voie

    Posté par  . En réponse à la dépêche DRM : l'UFC poursuit Sony et Apple alors que l'UE enquête toujours sur Microsoft. Évalué à 4.

    C'est bien pour cela que les licenses de films sont toutes portées sur toutes les consoles + PC :) ( ya qu'a voir harry potter, le seigneur des anneaux... )

    Je ne suis pas certain que cela tienne devant un juge :-)
  • # Recyclons, réutilisons

    Posté par  . En réponse au message donne CD de live-CD et de distrib. Évalué à 1.

    Le cd argenté peut aussi servir de Dessous de Verre ou bien d'épouvantails à moineaux
    ( j'ai une jolie collection de CD Aol/ClubInternet/xxxxx qui ont eu une carriere de ce genre.. c'est fou ce qu'on accumule entre 2 déménagements)

    On peut aussi voir la solution freesbee.

    Il reste aussi l'alternative ball trap mais c'est un poil moins ecolo parce que ca fait des bouts partout.
  • [^] # Re: Mac mini "survitaminé" dans un PC

    Posté par  . En réponse au journal Mac Os X sous PC, une bonne idée ?. Évalué à 5.

    C'est pas un chouïa dommage d'avoir une joli babasse toute petite, toute discrete et d'en faire une grosse tour ?

    Perso tout l'interet du mac mini.. c'est qu'il est mini :)
  • [^] # Re: Un truc en C++ qui fait ca

    Posté par  . En réponse au journal couverture de code. Évalué à 1.

    En libre j'en connais pas d'autre, mais j'avoue ne pas m'être énormément plongé sur le probleme.

    c'est vrai que c'est bete ce mangling..
    gprof a comme option --demangle mais pas gcov..

    il y a longtemps j'avais du utliser un trucoverage de chez numega mais j'etais plus accaparé par mes fuites mémoires que par ma couverture de code :-)
  • [^] # Re: Un truc en C++ qui fait ca

    Posté par  . En réponse au journal couverture de code. Évalué à 4.

    bah si tu utilises gcc tu as ce qu'il faut :-)


    phase 1: instrumenter le code pour qu'il fasse de l'analyse de coverage.

    gcc ... -Wall -fprofile-arcs -ftest-coverage

    phase 2:
    utilise l'outil gcov fournit la plupart du temps avec le compilo.

    trouvé vite fait:
    http://www.network-theory.co.uk/docs/gccintro/gccintro_67.html(...)

    NB: un autre outil est fournit avec gcc:
    gprof qui est souvent utile pour faire du profiling de code .. et t'apercevoir que tu as encore omis un passage de std::string par reference ... ;)
  • [^] # Re: ya pas une bourde dans le code C?

    Posté par  . En réponse au message Copie rapide de tableau. Évalué à 1.

    (pour le code fouillis c'est po ma faute, c'est mingw32 sous NT, j'avais que ca sous la main en intel.. )

    si tu es en O3 il est probable qu'il déroule ou optimise les boucles de lui meme parce que gcc l'est péchu...



    en bref ta tentative d'optimisation est pertinente sur un compilo qui ne ferait aucune optimisation. En revanche avec des flags d'optimisation, le compilo fait une partie du travail lui meme ( réorganisation de code, déroulement des boucles pour eviter les sauts ...

    trouvé vite fait par google:

    http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/gcc/optimize-options.html



  • [^] # Re: ya pas une bourde dans le code C?

    Posté par  . En réponse au message Copie rapide de tableau. Évalué à 2.

    Allez encore plus goret:
    (cette fois ca marche, j'ai testouillé avant)

    unsigned long* ptr = (unsigned long*) tab;

    ...

    for(i=0; i<1024;i++)
    ptr[i]=0x64646464;

    apres compile ca ressemble à ca:
    ...
    L12:
    cmpl $1023, -4(%ebp)
    jle L15
    jmp L13
    L15:
    movl -4(%ebp), %eax
    leal 0(,%eax,4), %edx
    movl -12(%ebp), %eax
    movl $1684300900, (%eax,%edx)
    leal -4(%ebp), %eax
    incl (%eax)
    jmp L12
    L13:
    ....
  • [^] # Re: Il y a des fonctions toutes faites pour cela ...

    Posté par  . En réponse au message Copie rapide de tableau. Évalué à 1.

  • [^] # Re: ya pas une bourde dans le code C?

    Posté par  . En réponse au message Copie rapide de tableau. Évalué à 1.

    Et le code assembleur généré? movl ou movb?
  • # ya pas une bourde dans le code C?

    Posté par  . En réponse au message Copie rapide de tableau. Évalué à 3.

    dans la version dite "optimisée"
    tu glisses ca:

    for(i=0;i<1024000;i++) (unsigned long)tab[i<<2]=(unsigned long)(45);

    ce qui pour moi signifie que tu stockes la valeur 45 dans un byte sur 4
    Le compilo trouve peut etre + optimal de faire un movb plutot qu'un movl dans ce cas là vu que tu ne forces qu'un byte.


    si tu veux forcer 4 bytes en meme temps il faut peut etre mieux utiliser ca:
    for(i=0;i<1024000;i++) (unsigned long)tab[i<<2]=(unsigned long)(0x63636363);

    Que dit le compilo?
  • [^] # Re: man dlopen

    Posté par  . En réponse au message supporter des plugins. Évalué à 1.

    Ca dépend un peu aussi du logiciel que tu veux concevoir, de ce que tu veux laisser "accessible" au plugin, du langage ...

    Je ne pense pas que l'on puisse avoir une recette toute faite
    car cela me semble trop dépendant des fonctionalités du logiciel et du langage d'implémentation => les reflexes ne sont pas forcément les memes

    Le plus simple AMA est de coder ton logiciel dans un langage interprété tel que python , ca pourra etre beaucoup plus souple pour les plugins .. tu devrais découvrir rapidement les parties qui doivent etre accessibles à tes plugin.

  • # il faut vraissemblablement employer sha1_hash ..

    Posté par  . En réponse au message Kolab et Jabberd2. Évalué à 1.

    [Pas testé]

    void sha1_hash(const unsigned char *dataIn, int len, unsigned char hashout[20]) ;

    const char* monpassword="TOTO";

    unsigned char cryptedpass[20];

    sha1_hash( monpassword,strlen(monpassword), cryptedpass);

    et tu récuperes le hash dans cryptedpass ..
  • # la quarantaine?

    Posté par  . En réponse au message AMAVIS - home directory. Évalué à 1.

    c'est une hypothese mais cela ne serait il pas une liste des fichiers mis en quarantaine?
  • [^] # Re: un 'sort ' sur le champ date du log...

    Posté par  . En réponse au message access.log et webalizer. Évalué à 1.

    Acces à des stats de consultation = une page ou ils ont généré des stats webalizer?


    Sinon pour le support , cherche dans un de tes access.log une "rupture" :
    c'est à dire un moment ou tu "recules dans le temps"

    Tu leur envoie le fragment de log en leur signalant que selon toi ca ne correspond pas vraiment à un pic de visites mais plutot à une anomalie dans leur outil de fusion de stats.
  • [^] # Re: logresolvemerge

    Posté par  . En réponse au message access.log et webalizer. Évalué à 1.

    "Each of thoose files must be already independently sorted itself"
    ( dans le source perl de la bebete... )


    bon ben utilise la commande sort .. :/
  • [^] # Re: un 'sort ' sur le champ date du log...

    Posté par  . En réponse au message access.log et webalizer. Évalué à 2.

    bah il me semble que c'est à eux de fournir des infos cohérentes..
    c'est pas vraiment à toi de connaitre leur infrastructure et de savoir si
    ils ont x serveurs frontaux en round robin ou en secours ...

    En meme temps la fourniture du fichier de logs est elle contractuelle?
  • # logresolvemerge

    Posté par  . En réponse au message access.log et webalizer. Évalué à 2.

    http://awstats.sourceforge.net/docs/awstats_tools.html#logresolveme(...)

    Awstats fourni un script qui doit permettre de résoudre les soucis de fusion de logs sur plusieurs serveurs..
    "logresolvemerge allows you to merge several log files into one output,
    sorted on date. It also makes a fast reverse DNS lookup to replace
    all IP addresses into host names in resulting log file. "
  • # un 'sort ' sur le champ date du log...

    Posté par  . En réponse au message access.log et webalizer. Évalué à 2.

    Il est possible qu'il aie plusieurs serveurs en round robin
    et si ca se trouve il ne fait pas de "sort" sur les dates apres avoir fusionné les fichiers de log.


    tu peux peut etre utiliser un bout de script shell de cet acabit :

    for FIC in $LOGS/*.log
    do
    echo $FIC
    mv $FIC $FIC.old
    sort -t - -k 3 < $FIC.old > $FIC
    rm $FIC.old
    done

    Pour nos besoins nous avons cree une moulinette qui genere un fichier par jour ( en fonction des champs date de log), puis nous faisons le sort sur chaque fichier jour.

    Avoir 1 fichier / jour nous permet d'eventuellement relancer webalizer pour une période donnée ...
  • [^] # Re: Rectifié on dirait.

    Posté par  . En réponse au journal Certificat expiré pour Logitelnet. Évalué à 2.

    bon un certificat en général c'est valable 1an ..
    donc en résumé, ils l'ont commandé au mois d'aout,
    pis l'ont oublié dans un coin :-)
  • # 404

    Posté par  . En réponse au message Test de redirection. Évalué à 1.

    ... au bureau .. derriere un proxy.