Ontologia a écrit 2126 commentaires

  • [^] # Re: Rien de transcendant dirait-on

    Posté par  (site web personnel) . En réponse au journal Noop : encore un nouveau langage ou bien nouvelle génération de langage. Évalué à 4.

    Tiens, je vais mettre les deux pieds joint dans le troll.
    Personnellement, j'aime beaucoup SQL. C'est un vieux langage, qui as pas trop mal évolué ces derniers temps, qui a certes ses limites (pas de possibilité de jouer avec les résultats en ligne, pas possibilité de "doublonner" une même table dans le from, etc...), mais qui reste très puissant pour exprimer en 2mn des trucs hyper gonflant à écrire avec des boucles imbriquées - et moins error prone.
    Je sais que je suis minoritaire, et que les j2ee fan boy aiment pas ça en général.

    Mais si c'était intégré en natif dans les langages, à la HQL/LINQ/whatever (d'aileurs ça commence à venir), et qu'on prenait l'habitude de les utiliser, l'industrie de l'informatique de gestion ferait beaucoup de gains de productivité.

    Et tu verrai que tu te prend beaucoup moins la tête à faire deux not in imbriqué en déclaratif, que d'écrire ta boucle qui risque de péter à cause de call on null....

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: rentrons dans le vif du sujet

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 2.

    Tout est dans les parenthèses que tu as mis : en C tu ne fais pas de compromis au final, ca ne change pas grand chose sur les perfs.
    Je te renvoi à ce que t'as expliqué Nicolas plus haut (plus je te connais plus j'ai l'impression que tu es rétif à tout apprentissage): http://www.linuxfr.org/comments/1068755.html#1068755

    Ben non, parcque en Lisaac le fait de ne pas compiler globalement ca va te faire "réellement" perdre des perfs (sinon c'est que le compiler global n'apporte pas de gain).
    Je sais pas moi, découper votre encodeur MPEG2 en par exemple 10 modules séparés, et remesurez les perfs. Soit il n'y a quasiment pas de perte et on se rend compte que l'optimisation globale ne sert quasiment à rien, soit les perfs sont nettement dégradées et ca justifie l'optimisation globale tout en mettant en avant la contradiction de la modularité.

    C'est difficile de savoir réellement parce que ça dépend du type d'appli sue tu compile, et le compilateur peu découvrir plein de trucs grace à la globalité... ou pas.
    Au niveau global, c'est surtout la prédiction de type qui est faite et donc la suppression d'appels polymorphique (plus que 2% à la fin en moyenne).
    Mais ça peut se faire aussi assez localement. Genre avec 3 prototypes et ta lib collection, ce qui est un code petit comme un module Linux, tu va avoir quand même pas mal d'optim. Surtout que la dernière version du compilateur effectue pas mal de détection d'optims locales.
    Si tu veux, on peut déjà considérer que le simple fait d'optimiser sur ton objet + la lib de base que tu utilises (nombre + string + collections) ça optimise pas mal déjà.
    Mais plus tu globalise mieux c'est.
    Donc pour le MPEG 2, tu dois déjà avoir pas mal d'optims même en découpant en 10 parties.
    'Fin étudie la question avant d'affirmer des choses de ce genre, parce qu'au niveau théorique, y répondre est assez difficile.
    Mais t'es comme la plupart du ingés javaiste/csharpiste (j'en ai plein dans ma boite), tu connais rien à la compilation. (ça c'est la petite méchanceté ;-)

    Oué bah c'est pour ça que je dis : "quand est ce que Lisaac va résoudre le problème".
    Quand Ben aura le temps de s'y mettre, c'est absolument pas prioritaire.

    Ben la chaîne de production à partir de modules est parfaitement prise en compte par les outils (compilo, linker, makefile, IDE). Je te demande comment on fait en Lisaac.
    Ben, on fait pareil, vu que c'est du C derrière.
    Comment ils font en Eiffel d'après toi.
    Dans ma boite, en java, on a maven le gros bousin pour "compilo, linker, makefile", et eclipse pour l'IDE.
    En Lisaac, tu as eclipse comme IDE, et le compilateur pour compiler (et shorter pour te générer la doc).
    La chaine de production est là.
    Euh, le troll du journal cible le kernel Linux, même si Linux tourne sur de l'embarqué, c'est un projet pour moi "énorme", les problématiques de modularité sont pleinement à prendre en compte.
    Je répète : lit 10 fois http://www.linuxfr.org/comments/1068755.html#1068755 , tu vas peut être finir par comprendre....

    C'était une remarque plus général sur Lisaac, pas spécialement lié à la compilation séparée.
    Tests : possibilité d'inclure des méta-données, de mocker dynamiquement le code (nécessite l'introspection et la génération dynamique de code).

    Inclure des méta donnée : tu peux avec les contrats, en les détournant un peu il est vrai, mais le mécanisme est généralisé pour ça (en fait c'est une dose d'aspect programming).
    Tu peux poser des contrats sur du code, des données, en tant qu'invariant de prototype.

    Tu peux m'expliquer ce qu'est "mocker dynamiquement le code " ? Parce que moi, j'ai du me les taper à la main, les mock, et je vois pas ce que c'est en "dynamique" (et ça m'intéresse parce que c chiant les mocks...).
    Pour l'introspection, je devrais pouvoir jouer avec dans 2 ou 3 mois, c'est quasi implémenté.
    Documentation : syntaxe spécialisée et utilisable par le compilateur pour générer automatiquement une documentation externe synchronisée à chaque compilation
    Chez nous, ça s'appelle "shorter".

    Déploiement : composants "versionnable", "signables", introspection et chargement dynamique (plugins), abstraction hardware, déploiement à distance, etc.
    composants "versionnable", "signables" : Dans la section header (en passant, en Java, je sais pas comment on fait)
    Introspection, voir plus haut.
    chargement dynamique (plugins) : C'est quoi ?
    abstraction hardware : C'est quoi ? (si c'est ce que je pense, on est largement en avance)
    déploiement à distance : C'est quoi ?

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Rien de transcendant dirait-on

    Posté par  (site web personnel) . En réponse au journal Noop : encore un nouveau langage ou bien nouvelle génération de langage. Évalué à 4.

    - Qu'est ce que spring a de crade? L'IoC, dependancy injection et tout le tralala, c'est quand meme vachement elegant et rudement pratique pour des grosses applis.
    Pratique, c'est pas faux, élégant, j'en suis moins sûr.
    A débugger, en restant des heures coincés dans les couches de spring quand tu veux tomber simplement passer de l'appel de fonction à la fonction elle même, c'est moins élégant déjà.
    Et j'aime pas (mais c'est personnel) les goto cachés.

    N'empêche que ça ressemble énormément à un workaround sur les limites de langages à classe. (troll open)

    Et que ce soit au niveau de l'architecture ou du code, spring est clairement un tres bon exemple d'elegance.
    Les fichiers de conf en xml c'est l'horreur et surtout pas élégant, pas human readable en tout cas.
    Spring Webflow le pire de tous, avec ses fichiers de conf d'interface et tout le bordel que ça implique derrière (appel de fonction avec ses paramètres tordus et ses histoires de scope), c'est surtout pas élégant.

    M'enfin je comprend que ça fasse tripper les ingénieurs, c'est le plus pure style d'usine à gaz d'ingénieurs typiques.

    - Le sql integre au langage me parait pas forcement indispensable quand on voit la qualite d'un ORM tel qu'hibernate. La on se débarasse carrement de cette daube de sql.
    Que tu préfère écrire des boucles de 20 lignes à la place d'un select * from truc where machin not in (select toto from dude) c'est ton problème. J'en suis heureux pour toi. Moi je préfère SQL : j'aime jouer avec les ensembles (intersection, différence, etc...), et je suis très à l'aise avec ça.

    HQL est pas mal, et j'aimerai bien le voir intégré au langage (cela dit je n'y toucherai pas : depuis que j'ai claqué la porte à la capa java dans ma boite, hors de question que je retouche à ce langage pourri). LINQ est intéressant à ce titre, puissant, mais asez tordu.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Rien de transcendant dirait-on

    Posté par  (site web personnel) . En réponse au journal Noop : encore un nouveau langage ou bien nouvelle génération de langage. Évalué à 2.

    Très vite fait :

    Un bête langage à classe

    Dans http://code.google.com/p/noop/wiki/ProposalForErrors un sucre syntaxique pas bête consistant à récupérer le résultat ET l'erreur.
    La fonction renvoi deux valeurs. Rien de très nouveau.

    Dans http://code.google.com/p/noop/wiki/ProposalForTestingApi
    Un machin sucre syntaxique dans la grammaire en dur (beurk caca) pour que le test ait l'air d'être écrit en anglais

    Un langage avec des thread (dépassé, voir mémoire transactionnel, Scoop, etc...)


    Si les scope, ou comment mettre les trucs crade de spring (injection d'objet à l'init) en natif dans le langage.

    Bref, faudrait que je creuse plus, mais ça m'a l'air d'un mélange de tous les trucs crades et dépassé de java/C#, mélangé avec les bidouilles à la spring qui sont là pour pallier aux limites de ces langages.
    Mais l'idée de les intégrer en natif est intéressante.

    Non, pour moi un truc vraiment nouveau serait :

    - Objet à frame, avec pose de contraintes entre les membres de chaque objets
    - Un sql intégré, minimum
    - Une sémantique orienté agent. Ie. pourvoir définir des agents autonomes interragissant entre eux avec des règles
    - Un moteur de règles avec résolution, détection de conflit à la compil

    Bon aller, je --> []

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: rentrons dans le vif du sujet

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 2.

    Dans tous compilateur utilisant de la compilation globale (Smarteiffel, Pypy peut être, Lisaac, et bien d'autres), tu bénéficies d'ors et déjà des optims sur le bouts de code que tu utilises, par rapport à des langages à JIT (ou AOT). Ie. Toute l'utilisation de ta lib est optimisée par le compilateur qui :
    - N'embarque que le code que tu utilise dans ta lib
    - Optimise l'utilisation de celui-ci

    Donc même si ton noyau est un petit morceau de code (et heureusement), il est déjà assez gros pour que tu profite d'un gain plus que substanciel par rapport à de la compilation séparée.

    Lisaac est "bydesign" conçu pour mettre en contradiction les gains de perf avec la modularité du code. Faut vous faire une raison, Lisaac se focalise sur des objectifs qui sont loins des préocupations des développeurs et packageurs.
    Explique moi un peu mieux, parce que si tu codes un kernel en C, tu fais de la compilation séparée, avec le défaut de perf qui vient avec (mais C est tellement bas niveau que ça ne se voit pas trop, tout est fait à la main). Dans un langage à compilation globale (je répète, SMartEiffel, Lisaac et d'autres), tu as toujours la possibilité de compiler globalement tes petits bouts, ce qui ne te fera perdre aucun avantage par rapport à C, tout en gagnant le haut niveau (des collections type array, liste chainées, tables de hashage, etc...)

    De plus, pour info, il existe pas mal de techniques pour faire de la compilation globale à partir de compilation séparée
    par exemple :
    http://www2.lifl.fr/lmo2004/slides_lmo2004/privat.pdf
    http://docs.google.com/gview?a=v&q=cache:onvvYLCD35UJ:ww(...)

    \o/ J'attend de voir ça dans une équipe de développement et son environnement SVN/GIT+IDE+makefile...
    J'attend aussi de voir le débuggueur...

    Ils font comment quand ils développent en C/C++ ?
    Je te rappelle que le but du projet, c'est l'embarqué, pas d'être un concurrent de Java et C# pour des logiciels de gestion.

    De plus, c'est débile comme argument :
    Dans la SSII où je travaille, on utilise maven. Alors c'est clairement plus sophistiqué que Makefile, d"accord, mais c'est tout aussi bloat et lent.
    Et lors du debug, c'est toujours aussi peu maniable à utiliser (souvent le temps d'aller chercher un café, le temps que ça compile). Le seul intérêt étant le tracage à la main dans Eclipse, et le watching sur les variables.
    En SmartEiffel (compilation globale), Ils l'ont ! Certes pas couplés à Eclipse, mais ce ne serait pas un énorme boulot, car il s'agirait juste d'interpréter du mode texte.
    Les langages modernes s'occupe de toutes les problématiques de la réalisation d'un soft, du dev en équipe à l'exécution en passant par les tests, la documentation et le déploiement.

    Pour les tests, tu as la programmation par contrat, ainsi qu'une lib de tests unitaires, et je parle pour SmartEiffel aussi.
    Pour la documentation, tu as un outil dans chaque langage pour générer de la doc, qui ressemble à une javadoc d'ailleurs.
    Tu as un debugger intégré en SmartEiffel, embarqué dans le code.

    Pour le dev en équipe, le nouveau système (LIP) est fonctionnel, et il a juste besoin d'être un peu maturé pour s'assurer que même les cas les plus tordus ne posent pas problèmes.

    Donc, j'aimerai bien que tu m'expliques en quoi il faut absolument de la compilation séparée pour être un langage "moderne" couvrant les problèmes de "dev en équipe à l'exécution en passant par les tests, la documentation et le déploiement."

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: rentrons dans le vif du sujet

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 2.

    Il faut également pouvoir charger des modules dans des espaces mémoires différents avec des droits différents (séparation userland/kernelland). Tout ca suppose qu'on passe par une autre étape qu'une bonne grosse compilation du bouzin qui contient tout vu quon connait pas la machine cible.
    Euh, c'est vrai, une compil kernel ça prend 30s sur un Atom.

    Sans parler que même si ca prend "seulement" 5 minutes à compiler sur ton quadri-coeur de la mort, pour le développeur c'est attroce comme environnement de test/déboggage.

    A ces deux affirmation je répond : Pour tout langage qui font de la compilation globale (et par exemple génèrent du C), et il y en a qqun, il y a toujours la possibilité de découper le C en petits bouts, et de coller un .h pour lier le tout. Ce qui implique que s'il y a modif, seul le morceau modifié est recompilé.
    Smart Eiffel le fait.
    Alors il est vrai que de la compil globale fait bouger assez facilement pas mal de chose, mais pas toujours.

    C'est donc un faux problème, ou en tout cas aisément contournable.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: rentrons dans le vif du sujet (Compilation globale/séparée)

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 2.

    De plus, la version en préparation/test gère maintenant assez bien l'interface avec le monde extérieur.
    Il y a quelques réglages à revoir d'ici la release à ce propos, mais on peut sans trop de problèmes générer des .o et les linker ensemble de sortes à ce qu'ils se parlent (via la section external).
    Il reste à faire en sorte que ce soit manipulable aisément par le programmeur, qui devra s'assurer à la main que les interfaces puissent discuter ensemble.
    La gestion de l'interface avec des programmes C classiques a été grandement améliorée et fonctionne assez bien maintenant (problèmes de gestion de la mémoire essentiellement).
    On peut même générer des modules linux !

    Le fait de pouvoir générer des lib C en lisaac et pouvoir les linker de manière classique tiendra lieu de compilation séparée dans un premier temps.
    Au pire, pour vérifier l'interfacage, on pourra lancer un début de compilation globale sur le tout, et séparer en petit morceau si le compilateur ne trouve rien à redire.

    Dans un second temps, ce sera essentiellement un problème de performance ie. comment ne pas faire chuter les perfs parce que chaque partie du programme n'a pas été optimisé en fonction des autres.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Euh

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 2.

    Merci. Je l'ajoute dans ma todolist. Mais on fera ça pour la prochaine version avec les shootout, ça sera plus simple.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Problèmes avec FF3.5 (sous mac)

    Posté par  (site web personnel) . En réponse au journal patrick_g en PDF. Évalué à 3.

    Je constate pas mal de problème sous FF3.5 : impossible d"atrapper" la barre du bas, qui clignote.
    La zone, à gauche, avec les liens permettant de créer un journal, etc... n'est pas accessible non plus (clignotement)
    Je ne pense pas que le fait que ce soit sous mac soit significatif.

    J'essaierai sur une machine windows au boulot.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Euh

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 3.

    s/CFT/VFT/

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Euh

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 3.

    1/ Dans le papier que je cite, on explique pourquoi le fait d'avoir de l'héritage dynamique permet de simplifier le design et réduire l'empreinte mémoire (un seul parent à la fois). Sur 3 niveaux d'héritage la combinatoire explose vite, et ça devient vite intéressant.

    2/ Ca dépend comment c'est implémenté : si c'est de la CFT à la mano en C, les perfs sont catastrophiques (les processeurs, mêmes modernes ont du mal à optimiser une fonction dont l'adresse est dans pointeur en mémoire et non en statique). Mais je pense pas qu'ils aient fait comme ça.

    Le sujet de mon troll est fondamentalement : il me parait difficile à un humain d'écrire un C lisible qui permette de profiter des optims d'un C illisible mais optimisé au mieux qui serait généré par un compilateur.

    Mais je te laisse le bénéfice du doute, vu le niveau de compétence impressionnant des codeurs du noyau.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Le troll

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 4.

    Ca tombe bien, on aurait besoin d'aide :-)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Le troll

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 3.

    Je sais qu'il est horrible, mais il sera remis à jour en temps voulu.
    Sinon, je te ferai la même réponse que GCU : tout le monde n'est pas hyper fort en HTML, toussa

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Tanenbaum avait-il raison ?

    Posté par  (site web personnel) . En réponse au journal Linux un bloat, ah bon ?. Évalué à 2.

    Il y a aussi un débat là dessus sur reddit :
    http://www.reddit.com/r/programming/comments/9mt4k/linus_cal(...)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Nombre de lignes de code

    Posté par  (site web personnel) . En réponse au journal bon anniversaire. Évalué à 4.

    Selon les estimations, environ 200 milliards de lignes de code Cobol sont actuellement en utilisation.
    Je me demandais si c'était possible, mais en effet oui, ça ne fait que 10 000 lignes de code pour 10 millions de développeurs. En 50 ans, c'est possible.


    Je me pose surtout la question, combien de lignes de code de Java, de C, C++ .... Smalltalk ?

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # J'en serais !

    Posté par  (site web personnel) . En réponse à la dépêche Le 1er octobre 2009 : à l'eau les nantais ?. Évalué à 1.

    Ca manquait un peu dans notre bonne ville :-)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Sources

    Posté par  (site web personnel) . En réponse au journal Hadopti II adopé. Évalué à 1.

    J'avais lu une analyse, sur Agoravox je crois, qui expliquais que c'était la stratégie choisie par Sarko pour diviser la gauche (ie. le PS) et les artistes.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Turing != Cassage d'Enigma

    Posté par  (site web personnel) . En réponse à la dépêche Alan Turing reçoit des excuses posthumes. Évalué à 8.

    1) En fait ce sont les mathématiciens polonais qui ont cassé le code Enigma.
    Exact, mais c'est quand même un des principaux concepteur des "Bomb", ie. les machines à décrypter, basé sur ses travaux sur la calculabilité. Sans parler des Colossus.
    http://fr.wikipedia.org/wiki/Colossus_(ordinateur)
    http://fr.wikipedia.org/wiki/Bletchley_Park
    http://fr.wikipedia.org/wiki/Alan_Turing
    http://www.nsa.gov/about/cryptologic_heritage/center_crypt_h(...)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Sources

    Posté par  (site web personnel) . En réponse au journal Hadopti II adopé. Évalué à 1.

    Right, et ça risque d'être une des raisons pour laquelle le texte risque de se faire envoyer paître par le Conseil Constitutionnel une seconde fois.

    Attendons le vote définitif..

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Sources

    Posté par  (site web personnel) . En réponse au journal Hadopti II adopé. Évalué à 4.

    Et surtout le texte voté : http://www.assemblee-nationale.fr/13/ta/ta0332.asp

    J'adore particulièrement :

    L’article L. 331-36 du code de la propriété intellectuelle dans sa rédaction issue de la loi n° 2009-669 du 12 juin 2009 précitée est complété par un alinéa ainsi rédigé :

    « La personne dont l’activité est d’offrir un accès à des services de communication au public en ligne est tenue d’informer la commission de protection des droits de la date à laquelle elle a débuté la suspension ; la commission procède à l’effacement des données à caractère personnel relatives à l’abonné dès le terme de la période de suspension. »




    Et le point clé :
    Article 3

    Après l’article L. 335-6 du code de la propriété intellectuelle, il est rétabli un article L. 335-7 ainsi rédigé :

    « Art. L. 335-7. – Lorsque l’infraction est commise au moyen d’un service de communication au public en ligne, les personnes coupables des infractions prévues aux articles L. 335-2, L. 335-3 et L. 335-4 peuvent en outre être condamnées à la peine complémentaire de suspension de l’accès à un service de communication au public en ligne pour une durée maximale d’un an, assortie de l’interdiction de souscrire pendant la même période un autre contrat portant sur un service de même nature auprès de tout opérateur.

    « Lorsque ce service est acheté selon des offres commerciales composites incluant d’autres types de services, tels que services de téléphonie ou de télévision, les décisions de suspension ne s’appliquent pas à ces services.

    « La suspension de l’accès n’affecte pas, par elle-même, le versement du prix de l’abonnement au fournisseur du service. L’article L. 121-84 du code de la consommation n’est pas applicable au cours de la période de suspension.

    « Les frais d’une éventuelle résiliation de l’abonnement au cours de la période de suspension sont supportés par l’abonné.

    « Lorsque la décision est exécutoire, la peine complémentaire prévue au présent article est portée à la connaissance de la Haute Autorité pour la diffusion des œuvres et la protection des droits sur internet, qui la notifie à la personne dont l’activité est d’offrir un accès à des services de communication au public en ligne afin qu’elle mette enœuvre, dans un délai de quinze jours au plus à compter de la notification, la suspension à l’égard de l’abonné concerné.

    « Le fait, pour la personne dont l’activité est d’offrir un accès à des services de communication au public en ligne, de ne pas mettre enœuvre la peine de suspension qui lui a été notifiée est puni d’une amende maximale de 5 000 €.


    et encore :


    Après l’article L. 335-6 du code de la propriété intellectuelle, il est inséré un article L. 335-7-1 ainsi rédigé :

    « Art. L. 335-7-1. – Pour les contraventions de la cinquième classe prévues par le présent code, lorsque le règlement le prévoit, la peine complémentaire définie à l’article L. 335-7 peut être prononcée selon les mêmes modalités, en cas de négligence caractérisée, à l’encontre du titulaire de l’accès à un service de communication au public en ligne auquel la commission de protection des droits, en application de l’article L. 331-25, a préalablement adressé, par voie d’une lettre remise contre signature ou de tout autre moyen propre à établir la preuve de la date de présentation, une recommandation l’invitant à mettre enœuvre un moyen de sécurisation de son accès à internet.

    « La négligence caractérisée s’apprécie sur la base des faits commis au plus tard un an après la présentation de la recommandation mentionnée à l’alinéa précédent.

    « Dans ce cas, la durée maximale de la suspension est d’un mois.

    « Le fait pour la personne condamnée à la peine complémentaire prévue par le présent article de ne pas respecter l’interdiction de souscrire un autre contrat d’abonnement à un service de communication au public en ligne pendant la durée de la suspension est puni d’une amende d’un montant maximal de 3 750 €. »




    Ce qui risque de faire litige au conseil constit' :

    « Art. 495-6-1. – Les délits prévus aux articles L. 335-2, L. 335-3 et L. 335-4 du code de la propriété intellectuelle, lorsqu’ils sont commis au moyen d’un service de communication au public en ligne, peuvent également faire l’objet de la procédure simplifiée de l’ordonnance pénale prévue par la présente section.

    « Dans ce cas, la victime peut demander au président de statuer, par la même ordonnance se prononçant sur l’action publique, sur sa constitution de partie civile. L’ordonnance est alors notifiée à la partie civile et peut faire l’objet d’une opposition selon les modalités prévues par l’article 495-3. »


    ils espèrent se protéger avec ça :


    Après l’article L. 335-6 du code de la propriété intellectuelle, il est inséré un article L. 335-7-2 ainsi rédigé :

    « Art. L. 335-7-2. – Pour prononcer la peine de suspension prévue aux articles L. 335-7 et L. 335-7-1 et en déterminer la durée, la juridiction prend en compte les circonstances et la gravité de l’infraction ainsi que la personnalité de son auteur, et notamment l’activité professionnelle ou sociale de celui-ci, ainsi que sa situation socio-économique. La durée de la peine prononcée doit concilier la protection des droits de la propriété intellectuelle et le respect du droit de s’exprimer et de communiquer librement, notamment depuis son domicile. »

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Tutorial vidéo...

    Posté par  (site web personnel) . En réponse au journal Sortie de Movicon, un framework MVC pour PHP. Évalué à 2.

    Ca dépend...

    Il y a 1000 manière d'écrire un tutorial de programmation, comme 1000 manières de faire une vidéo.
    Pour un projet, dont j'ai assez souvent parlé ici sur lequel je travail, je me rend compte que le texte gave vite les gens.
    C'est très difficile de faire accepter aux gens de lire 40 pages pour leur faire comprendre des concepts qui pourraient les intéresser une fois compris.

    Une vidéo, en utilisant 2 sens de l'homme, la vue et l'audition, fatigue moins le cerveau, et rebute moins les gens.

    C'est pour cela que cela me parait intéressant pour faire comprendre des concepts. Ensuite, pour du concret, le texte s'adapte mieux.

    après, une démo comme celle-ci où on switche d'une fenêtre à l'autre... sans son, c'est vrai que c'est difficile à suivre.

    Mais un bon powerpoint avec des slides bien fait et un commentaire de vive voix, ça passe quand même bien.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Un peu précipité, non ?

    Posté par  (site web personnel) . En réponse à la dépêche Processeur graphique : NVIDIA est mal parti pour les années à venir. Évalué à 2.

    Ce serait sympa de nous en faire part une fois que tes papiers seront passés.
    En tout cas bonne chance avec tes relecteurs, surtout ceux qui ne sont pas spécialistes de la question pour tout comprendre...

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Un peu précipité, non ?

    Posté par  (site web personnel) . En réponse à la dépêche Processeur graphique : NVIDIA est mal parti pour les années à venir. Évalué à 1.

    Et puisque tu expliquais que OpenCL est adapté à des problèmes consistant à appliquer un calcul n fois sur n paramètres différent (si j'ai bien compris), que penses-tu de la possibilité d'utiliser des compilateurs de haut niveau pour générer ce genre de code.

    En d'autres termes, crois-tu possible de mettre une couche d'abstraction au dessus d'un tel framework ?

    Je te pose cette question car je sais que tu as un peu joué avec ce genre de compilateur ;-)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Problème de point de vue

    Posté par  (site web personnel) . En réponse au message [OCaml] Quel stratégie pour transformer un arbre en grammaire ?. Évalué à 2.

    tu as regardé les outils déjà existant qui parsent directement Java -> Ocaml ? Ça existe sûrement, pas mal de gens font de l'analyse statique de Java en OCaml, après leur AST est peut-être pas exactement comme le tien, mais ça me semblerait la méthode la moins fatiguante pour toi
    J'ai regardé et c'est imbitable. Fjavac par exemple http://www.cis.upenn.edu/~stevez/stse-work/javac/index.html
    En plus, il y a de gros problèmes de compatibilité Java 1.5
    Cela dit, j'en ai trouvé un nouveau, mais très vieux ( http://www.cs.cmu.edu/~ecc/joust.tar.gz ) et je vais regarder ça, ou au moins m'en inspirer.

    J'ai tourné le problème dans tous les sens, et le fait que je dois construire ma grammaire avec cette méthode me permet de comprendre ce que je fais

    Sinon, bah tu n'as pas le bon point de vue : pour toi on donne le "field en cours de construction" aux sous-fonctions qui vont explorer les fils de ton noeud XML pour rajouter les infos. Ça suppose des effets de bords et des trucs pas nets. Il vaut mieux faire l'inverse : ta fonction qui parse les fields _appelle_ les sous-fonctions (c'est elle qui dirige le flot de contrôle, pas les fils), récupère tous les résultats d'un coup et s'en sert pour construire l'enregistrement, en une seule fois.

    Donc en gros, j'aurai un truc du genre

    Elem ( "field" , infos, fils) ->
    { name_f=cle(infos,"name") ; type_field=match_type fils ; ...}

    ?
    ie., je colle mes fonction d'exploration de l'arbre dans chaque élément que je veux remplir ? Là ce serait match_type fils qui irait chercher les infos en bas ?
    C'est ça que tu veux dire ?

    Entre nous je pense pas que l'approche XML soit la plus simple pour ton truc. Dans 90% tu as des arbres qui ont "un seul enfant de tel type", en XML tu as une liste d'enfants tous types mélangés, tu dois filtrer sur l'attribut et gérer le cas où il n'y en a aucun/plusieurs, c'est pas très pratique. Tu tiens vraiment à ton frontend XML ?

    Les autres approches sont pas simples non plus, javac est imbitable, et joost est trop vieux...
    Au moins le xml, je peux le manipuler, et de toutes façon, il ressemble à une grammaire java, donc il a une cohérence...

    M'enfin je vais qd même reregarder, mais, entre deux lignes, j'ai reregardé fjavac, et j'y comprend rien, je sais pas où commencer, c'est trop gros, je trouve pas la syntaxe abstraite, etc....

    En tout cas, merci beaucoup pour ta réponse :-)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Noms de fichiers

    Posté par  (site web personnel) . En réponse à la dépêche Les vidéos des RMLL téléchargées 1000 fois. Évalué à 5.

    Juste un petit détail : ce serait pratique que le nom du fichier reprenne le titre de la conf affiché sur la page, parce que RMLL_7.m4v , RMLL_9.m4v, c'est pas très clair :-)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker