Tobu a écrit 153 commentaires

  • [^] # Re: euh ?

    Posté par  . En réponse au journal Europe MALtraitéE ?. Évalué à 2.

    Je ne suis pas allé vérifier le reste, mais je peux te confirmer que le TCE a déjà nécessité des changements dans notre constitution. Et ça paraît logique puisque le TCE déplace certaines prérogatives des institutions françaises vers les institutions européennes.
    Les gens qui ont suivi l'actu des brevets logiciels savent par exemple qu'une loi européenne, émanant de la Commission (pas élue) et passée en force par le Conseil (politiciens anonymes qui n'ont rien à foutre de leur propre Parlement - cf http://wiki.ffii.org/Cons050307Fr(...) ), deviendra désormais automatiquement une loi nationale.

    Les changements qui permettent ça ont été faits le 28/02/2005, mais ils ne sont la que pour permettre l'application du TCE. En fait ils devront être annulés si la constitution européenne n'est pas approuvée, puisque une modification de la constitution Française, (en plus de l'initiative du président et du vote du parlement (en février dernier donc)) nécessite un référendum. cf la Constitution actuelle, article 89: http://www.conseil-constitutionnel.fr/textes/constit.htm(...) .

    Le texte intégral des modifications depuis 1958 est là: http://doc-iep.univ-lyon2.fr/Ressources/Documents/DocEnLigne/Consti(...)

    Les changements sont dans l'article 88-1 de la constitution française:
    Art. 88-1. - Dans les conditions fixées par le traité établissant une Constitution pour l'Europe signé le 29 octobre 2004, la République française participe à l'Union européenne, constituée d'Etats qui ont choisi librement d'exercer en commun certaines de leurs compétences.

    Ce qui signifie en fait que tout le TCE se trouve appliqué au niveau de notre constitution, donc au dessus des lois.

    D'autres pays comme la Belgique, l'Allemagne..., n'ont pas besoin de référendum pour modifier leur constitution, et ils n'en font pas.
  • [^] # Re: Pour débuter...

    Posté par  . En réponse à la dépêche Peter Seibel : Practical Common Lisp. Évalué à 3.

    Mieux vaut peu de commentaires mais pertinents que le contraire.
    Ca manque de spécialistes ici, mais comme il s'agit d'un livre d'introduction à lisp la news servira quand même, et dans quelques années on n'aura que des pros.
  • [^] # Re: Sun, pas de code source ?!?

    Posté par  . En réponse à la dépêche [débat] Pourquoi Sun rejette la GPL. Évalué à 2.

    Je ne m'étais pas rendu compte que ce fil dégénérait...

    Donc pour mettre les choses au clair, la license des sources du JDK est la SCSL, et pas la sun binary license agreement qui ne concerne que les binaires et que tu cites. Elle est utilisée entre autres pour le j2se, j2me, j2ee et jini. Il y a un lien vers un rtf ici: http://java.net/choose_license.csp(...)

    On trouve une analyse ligne à ligne dans un bouquin O'Reilly: http://www.oreilly.com/catalog/osfreesoft/book/(...) , chapitre 5.

    Je reprends la question:
    est-ce que la SCSL qui est la license du JDK peut imposer des restrictions sur d'autres implémentations compatibles avec Java?

    La définition de Modifications par la SCSL indique que cette license couvre toute implémentation des spécifications; la license ne couvre pas que du code mais prétend couvrir les spécifications et leurs implémentaions. Petits extraits:

    "Covered Code" means Community Code and Modifications.

    "Modifications" means any (a) change or addition to Covered Code, or (b) new source or object code implementing any portion of the Technology Specifications, but (c) excluding any incorporated Reference Code.

    "Technology Specifications" means the functional, interface and operational specifications and documentation for the Technology designated by Original Contributor at the Technology Site from time to time.

    II. PURPOSE.
    Original Contributor is licensing the Reference Code and Technology Specifications and is permitting implementation of Technology under and subject to this Sun Community Source License (the "License") to promote research, education, innovation and product development using the Technology.


    Le problème est donc dans la définition de Modifications.

    Ça peut sembler ridicule, mais l'application de la SCSL s'est soldée par un gros chèque (arrangement à l'amiable) de la part de jBoss, qui par malheur prétendait implémenter j2ee. Enhydra a cessé le développement d'un serveur d'applications open source pour ces mêmes raisons. Dans les deux cas le code était neuf, indépendant et sans copyright de Sun. http://www.javalobby.org/java/forums/m91797326.html(...)

    Je note qu'il n'y a pas encore eu de procès, seulement des arrangements à l'amiable dans ces deux cas. Peut être que la license est invalide. Mais en tout cas, ça explique très bien pourquoi les projets de réimplémentation préfèrent n'avoir rien à voir avec cette license.
  • [^] # Re: Je prends les paris

    Posté par  . En réponse au journal La terre est plate et Java est plus rapide que C++. Évalué à 2.

    Bon, pardon, j'ai sombré dans la facilité.
    En même temps le journal parlait du Java 1.4 de SUN avec ses API très complètes.
  • [^] # Re: un environnement

    Posté par  . En réponse au journal Lisp: pourquoi est-ce different ?. Évalué à 2.

    J'ai oublié de citer une source de sagesse: le wiki (http://c2.com/cgi/wiki?CommonLisp(...) ).
    Et pour Scheme aussi, il y a plusieurs versions, donc prends PLT Scheme.
  • # un environnement

    Posté par  . En réponse au journal Lisp: pourquoi est-ce different ?. Évalué à 2.

    Common lisp, un peu comme smalltalk, la console, ou emacs (lui même en emacs-lisp), c'est un environnement qui se suffit à lui même. C'est donc un bon milieu pour apprendre à programmer. Une conséquence anecdotique est qu'un programme lisp doit être linké avec tout l'environnement, autour de 15Mo. Les sémantiques du call by name font que potentiellement tout l'envronnement est utilisé.
    Les autres caractéristiques: un lisp s'écrit en 150 lignes (de C: écrit en lisp ça se fait en 2 lignes); les versions incompatibles prolifèrent (conséquence du point précédent).

    Si tu veux faire du lisp, fait du scheme, c'est la même chose en mieux (plus standardisé en particulier).

    Cela dit moi je suis plus un camélien qui ne connait pas les détails, donc si tu veux une recommandation informée je te dirais de te mettre à OCaml, parce que c'est le meilleur langage du monde (et en plus, il est multiparadigme).
  • [^] # Re: Sun, pas de code source ?!?

    Posté par  . En réponse à la dépêche [débat] Pourquoi Sun rejette la GPL. Évalué à 8.

    (Cette niouze est un gros [TROLL] [DEBAT], mais bon...)

    Sache que voir les sources du JDK ou du JRE n'a rien de gratuit, et qu'une des conséquences est que tu n'as pas le droit de coder pour un des projets de Java libre. http://developer.classpath.org/mediation/ClasspathFirstSteps(...)

    Cette license de SUN, comparable à celle de BitKeeper est certainement abusive, certainement beaucoup plus «prédatrice» que la GPL.
    En effet, contrairement à la GPL qui reste dans les limites du droit d'auteur, et ne s'applique donc qu'aux travaux dérivés du code original, cette license prétend limiter tes droits sur tout le code que tu écris et qui aie un rapport avec Java.
  • [^] # Re: Asynchrone?

    Posté par  . En réponse au journal Micro-processeur mou le futur ?. Évalué à 3.

    Un processeur cisc perdra au plus un coup d'horloge pour des instructions qui en prennent une dizaine, et un processeur risc ne perdra rien, donc ce n'est pas vraiment du gaspillage.
    Peut être que le gain se fait au niveau de la consommation, et là ou un processeur classique réduit sa fréquence un processeur asynchrone travaillera plus lentement, mais en consommant moins.
  • [^] # Re: Je prends les paris

    Posté par  . En réponse au journal La terre est plate et Java est plus rapide que C++. Évalué à 1.

    Et il y a certainement des options pour demander au GC de loguer quand il se met à travailler. Avec un top, il y a certainement moyen de voir si le système part au swap (je suppose que tu as un top, même si c'est un système exotique?) (de toute façon si ça supporte java ça peut pas être une petite plateforme).
  • [^] # Re: Je prends les paris

    Posté par  . En réponse au journal La terre est plate et Java est plus rapide que C++. Évalué à 2.

    Son tampon a une taille de 1 seconde, et son thread reste apparemment au moins 1 seconde sans s'exécuter, ce qui fait que le tampon se retrouve vide.
    D'ou bizarrerie: le thread n'est censé ne dormir que 100ms.
  • # Asynchrone?

    Posté par  . En réponse au journal Micro-processeur mou le futur ?. Évalué à 2.

    Mou je veux bien, si c'est pour le mettre dans des vêtements (pas de dilemme à l'upgrade: les procos puissants sont les procos de marque?).

    Mais asynchrone, c'est quoi? Une fin, un moyen, un buzzword?

    Ça veut dire qu'on ne peut pas faire d'horloge ou d 'E/S avec?
  • # [X] Les pastiquelles

    Posté par  . En réponse au sondage Ce qui me manque le plus. Évalué à 1.

    Si tendres, si glutinantes, si murtineuses.
    Toute la sucouicité flamelle, la préventineuse crustité, la mulloche!

    Ah, pastiquelles, pastiquelles, où êtes vous?
    Sans vous je ne suis qu'une ombre, de ma blamante ducité le reflet!
  • [^] # Re: Voyez comme on est cool nous qui fabriquons plein de déchets polluan

    Posté par  . En réponse au journal Un clic de souris pour de l'eau potable dans des endroits défavorisés. Évalué à 3.

    Je suis assez d'accord, il y a un message marketing.
    La question apparaît dans la FAQ (pourquoi ne pas donner 150 000¤).
    http://www.aquaplastics.org/code/faqs.asp#Q1(...)
    Les raisons: faire participer les gens les avertit du problème (je n'irais pas jusqu'à dire faire prendre conscience, ça ne se fait pas en cliquant) (oups en fait ce n'est pas dit par la FAQ); ça signale aux gens que le plastique c'est bon pour l'infrastructure sanitaire, et là c'est vraiment du marketing parce qu'il s'agit de faire passer un message concret par un canal émotionel; ça promouvoit wateraid, même si ça ne veut rien dire puisqu'en tant qu'organisation caritative ce sont des intermédiaires; ça crée des revenus (indirectement, le site justifie la dépense des entreprises).

    Effectivement, on est placé face à un choix moral inattendu - est-ce que l'argent donné par ces entreprises leur donne le droit de prendre une minute de mon temps pour essayer de m'influencer et de me faire passer un message sur le plastique? de m'influencer en me montrant qu'elles sont généreuses (ce qui suppose que j'aille voir qui il y a derrière, et que les noms me disent quelque chose)? est-ce que je dois croire leur message? est-ce que je dois les considérer comme généreuses (comme le suggère un post) ou intéressées?

    Ma conclusion c'est qu'on est amené à comparer des choses pas comparables, des minutes d'attention, une réputation impondérable, des centimes de plastique et de la générosité, tout ça parce que reproduit par quelques centaines de milliers de personnes ça a un sens économique.

    Cela dit si ces questions vous dépassent, il vous reste l'autre option de donner franchement, librement et sans ambiguité à votre organisation caritative favorite.
  • # ArchWay

    Posté par  . En réponse au journal Interface utilisateur de gestion de sources. Évalué à 2.

    J'ai déjà utilisé archway pour mettre le nez dans des projets.
    C'est joli, modulaire et assez pratique, et c'est du gtk-perl.
    Mais c'est encore incomplet sur pas mal de points - la version (1.0) que j'ai gèle l'ui quand il y a une commande arch, et a une partie des modules non implémentés (il faut faire le premier import à la main).
    Les avantages sur l'interface texte, à part qu'on n'a pas à apprendre les commandes, c'est la navigation dans les diff et le diff visuel. La navigation dans les sources arrive bientot, et le merge n'est pas encore la.

    Un projet qui remplit une niche utile, mais qui a encore du chemin à faire.
  • [^] # Re: Lent ?

    Posté par  . En réponse à la dépêche Présentation d'OCaml à Rennes le jeudi 7 avril, 20h, MCE, 48 bd Magenta. Évalué à 2.

    re Judy, ça fait un peu penser à un système de fichiers (un arbre avec des structures alternatives pour chaque n½ud). C'est bien comme hashtable.
    Les VListes sont moins sophistiquées, et adaptées aux listes et aux arrays. En particulier on peut partager un suffixe entre plusieurs listes, nécessaire pour les langages fontionels.

    Il y a un bon résumé des techniques d'optimisations liées au typage dans ce papier de Xavier Leroy: http://citeseer.ist.psu.edu/leroy98overview.html(...)

    Et plein d'articles ici: http://ropas.kaist.ac.kr/survey/tc/(...)
  • [^] # Re: darcs?

    Posté par  . En réponse à la dépêche BitKeeper : plus de version gratuite. Évalué à 2.

    A noter le lien sur la page lwn:
    http://zooko.com/revision_control_quick_ref.html(...) .

    C'est un comparatif concis des différents SCM libres. A noter que linus s'est récemment mis à réécrire à partir de zéro quelque chose qui est l'équivalent de monotone - en particulier l'approche pool de hash.
  • [^] # Re: darcs?

    Posté par  . En réponse à la dépêche BitKeeper : plus de version gratuite. Évalué à 2.

    La passerelle passe par CVS donc on hérite de ses limitations: http://lwn.net/Articles/110516/#Comments(...) . Ce qu'il faut c'est une passerelle de bitkeeper vers un des SCM décentralisés.
    Cela dit si on accepte de liquider les historiques locaux et de se prendre quelques petits de conflits de renommage c'est une bonne solution.
  • [^] # Re: Un test de maturité...

    Posté par  . En réponse à la dépêche BitKeeper : plus de version gratuite. Évalué à 3.

    - soit l'ingénirie inverse s''intensifie (par esprit de conservation), et on produit enfin une passerelle de bitkeeper vers arch ou un système libre comparable. Les développeurs pourront enfin migrer tous leurs historiques de changement vers un outil puissant et libre.

    Le gars n'avait pas du tout tort de reverse-engineerer le protocole, parce qu'il fallait le faire tôt ou tard. La licence de Larry avait une clause de modification rétroactive de la licence et devenait de plus en plus parano, dans ces conditions il faut réaliser que les clauses contre le reverse-engineering sont illégales et s'y mettre. Larry a mis fin à cette escalade de sa license et on peut le remercier de cette décision qui mettra fin à ce qui a longtemps été considéré comme un troll.

    Ce qui compte ce sont les données, plus que l'outil, et un outil qui limite l'accès à des données que l'on possède pourtant est franchement du coté obscur, client pseudo open-source ou pas.
  • [^] # Re: Lent ?

    Posté par  . En réponse à la dépêche Présentation d'OCaml à Rennes le jeudi 7 avril, 20h, MCE, 48 bd Magenta. Évalué à 2.

    Pardon, c'est en effet une question intéressante.

    Avec le système de modules, les types ont une portée limitée, ce qui devrait laisser pas mal de libertés dans ce domaine: pas de contraintes de compatibilité binaire, et on peut faire une analyse du flot d'exécution.

    Dans l'idée de modifier aggressivement la gestion de la mémoire à partir d'une analyse statique, il y a ce papier: http://citeseer.ist.psu.edu/reynolds02separation.html(...) (et aussi http://pag.csail.mit.edu/reading-group/tofte94implementation.pdf).(...)
    Il mentionne la possibilité de passer la gestion mémoire en statique au lieu d'utiliser un ramasse miettes, ce qui à première vue est incompatible avec les langages fonctionnels. On gagne (un peu) en temps d'exécution du ramasse-miettes, et surtout on utilise moins de place, et on peut mieux tirer parti du cache processeur.

    Dans le même genre on parle d'étendre le système de types pour y intégrer une information d'état récupérée par analyse du flot - par exemple marquer qu'une fonction prend des types en accès-concurrent et renvoie le même type en lecture-seule.

    Plus concrètement, on peut améliorer certaines structures de données existantes dans des cas précis. Récemment on a une implémentation du module List (hyper utilisé) qui utilise des VListes: http://article.gmane.org/gmane.comp.lang.ocaml.lib.devel/1866(...)
    La performance mémoire est meilleure puisque l'on utilise des blocs adjacents de taille importante (la version originale utilisait huit blocs adjacents seulement). La performance en caclul est meilleure aussi puisqu'on fait disparaitre la distinction entre liste et tableau!
  • [^] # Re: Lent ?

    Posté par  . En réponse à la dépêche Présentation d'OCaml à Rennes le jeudi 7 avril, 20h, MCE, 48 bd Magenta. Évalué à 3.

    Mais la version en 100 lignes utilise un meilleur algorithme (on passe d'un O(n^3) à O(2 et des poussières)).
    Pour les optimisations algorithmiques, le plus important est d'avoit un langage pratique et concis, pas un langage proche de la machine.
  • [^] # Re: Lent ?

    Posté par  . En réponse à la dépêche Présentation d'OCaml à Rennes le jeudi 7 avril, 20h, MCE, 48 bd Magenta. Évalué à 3.

    Un aspect intéressant (unique?) de OCaml est la distinction entre sous-typage et héritage. D'une part on peut utiliser un point coloré comme point même s'ils ont été définis indépendamment et s'il n'y a pas d'héritage. Ce qui permet d'écrire:
    let print_obj a = Printf.printf "%s\n" a#to_string;;

    D'autre part on peut hériter de classe sans faire un sous-type de ces classes. Par exemple, on peut définir une classe «['a] clonable» avec une méthode clone de type unit -> 'a sans casser le système de types (autre exemple courant: une classe 'comparable').
    En java par example, la méthode est de type 'a -> object, et on est obligé d'utiliser un cast avec vérification dynamique du type et risque d'exception.

    Les deux gros avantages de ce typage entièrement statique, c'est qu'il n'y a pas de coût en perf (comme pour du C avec des cast statiques) et que l'on évite toute une catégorie de bugs (plus sûr que pas de vérification comme en C et qu'une vérification dynamique comme dans Java, python et les langages dynamiques en général).
  • [^] # CPAN?

    Posté par  . En réponse à la dépêche Présentation d'OCaml à Rennes le jeudi 7 avril, 20h, MCE, 48 bd Magenta. Évalué à 2.

    En plus de GODI, il y a la bosse du chameau: http://caml.inria.fr//cgi-bin/hump.fr.cgi(...) .
    Ce site regroupe par type, thème, license quelques centaines de bibliothèques, bindings, applications, extensions du langage avec les mises à jour.

    A noter qu'il est dans la majorité des cas très facile de faire appel à des bibliothèques C: j'ai jeté un ½il aux bindings vorbis, chaque fonction C est enrobée en 5 à 10 lignes triviales pour avoir une fonction caml.
  • # Réponse

    Posté par  . En réponse au journal Brevet Logiciel. Évalué à 8.

    Je ne pouvais pas laisser passer ça, voilà une jolie réponse:

    En réponse à http://www.01net.com/article/272484.html
    Quelques extraits:
    > EN GRAS: La France loin derrière l'Allemagne
    > le quinté gagnant
    > D'une part, la France occupe, certes, un rang honorable.
    > Ce qui démontre l'amélioration de leur compétitivité sur le marché international.
    > EN GRAS: Thomson, le premier Français à la dix-huitième place
    > Aucun autre acteur tricolore ne figure parmi les 50 premiers déposants !
    > En revanche, les autres géants de l'informatique naviguent en milieu de tableau : NEC Corporation (32 e place), HP (33 e ), SAP (41 e ), Microsoft (46 e ) et Cisco (52 e ). _Sans doute un premier argument pour que davantage de moyens financiers soient accordés aux activités de R&D._
    > EN GRAS: Une place honorable pour les TIC

    Non, non et non!
    Cet article relie des faits sans rapport entre eux.
    Tout d'abord, il est impliqué que la France, en soumettant moins de brevets, est à la traîne. A la traîne de quoi? On trouve dans l'article les termes de compétitivité et d'innovation, qui ne sont certainement pas à rapprocher des brevets. Il faut rappeler qu'un brevet empêche, pour 20 ans, la compétition d'accéder à une technologie. Autant pour la compétitivité! Les brevets ne sont pas non plus une preuve d'innovation. Il est en effet beaucoup plus facile et plus juteux de faire breveter une chose triviale qui sera employée partout qu'une réelle innovation; les vraies innovations sont mieux défendues par le secret industriel que par un brevet qui exigerait leur divulgation. Les principes originaux qui voudraient qu'un brevet soit nouveau ne sont pas respectés, pour preuve un brevet sur la roue qui a pu être obtenu sans difficulté.

    La même inexactitude se trouve réitérée à propos des pays comme l'Inde et la Chine qui, parce que leur quantité de brevets augmente, «démontrent l'amélioration de leur compétitivité sur le marché international.»

    Il se trouve en réalité que les brevets représentent un moyen très efficace d'empêcher l'innovation en permettant à une entreprise qui ne produit rien de taxer de façon opportuniste les entreprises qui connaissent le succès. Voyez le cas de la PSP, mais aussi http://answers.google.com/answers/threadview?id=492018 pour plus d'exemples.
    Ils permettent également à des monopoles de maintenir leur place en échangeant leurs portfolios entre eux, échange dont les autres entreprises sont exclues, alors qu'il est inévitable qu'elles violent certains brevets. Ils sont enfin une source de revenus pour des cabinets d'avocats ainsi que les bureaux des brevets, dont les revenus sont proportionels à la quantité de brevets qu'ils acceptent.

    Bref, cet article fait preuve d'une totale absence de réflexion sur les enjeux qui se posent, se contentant de répéter des poncifs et d'aligner des chiffres. Ceci au moment où on tente de rendre brevetables les logiciels en Inde et en Europe.

    Pour un autre regard sur le lien entre innovation et brevets, dans le contexte particulièrement alarmant des brevets logiciels, référez-vous au point de vue de Jean-Pierre Corniou, directeur de la R&D de Renault et président du CIGREF:

    * La brevetabilité des logiciels est une source extrêmement dangereuse du tarissement de l'information. Produire du code ne dépend pas du capital immobilisé, c'est ce qui permet une grande innovation. Il faut préserver la créativité. Si on assèche l'innovation, on va rentrer dans une période de crise durable !
    * Pour moi et pour le CIGREF, la réponse est non, pas de brevetabilité !

    Ce qui prend un certain poids venant de la part du directeur de la R&D d'une entreprise qui n'est pas en reste dans les dépôts de brevets, y compris logiciels!

    Dans l'espérance de ne plus devoir lire de tels articles, mais un journalisme faisant preuve de réflexion et d'investigation,
    .

    Je posterai ça demain, j'espère qu'ils ont une adresse qui lit les messages :/
  • [^] # Re: Des raccourcis «naturels»

    Posté par  . En réponse au message [Terminal] Raccourcis clavier bash. Évalué à 2.

    Il reste toujours Ctrl-W, et aussi Meta-Efface
  • # Des raccourcis «naturels»

    Posté par  . En réponse au message [Terminal] Raccourcis clavier bash. Évalué à 2.

    Pour ceux qui comme moi veulent avoir les mêmes raccourcis claviers que dans leur GNOME/KDE/Windaube/Borland (il me semble que ça vient des éditeurs Borland), voila un initrc qui active les touches Ctrl-Suppr, Ctrl-gauche et Ctrl-droit.
    J'utilse gnome-terminal (qui se comporte comme xterm), avec les options de compatibilté par défaut:
    efface émet suppr ASCII et suppr émet une séquence d'échappement.

    #fragment d'inputrc
    "\e[5C": forward-word
    "\e[5D": backward-word
    "\e[3;5~": kill-word

    Mais la grande question est n'y a-t-il pas moyen d'associer Ctrl-Efface à backward-kill-word, pour pouvoir effacer un mot d'un coup?
    Eh bien je n'ai pas trouvé. Il reste toujours Ctrl-W.

    Pour récupérer les codes d'échappement impossibles des touches, il suffit de faire Ctrl-V, puis la combinaison en question. Pour le cas de Efface et Ctrl-Efface, je ne vois pas de différence, c'est ^? dans les deux cas.