Mouns a écrit 1281 commentaires

  • [^] # Re: cachez ce sein que je ne saurai voir

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 1.

    j'ai resolu avec la methode "lourde" ... :/

    donc j'ai derivé JComponent et toute les autres ( merci perl ) en collant des interfaces. et selon l'appartenance à l'interface, je castais differemment mon objet en un autre pour executer ma methode generique ... ( beurk, je me croyais faire du C et niveau souplesse du code c a chier :( )

    pour ce qui est des metadata ...

    j'utilisais le java.lang.reflect pour mon compilo à la volée, et ca volait pas haut au niveau des perfs.

    conclusion, c pas cool de manipuler du java en java, et c pire de generer du java à la volée.
  • # histoire ...

    Posté par  (site web personnel) . En réponse au journal droit d'auteur... parfois ca fait peur. Évalué à 3.

    c quand meme fou que personne n'ait fait remarquer que la question a déjà été concretement soulevé au moment ou LBT a trouvé un job ...

    dire que tout le monde sait par contre pour les histoires de drivers de RMS ...

    il y a eu aussi l'histoire du copyright sur linux ...

    ... mais la mémoire est courte :)
  • [^] # Re: cachez ce sein que je ne saurai voir

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 1.

    oki ;)

    l'interet ...

    bon, je t'explique le truc de l'epoque ( 2001 ) :
    faire un toolkit de rendu de GUI portable pour faire de l'admin d'un NOC.

    donc, j'ai codé deux trucs :
    - un systeme de construction à partir d'un fichier XML d'une interface SWING ( pour java ) ou GTK ( pour perl )
    - un langage de programmation embarquable dans le XML pour gerer les interactions entre objets XML.

    le tout était orienté scenario applicatif.

    donc en gros, on avait des objets qui prenait des evenements. ces objets etaient empilé et apres j'operais sur la pile et je depilais dans l'ordre inverse.

    j'avais des composants swing que je devait empiler et depiler sachant que ct une serialisation propre au composant ( ou à sa classe ).
  • [^] # Re: cachez ce sein que je ne saurai voir

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 1.

    Ajouter la methode à la classe Object ... tu peux expliquer plus precisement ? parce que j'ai peur de comprendre ( elle me semble etre dans la liste )
  • [^] # Re: une occasion rêvée ?

    Posté par  (site web personnel) . En réponse à la dépêche Les modèles économiques des logiciels libres (séminaire). Évalué à 3.

    tu peux faire un sitting devant ... c moins cher ( aka 2 tickets de RER ) et organiser :

    une chaine humaine entre la passerelle de la gare et l'ecole

    un lancer de ballon avec un sniper qui les fait exploser pour symboliser la destruction des initiatives

    une distribution de gateaux surprises avec des questions sur les brevets à l'interieur


    je retourne me coucher c pas mon jour :)
  • [^] # Re: cachez ce sein que je ne saurai voir

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 4.

    :)

    ca me fait penser à un truc en prog objet ...

    -- pourquoi tout le monde fait plein de test dans un prog objet ? --

    l'heritage permet de zappé cela.

    la programmation objet sans couche d'introspection est une cata, java fait cela comme un sagouin.

    tiens, un truc "cool" à faire en java ... je l'ai fait quand j'ai fait un "toolkit XML" pour faire du "rendu SWING" ( en gros un XUL like sans XUL ) ...

    tu veux rajouter une methode à tous les composants swing ? tu fais comment ?

    - de l'instrospection pour generer des classes à la volée ... simple ... sauf qu'en java ca pue

    - soit tu fais de l'heritage multiple ... simple ... sauf qu'en java ca pue aussi

    - soit tu fais des classes de serialisation / rendu, et cela devient vite inmaintenable

    - reste une methode lourde : se taper toutes les classes et leur coller une interface, et au choix :
    * copier / coller une methode generique pour la serialisation
    * faire des zoli cast de classes ( et ca derange personne de faire un cast en java ) pour recuperer la methode dans une autre classe

    en gros, c'est crade à mort si tu veux que cela soit un peu rapide ( ct pour les GUI d'un centre de supervision de serveurs et routeurs ), et meme avec ça, c'était lent.
  • [^] # cachez ce sein que je ne saurai voir

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 2.

    un mamifere invertébré ? ouch ! ca existe ?

    je parle de rendu 3D, donc un carré est rectangle sur un rendu dont au moins un coté est parallele à un axe du repere, et un losange sinon.

    parce que rendre un rectangle penché est chiant, alors qu'un losange ( 4 triangles rectangles et pour le carré, isoceles rectangles ) ca roxorisationne au point de lapider une mémé !

    donc choisir une strategie de rendu en fonction d'un angle permet de faire de l'optimisation à la volé avec un seul test.

    un produit scalaire du vecteur normal à la surface avec l'axe de profondeur permet de savoir si tu dois rendre la surface.

    pour rendre un triangle, il suffit de tracer des lignes horizontales ( ou verticales ) en suivant la direction de 3 segments ( plus exactement deux d'un cote et un de l'autre ).

    maintenant, tu prend une surface parametrique, tu la rend. tu fais comment ? ( le premier qui ose -> [] :) )

    ... tu derives les fonctions, tu en tire des vecteurs direction. pour un rendu rapide, tu cherches une progression tel que tu ne rend pas sous le pixel. le produit vectoriel des deux vecteurs directions d'un point donne un vecteur normal qui donne l'orientation de la surface, pour en zapper des bouts.

    ca à l'air compliqué, mais ya tout plein d'algo rapide pour faire ça :)

    mais bon, c'est plus facile d'innonder son bus AGPx8 et saturer le hard plutot que de faire de simples additions sur son Pentium IV 3GHz avec hyperthreading ...
  • [^] # Re: sortez couvert de certitudes, ca evite d'attraper la maladie du dout

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 1.

    ... il fait des triangles :)
  • [^] # Re: sortez couvert de certitudes, ca evite d'attraper la maladie du dout

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 1.

    et comment fait OpenGL sans acceleration hard ?
  • [^] # sortez couvert de certitudes, ca evite d'attraper la maladie du doute

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 4.

    à tous ceux qui m'ont moinsi ...

    je demande une explication sur comment faire pour respecter l'heritage en java, puisqu'un carré est un rectangle et un losange ?

    ou pour le triangle isocele rectangle voir l'equilateral ?

    quand on fait du rendu 3D avec des polygones, si on ne rend que des triangles, les propriétés geometriques du triangles influent sur l'algo de rendu d'un triangle quelconque.

    et quand on fait de l'animation, les isometries spatiales simplifent grandements certains calculs de mouvement.

    mais bon, maintenant que l'on a des Go et GHz, plus besoin de faire de l'optimisation ...

    ( moinsissez moi au lieu d'aller ouvrir un bouquin d'algo en 3D ou de maths )
  • [^] # Re: révolutionnaire !

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 1.

    ploum, je te laisse imaginer le jour de fete que cela sera quand on pourra faire de la bonne 3D avec de la vrai geometrie dedans ...

    a moins que quelqu'un est un truc propre pour modeliser les dependances entre :
    polygone, quadrilatere, trapeze, losange, rectangle et carré.
    ou entre les triangles.

    je dis ca, car quand on fait des animations, les propriétés de certaines figures permettent de gagner du temps de rendu ...

    ... mais bon, aujourd'hui, à la force brute ( cf ATI et nVidia ) on y arrive ... alors pourquoi se faire chier ?
  • [^] # Re: Mutualisation ?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de MlView 0.7. Évalué à -3.

    et si nous mutualisons vi et emacs aussi ?

    ou tous les langages de progs ?

    sinon quelles sont les erreurs de conceptions de MLView ( puisqu'il est le sujet ) ? surtout que c'est une 0.x donc un truc encore changeable :)
  • [^] # Re: calcul de base ...

    Posté par  (site web personnel) . En réponse à la dépêche Mandrakesoft retenue pour le développement d'un système d'exploitation ouvert de haute sécurité. Évalué à 1.

    linus a le copyright, il fait ce qu'il veut.

    sinon, linus touche un salaire pour son travail de mainteneur du noyau.

    mandrakesoft, redhat,Novell vend du linux, ca ne me derange pas tant que mandrake vends les developpements qu'il fait.

    imagine un truc genre une boite qui recupere une debian et la vend en l'etat à un organisme sachant qu'il vend de l'encadrement de benevole et donc d'une certaine maniere il vend le cout que cela represente de chasser un debianiste, de le capturer vivant et d'en faire un esclave.

    présenté comme ca, ca fait pas credible ... mais et si ?

    le fait que mandrakesoft recrute ne me derange en aucun cas, c meme apreciable. mais le fait que mandrakesoft sur 7 000 000 ¤ ne touche que 1 000 000 ¤ alors qu'il sont 5 . si en plus mandrakesoft doit faire trimer des benevoles pour reussir, je trouve qu'il y a une arnaque ... non dans l'attitude de la société mandrakesoft qui fait ce qu'elle peut, mais dans :
    1 - l'inequité du partage
    2 - le montant ridicule que cela represente à coté de certains chantiers vides facturés excessivement plus

    je ne connais pas les termes du contrat ... donc je m'enerve pour rien peut etre ...
  • [^] # Re: C

    Posté par  (site web personnel) . En réponse au journal "Virus d'image" sous Lnux. Évalué à 1.

    tu viens de dire ce que je sous entendais ...

    le C ca pue ... et le pire est qu'il existe des trucs tres bien et plus performant que le C si on ne code pas dessus comme on a appris à faire du C ...

    quand je code j'applique le modele suivant :

    - tout ce qui peut etre fait avec un machin le plus portable qui soit au risque ( et non au prix ) de la perf, je prend de l'interpreté ( LISP / perl principalement )

    - tout ce qui doit etre un peu portable mais dont je doit pouvoir garantir une certaine reactivité, je prend un macro assembleur ( C / C++ principalement et ADA depuis peu )

    - tout ce qui necessite une gestion critique du temps, je prends un assembleur ( 80x86 & PPC principalement )



    sinon, au niveau assembleur, il y a des gens qui ont eu une idee geniale : faire un macro assembleur sur un processeur à registre et pile avec la possibilité d'avoir un support objet au niveau de l'assembleur.

    et le pire c'est que ca marche ...

    je ne vais pas me faire le perroquet de ce projet, donc je n'en parlerai pas plus, mais pour info, il est lié à la recherche de la perle parfaite.

    si un gars un jour se dit que prendre ce projet et le coller sur un crusoë en natif, ca peut etre cool puisque l'on peut recoder les opcodes à la volé ...

    ... c'est comme dire qu'un jour on marchera sur la lune ou que l'on volera dans le ciel ... c'est de la science fiction ;)
  • [^] # Re: C

    Posté par  (site web personnel) . En réponse au journal "Virus d'image" sous Lnux. Évalué à 1.

    dans les autres choses, au hasard ...

    la double translation des pointeurs avec gestion des bornes sur les compatible 80386->PentiumIV et sur les PPC depuis le 601 ou le 603.

    mais le modele plat de memoire avec superposition des espaces code/donnees/pile est encore de vigueur.

    ( et paf paf le buffer overflow )
  • [^] # Re: C

    Posté par  (site web personnel) . En réponse au journal "Virus d'image" sous Lnux. Évalué à 1.

    YES !

    je t'aime !

    je ne suis pas seul à crier !

    mon ami ! mon amour ! ma mie !

    cachez ce malloc que je ne saurais voir !

    \\o o//

    bon, il n'y a pas que ca, il y a aussi les typages de psycho-rigides.

    bon, je me debrouille en C et C++ ...

    par contre, je me posais la question suivante ... si un langage de programmation doit etre independant de l'architecture ...

    pourquoi avoir : short int, int, long int, long long int, float, double, long double, ... sans oublier les signed et unsigned ... avec des contraintes chiantes ?

    alors qu'a la rigeur un type numerique avec la possibilité de forcer un contexte :
    - signé ou non
    - virgules fixe ou flottante
    - une borne superieure et inferieure

    c pas facile mais c beaucoup plus simple :)

    ya d'autres choses aussi ...
  • [^] # Re: calcul de base ...

    Posté par  (site web personnel) . En réponse à la dépêche Mandrakesoft retenue pour le développement d'un système d'exploitation ouvert de haute sécurité. Évalué à -1.

    ce qui me gene dans le principe est le fait que mandrakesoft ou quiconque d'autre soit payé pour encadrer des benevoles.

    personnellement, ca pourrait etre pris comme si un organisme ( pas necessairement etatique ) payait les resto du coeur pour encadrer ses benevoles pour la distribution des repas. soit c'est un don, soit c'est une traite. si c'est une traite alors pas de vice de forme et tout travail merite salaire.

    j'en arrive aux bounties. la prime est une gratification, un compensation, un appointenement, un salaire. tout travail merite salaire. placons le dans le cadre du droit social europeen. aujourd'hui, peut on proposer un bounty dont la charge de travail represente un salaire inferieur au SMIC horaire ? legalement non.

    aujourd'hui, quel est la legalité d'un bounty en france ?

    pour les criteres de qualite, il me semble evident que GIMP et plein d'autres ne seront pas necessairement patché pour etre CC-EAL5 ...

    ... par contre frozen bubble et wmcoincoin doivent l'etre c imperatif. et pour les patcher il en faut des ressources humaines ( surtout pour les benchmarks ). heureusement que ce n'est pas debian qui a chopé le contrat, il aurait fallu tester tous les niveaux de frozen bubble sur 11 archi differentes !!!!!!! ... fin de l'apparté.

    je pense que cela sera des patchs dans les fondements : le kernel, certaines libs et applis sensibles. donc il ne faut pas non plus 15 000 salariés. et vu que tu me le confirmes on est donc d'accord :)
  • # calcul de base ...

    Posté par  (site web personnel) . En réponse à la dépêche Mandrakesoft retenue pour le développement d'un système d'exploitation ouvert de haute sécurité. Évalué à 7.

    on a 1 000 000 d'euros sur 3 ans

    cela fait un peu moins de 28 000 euros de chiffres d'affaire brut par mois.

    si l'on compte que ce chiffre d'affaire est directement versé en salaire, cela represente 6 salaires à 2 000 euros net.

    si l'on inclus les frais generaux que represente un salarié, cela tombe à 4 ou 5 salaires à 2 000 euros net.

    "La tache principale de Mandrakesoft sera d'adapter sa distribution et de mobiliser les ressources de la communauté du logiciel libre autour de ce projet"

    donc mandrake a x salarié pour sa distrib. doit ajouter y salariés pour adapter la distrib aux criteres de qualités et z pour motiver les benevoles.

    x on s'en fout il bougera pas vraiement ( à la rigueur, quelques ressources seront migrés vers y ).

    sachant que pour motiver la communaute, on va lui proposer la methode à la mode : le bounty.

    1 salarié en moins = 4 000 euros de bounty HT & TCC

    avec 4000 euros, on fait combien de bounties à 100-euros-empochés ?

    moins de 40 ( je ne sais pas trop comment comptablement passé en france un bounty a part en frais de restauration ).

    conclusion, il va y avoir peu de recrutement et des bounty qui ressembleront à "pour 100 balles et un mars, tu me fais du bon patch".

    je ne sais plus qui a dit sur une marché idéal les couts structurels se retrouveront exprimer uniquement par des couts minimaux au niveau de la force de production. certains raillait le truc avec un complement du genre "cad le prix d'un bol de riz".

    perso, dans ce cas, je dirais "cad le prix d'un bounty et mars" :|
  • [^] # Re: Somebody set up us the voice.

    Posté par  (site web personnel) . En réponse au journal Somebody set up us the voice.. Évalué à 1.

    il y a deja eu netsky qui faisait faire bip bip le matin entre 6h et 9h aux ordinateurs.
  • # bug CSS IE

    Posté par  (site web personnel) . En réponse au message Corriger un bug CSS sur msie.. Évalué à 1.

    deja, mettre 14 lettres dans 7em ... ca fait un peu leger ... ce qui doit avoir un effet avec certains navigateurs ...

    sinon melanger des em dans des px ... c bof

    sinon il y a "clear:" avec lequel tu peux jouer quand tu fais des float . "clear:" permet de dire qu'un paragraphe flottant deborde sur les paragraphes suivant. ainsi tu peux fixer la hauteur du paragraphe flottant, et constater les autres effets. attention float+clear est plein d'effets de bord rigolo ( si on aime ce genre de truc ).

    un truc bien esy de mettre des couleurs de fond a tes box pour debugger : ca permettra de voir le pourquoi du comment.

    les magin+padding+border remplacer ca par des border avec des border-color .... c pas mal non plus. genre ( adapte a ta sauce ) :

    * {
    border-width: 2px !important;
    border-color: Pink !important;
    border-style: solid !important;
    background-color: Yellow !important; }
  • # regexp

    Posté par  (site web personnel) . En réponse au message Des regexps plus rapides !. Évalué à 1.

    @regexp = ( qr/toto/, qr/t.t./, qr/^.{4}$/, );


    for my $chaine ( qw( tototo titi toto ) ) {

    print join( " + ", $chaine, ( grep { $chaine =~ $_ } @regexp ), "\n" );

    }
  • # MM & lib

    Posté par  (site web personnel) . En réponse au message Charder des autres fichiers & utiliser des répertoires. Évalué à 2.

    use lib qw( mon/path/ /mon/second/path );

    et faire un installer perl avec ExtUtils::MakeMaker permet d'automatiser ca. on peut meme en faire des paquets debian plus ou moins automatiquement à partir de la ( dh-make-perl ).
  • [^] # Re: quel est le probleme ?

    Posté par  (site web personnel) . En réponse au journal LOL (bis). Évalué à 0.

    apres une seconde lecture, j'admet avoir fait une lecture rapide un peu trop rapide :)

    mais l'idee de mettre son swap dans un ramdisk ne me derange pas plus que ca ...

    il y a qq annees ( je ne sais plus si cela se fait encore ), sur certains systeme, il y avait une copie de la ram dans le swap ... ce n'est pas plus etonnant.
  • # quel est le probleme ?

    Posté par  (site web personnel) . En réponse au journal LOL (bis). Évalué à 0.

    tu as de la RAM sur des slots RAM ... au format qui va bien.

    tu as des DD IDE ou SCSI sur les slots qui vont bien.

    mais la difference de vitesse d'acces R/W est collossale.

    donc puisque le bus PCI est extensible ( contrairement aux slots pour la RAM ), si on pouvait coller des barettes de RAM sur un bus PCI ... ca serait cool.

    surtout que la RAM est limité à l'archi du processeur, alors que les disques non.

    donc un disque fait de barettes de RAM, est tres rapide et est beaucoup plus extensible.

    il est ou le probleme ? :)
  • # optims de base

    Posté par  (site web personnel) . En réponse au journal Optimisation de code C. Évalué à 3.

    deja pour les calculs :

    les calculs a virgules fixes sont excessivement plus rapide que les virgules flottantes.


    apres au niveau de l'archi :

    sur les archis MMXisante, le MMX permet de paralleliser en prime des operations a virgules fixes la ou il n'y a qu'une operation a virgule flottante

    il peut etre interessant d'utiliser certaines propriétés des pentium ( non MMX aussi ) qui ont une deuxieme UAL plus restreinte pour paralleliser les operations.

    je ne connais pas les specificités des Athlon, je ne peux donc en parler.

    et enfin reste une version MP du calcul.


    au niveau du code :

    un jmp réinitie le bus une partie du processeur ( pipeline de traitement des instructions ) donc il faut etaler les boucles.

    les conditions sont couteuses.

    un shift ( multiplication ou division par deux ) est bien moins couteux en cycle qu'un mul sur des entiers

    un and est mieux qu'un div pour obtenir le reste ( s'arranger avec 2^x-1 )

    avoir une approche differentielle du calcul permet dans une certaine mesure de se passer aussi des multiplication et division

    si tout cela est impossible, selon la precision demander une logarithme bien choisi peut aussi facilité les calculs

    faut aussi penser à aligner les données en memoire


    avec ca, tu peux avoir des gains assez phenomenaux ... mais il faut faire du benchmark et surtout une analyse sinon cela peut ne servir a rien.