XRyl669 a écrit 11 commentaires

  • # pugixml

    Posté par  . En réponse à la dépêche libroxml : une bibliothèque XML qui ne fait pas le poids, mais qui fait le reste.... Évalué à 6.

    Un autre dans le genre, en C++, hyper léger (30ko), bien plus rapide que libxml2, plus clair, et tout XPath 1.0 est supporté.

    [http://pugixml.org/]
  • [^] # Re: gcc lave plus blanc ?

    Posté par  . En réponse à la dépêche Sortie de GCC 4.3. Évalué à 2.

    C'est du grand n'importe quoi ces commentaires.

    C++ est un langage. Tu peux utiliser un langage au niveau maternelle (c'est à dire C), ou au niveau Bac L(C++ / STL) ou au niveau doctorant en linguistique (C++/Boost).

    C'est pas parce que tu ne comprends pas un mot du langage que le langage est nul.

    C'est un peu comme l'analogie avec le français et l'anglais.
    Tous comme le français est d'une richesse importante, l'anglais est encore plus riche.
    C'est sûr que pour le français de base (pléonasme ?), "l'anglais c'est nul, on comprend rien", et la majorité le parle à la texane japonaise, il n'empêche que tu peux exprimer des concepts impossible à décrire en français sans faire de périphrase (comme "pas cher").

    Seulement, tu peux rester à ton niveau, et comprendre les textes (codes) à ton niveau, ou tu peux décider de continuer à évoluer, et apprendre ce que le quidam de base ignore.
    Alors seulement tu comprends que c'est carrément plus pratique de dire "cheap" (5 lettres) au lieu de "pas cher" (8 lettres).

    Je suis d'accord avec le fait que le compilateur qui crache un message d'erreur de 500 caractères, c'est comme un anglais qui te réponds en vieux patois irlandais: c'est chiant à comprendre.
    C'est là où il y a du boulot à faire au niveau du compilateur (ICC, est pas trop mal pour ses messages d'erreur, et clang est prometteur), mais c'est pas la faute au langage.

    Si on compare au Java, par exemple, le langage est basique - simple-, du coup les outils de développement compensent en offrant les fonctionnalités du langage manquante (les templates du C++ <=> refactoring d'Eclipse, etc...).
    C'est sûr c'est plus simple à apprendre, mais t'es vite obligé de réécrire du code existant parce que tu veux changer un paramètre d'une classe, etc...

    Regarde un peu le projet Juce ( www.rawmaterialsoftware.com/juce ) pour un exemple de codage d'application cross-platform en c++ vraiment clean.

  • [^] # Re: productivité != nombre de lignes

    Posté par  . En réponse au message Cherche moyen d'identifier l'auteur des lignes d'un code source dans un dépot SVN. Évalué à 1.

    Par exemple:

    #define/**/F/***/for/*A*/
    #define/***/H()f=*E<<4|*E,f=~(f|f<<1|E[3]|E[1]|E[1]<<4|E[2]|E[(2)]<<(1));
    #define/***/I(x,d)F(;s;C()){s=s^(b=s&s-1^s);F(N[4]=q=0;q<4;q++)N[q]=E[q];N[5]=E-B;N[d]^=+b^(b)x;}
    #define/**/o(p,t,i,m,a,l)u=(f&p)i(m) ;s=u&E[3];I(t(m),3)s=(u)a &E[l];I(t(m),l)u=u>>5-m &u;s=u&E[3-l];I(t(m),3-l) s=(u)a&*E;I(t(m),(0));
    char*A=0,*_,*R,*Q, D[9999],*r,l[9999],T=42, M,V=32;long*E,k[9999],B[1 <<+21],*N=B+1234567,q=0, h=3,j=2,O,b,f,u,s,c,a,t,e ,d;C(){F(h=N[3];(B[h]&&+ memcmp(N,B+B[h],16));h=B[ h]+4);B[h]||(B[h]=N-B,N= N+6);}main(char*U,int*w[] ){
    F(_=A=D+6666,A[fread (A,1,3333,fopen(__FILE__, "r"))]=0;*++_;h||(*_=V)) *_-59|_[1]-* _||(h&&(*_=+ 35),h---2||(_[9]=V));
    F(_=A;*_;_++)10 -*_&&*_-V&&( *_-92)&&(k[q]=isalnum(l[q]=*_),q++);M =47;*(E=N-6) =64;E[1]=289;E[2]=270336;F(E[3]=32782 ;E<N;E=E+6){ H()o(1048560,<<,>>,4,>>4,1)o(+489335, >>,<<,1,,2)o (978670,<<,>>,1,>>1,2)o(+65535,>>,<<, 4,,1)
    if(8192 &*E){F(N=B;E>B;E=B+E[5])*N++=E-B;F(;N >B;){h=*(E=B +*--N);H()s=~(E[1]|h|h<<1);u=~(E[2]|h |h<<4);r=l;_ =D;d=1;a=2;O=8;F(q=74;q;q--){F(b=0;b< 72;b++){h=+1 <<(q-1)/14*4+(b-1)/18;j=b?(!(b%18)&&u &h)|h&f|(!(q%14)&&s&h)?1:0:2;
    if(O<3)O ?j?j-1&&(O-2 &&d--,*R=34,O=2):(*_++=O-2?l[d]?l[d++ ]:(d=t,O=e=3 ,34):(O=1,34)):j||(*_++=d<t?l[d++]:(O =1,d=0,34)); else{if(O<6)if(j){j-2|e||(_=R,O-4?d-- :M-_[-1]||(_ [-1]=l[d++],O=3));c=0;
    if(k[d]&k[d-1]) F(;k[d-1];++ c)d--;!d||((h=l[d])^l[d-1])+k[d]||!(+ 40-(h&62)&&h -125)||(c=1,d--);c-1||(c=2,d--);c&&(_ [-c]=M,_[1-c ]=T,O=4);j-2|e||(*_++=+92);}
    else{h=*_ ++=O-4?O-5?l [d++]:(O=3,M):(O=5,T),(_[-1]&&(35-h|| !(a=+1)))||( O=7,*(R=Q=_-(1))=M);}else{j?O-7||(O=6,_[-1]=59):( *_++=a-2?O-6 ?O-7?126&*++ r:(O=8,T):(O=7,M):(a=0,l [d]-100?(e=1 ,O=0):(e=0,O =3,35)));
    if(e==1){F(r=A= l+d;35-*A;++ A)*A-M&&*A-T ||U-1&&(*A=V);d=d+A-r;if (U-1){*A=0;F (j=2;13499>j &&(sprintf(l,r+1,j,j,O=j +75,w[1]),j= O,!system(l) ););exit(j<+13499);}t=d+ 9;_[-1]=l[++ d];}a-1|+j-2
    ||(R-Q<3?(*(Q<R?R-1:R)=* Q=*R=59):(*R =M,R[-1]=T), a=2);}}j?(*_++=j-2?V:10, R):(R=_-1);} }R[-1]=T;*R= M;*_++=10;F(R=D;putchar( *R)&&_>++R;) ;}}};O-b-f-u -s-c-a-t-e;}

    C'est super bien factorisé (13 lignes), et donc si on suit la logique, ce code sera très facilement comprehensible (facile, c'est un jeux d'échec).

    Je suis d'accord que le nombre de ligne n'est pas la métrique idéale.
    C'est pour cela que la plupart des logiciels de statistique de code compte le nombre de ligne de code, le nombre de ligne de commentaire, la présence d'une ligne de commentaire corrélée avec du code, etc...

    Comme je le disais dans la première question, un dév qui ajouterait un espace à chaque ligne deviendrait "le propriétaire" de la ligne, et donc fausserait les stats.
    Je pense simplement que sur un (vrai) projet, où les patchs sont analysés avant d'être committed, ce genre de cas n'arrive pas (comme le cas du dev qui ecrit toutes ses lignes sur une largeur de colonne de 20).

    La solution idéale, c'est que quelqu'un se cogne la lecture du code, comptabilise chaque ligne avec une note (suivant si elle est logique, commentée, testée, etc...). Malheureusement, je crois pas qu'il soit possible d'en arriver là.
  • [^] # Re: Tadaaaa !

    Posté par  . En réponse au message Cherche moyen d'identifier l'auteur des lignes d'un code source dans un dépot SVN. Évalué à 1.

    Merci bcp.

    Je vais pousser le bouchon, mais pour en faire des statistiques ?
    Genre, faire un blame "general" sur tous les fichiers, puis compter le nombre de ligne de code non vide par utilisateur ?

    C'est probablement possible de faire ça avec un script python, mais si la fonction existe déjà, je suis preneur.
  • [^] # Re: Embarqué ?

    Posté par  . En réponse à la dépêche SyncML, le graal de la synchronisation de données. Évalué à 1.

    Sauf qu'en réalité, il n'y a rien qui fonctionne vraiment et qui soit léger.

    Opensync => Ils ont sorti la version 0.30 qui casse tous les plugins actuels, donc libsyncml ne fonctionne plus avec (de toute façon, la libsyncml ne comprenait pas la majorité des clients (telephone, PDA, etc...) )

    Sync4j, c'est pas mal, sauf que c'est du Java (donc 80MB juste pour lancer le serveur, rien que pour sauvegarder les 200ko de données de ton PDA/tel/SmartPhone, ça fait peur).
    Par contre, ce sont les seuls à faire des programmes qui tournent sur tous les périphériques embarqués (en C++ généralement) qui fonctionnent.

    Synthesis, d'après mon expérience ça fonctionne pas mal, (mais sapucépalibre), le problème, c'est qu'il te faut la même GlibC qu'eux car ils fournissent que le binaire de leur serveur (donc exit Gentoo, Slackware, etc...) et surtout un proc x86. C'est payant.

    ScheduleWorld / Googlecalendar et autres requièrent tous d'avoir un serveur HTTP avec Apache + PHP + MySQL (100MB bouffé). Alors, soit tu es le Directeur Informatique d'IBM et tu te permet d'acheter leur versions serveur (GC / SW ?) vraiment cher, soit tu oublies direct (sauf si tu t'en fout que tes données ne soit pas à ta disposition, chez toi, mais consultable par je-ne-sais-quel-publicitaire).

    Bref, la synchro de données via un petit routeur / serveur de fichiers type ARM9 qui consomme rien, c'est pas encore pour aujourd'hui.
    Après j'ai pas encore testé la version Sync4j compilée en natif par gcj, faut voir.
  • [^] # Re: comparatif des solutions libres

    Posté par  . En réponse à la dépêche Gantt Project V2.0 finale vient de sortir. Évalué à 1.

    Juste pour savoir,

    Est-ce que quelqu'un connaîtrait un soft de gestion de projet qui permette de gérer des tâches (comme Gantt) mais équalement la logique qui les a créé.

    Genre TacheA donne TacheB donne TacheC si ConditionA ou TacheD si pas ConditionB

    Bref, gestion de projet avec organigramme.

    Merci d'avance

    PS: Libre si possible
  • [^] # Re: Est-ce que ca remplace un centrale téléphonique

    Posté par  . En réponse à la dépêche Sortie d'Asterisk 1.2. Évalué à 2.

    Est-il possible de faire la chose suivante :

    J'ai un portable (genre K6 II 400), qui possède un WinModem.

    Je voudrais mettre un client/serveur VoIP (genre Asterisk ou Linphone), qui redirige le flux vers le modem qui lui est connecté sur une freebox (téléphonie bien sûr).

    L'idée c'est de faire un Skype simple (je me connecte avec n'importe quel client de n'importe où, du moment qu'il est SIP, et je peux appeler le réseau commuté en France pour 0 euros).

    Si oui, comment ?
    Merci
  • [^] # Re: Optimisation maximale de Gentoo

    Posté par  . En réponse à la dépêche Optimisation maximale de Gentoo. Évalué à 6.

    Je fais parti des webmasters du site, et je prend note de vos remarques.

    1) Non ce site n'est pas spécifique à Gentoo (même si c'est dans la communauté Gentoo (iste ?) que l'on risque de trouver le plus d'utilisateur)

    2) Actuellement il n'y a qu'un seul logiciel enregistré dans la base de donnée, ce site étant en version béta, on cherche à savoir (enquête publique lançée) quels sont les logiciels (et librairies) qui vous interessent (et que vous utilisez) le plus => d'où la critique des résultats.

    3) Si le site est en troisième position, c'est que ça oblige de lire jusqu'à la troisième position (ref lapalisse)... Désolé.

    4) Ce site n'est pas forcément centré sur les cflags, il permet de comparer n'importe quel logiciel avec n'importe quel autre. C'est une sorte de centralisateur de benchmark. Les exemples envisagés : Kernel 2.6.4 vs 2.4.25 / 2.6.4 avec LinuxThread vs 2.6.4 avec NTPL / Lame vs BladeEnc, etc... Bref vous m'avez compris.

    5) Il peut également servir à aider les développeurs de GCC (est ce que -ffast-math sur AMD64 est mieux dans GCC 3.4 que dans 3.2), la encore ça marche.

    Et oui, notre idéal, ce n'est pas le site en soit, mais la base de données. Imaginer simplement que dans une prochaine version de portage (Gentoo only) ou apt-get (Debian) ou autre, il soit possible de définir sa plateforme (config) et de récupérer les packets précompilés avec les meilleurs CFLAGS testés du moment...
    Pour cela, il faut des initiatives comme celle là.

    6) Enfin, on cherche des utilisateurs / développeur en python ou c pour faire des scripts de bench.

    Soyez sympa, on a tous à y gagner.

    Allez n'hésitez pas à répondre à hard core gentoo àt free d0t fr
  • [^] # Re: Optimisation maximale de Gentoo

    Posté par  . En réponse à la dépêche Optimisation maximale de Gentoo. Évalué à 2.

    Tu as tout à fait raison. Cependant c'est quand même parmi les users de Gentoo que l'on risque de trouver le plus de compilations, non ?

    Je fait parti de l'equipe en charge de ce site, et je cherche des gens prêts à passer un peu de temps à écrire des scripts de bench (genre "cd lame && CFLAGS=kelkechose make && time lame monfichier.wav > result")

    Voila
    Merci de ta remarque très juste de toute façon.
  • [^] # Re: Backup simple et pas cher!

    Posté par  . En réponse au message [Terminal] Backup simple et pas cher!. Évalué à 1.

    Sinon, franchement, pourquoi ne pas graver une fois pour toute un CD avec : systemrescuecd http://www.sysresccd.org/(...)


    Ca utilise partimage, restore forcement carrément à l'identique.


    C'est simple, ça écrit un fichier .tar.bz2 restorable avec le cd (gravable avec cdrecord, ou dvdrw tools inclu), ça permet de sauvegarder sa table de partition (car c'est pas tout de sauvegarder les partitions)


    Voila, (et puis coté temps processeur, c'est quand même mieux qu'un rdiff qui doit tout décompresser les systèmes de fichiers, comparer tous les fichiers, et calculer les différences, les recompresser)


    Voila, bonne chance
  • [^] # Voici un texte que je propose à envoyer, parce que j'en ai vraiment marre de ces histoires

    Posté par  . En réponse à la dépêche Madame Fourtou élabore un "argumentaire pour le compromis" au sujet de son projet de directive. Évalué à 4.

    I'm sorry I won't be able to join on March 8, 2004 but I want to say that :

    I hate when some people tells me what to do, or what to avoid. As all other french people we have been fighting against this principle for a simple (but it seems that it is not so simple to understand) idea : Freedom.

    I want to be free to use a software (Open source, freeware or anything else).
    I want to be free to use file formats that are patented in America because American Laws are different there, and because we have be taught to use these kind of files in school, as there were no other possibility (currently) to use free file formats.
    I want to be able to create some piece of software and not having to spend my money in checking if some patented it 2 days before. If I were a huge industrial company (and I am not, contrary to Mz Fourtou's husband), it would of course be a chance for me to patent my code, and I would be able to spend some money to check for existing patents or pay for using it. But I am free to give my work to others. Not in a public domain (to fit patent vocabulary), as I am also free to choose which of the rights I own could be offered, but in an Open Source License.

    I want to be free to listen to free music, to hear from other free groups who drop on the Internet, their new album, legally with the Creative Common license, on Peer to peer networks. I don't even want to be a sheep, listening to the remixed old song soup on national and commercial radio and tv channels.

    I could just say that if I will not be able to do this anymore, because someone patented the "one-click" buy technology (I can't understand the link with technology here, but that's a good example on the lack of seriousness of a patent organism), I will (as many other before me, who tell me about this a long time ago) switch to cyphered networks, and become another totally anonymous user, doing illegal thing such as not patenting his work, and using patented technology he never knew it was, listening to non "universal" music, watching non "allowed" tv show.

    It's funny because when I watch national TV news, and they says that the french car market had had a 12% decrease last year, no one says that its due to P2P, but mainly to bad economical situation, etc... When I hear that P2P is "the" reason why music companies are loosing 10% of their income, I just can't remember who was the last "exciting" new artist selling CD in supermarket. Because of what ?
    Because it is easy to investigate on an "evident" track people who are sharing, illegally, music, but also legally. Because it is not so evident to understand that people are now able to find a song they might have heard when they were 12 and they can't find anywhere in a supermarket. Because it is not evident at all to realize that the music market is evolving and morphing into a new system where songs are not individual piece of art anymore, but become a kind of glue that no one could afford.

    Even if you have plenty of songs, you are not anymore paying attention to a particular song, (the one that is #1 on radio), but mainly to a ambience music. I think paying for each song is no more a viable solution, but that's my ideas, while I don't download any paying song anymore.

    Please don't see your interest before european people interest, because once you will have this law voted, and realised that it was not the right struggle to do, it will be to late. You must let the last part of freedom (ie Internet) free, because even if It seems anarchic in a first view, each internaut is doing his/her own censure and finally, it is the last gate of the real liberty of thinking that allow us to be able not to fall in the controlled media trap (see the Iraq news from US and from France to understand what I mean). Intellectual property might be a good thing (I am not sure of that however), but software are made of recipes, like any mathematical demonstration, or our genome and are based on simple rules that are glued together. Genius is not in gluing them together (because many people can do that, even computer can do that :
    http://www.genetic-programming.com/humancompetitive.html(...) (this is so ironic that a computer could be sued for patent infringement)), genius is in finding how to solve an unresolved problem. It is evident that European patent office does not, and will never (because of money issues), have the knowledge to be able to make the difference between a real innovative algorithm and, for example, a file format.

    I hope you'll consider my piece of opinion.
    Best regards,
    Cyril Russo